#!/usr/bin/env python3 """Test TTS on G1 built-in speaker — Arabic, English, Chinese.""" import sys import time from unitree_sdk2py.core.channel import ChannelFactoryInitialize from unitree_sdk2py.g1.audio.g1_audio_client import AudioClient if len(sys.argv) < 2: print(f"Usage: python3 {sys.argv[0]} ") print(f" e.g. python3 {sys.argv[0]} eth0") sys.exit(1) ChannelFactoryInitialize(0, sys.argv[1]) c = AudioClient() c.SetTimeout(10.0) c.Init() c.SetVolume(100) tests = [ ("English", 0, "Hello, I am the Unitree G1 robot. Welcome to Lootah."), ("English", 0, "How are you today? I hope you are doing well."), ("Chinese", 0, "你好,我是宇树科技的人形机器人。欢迎光临。"), ("Arabic", 0, "مرحبا، أنا الروبوت يونيتري جي وان. أهلا وسهلا بكم."), ("Arabic", 0, "كيف حالك اليوم؟ أتمنى أن تكون بخير."), ("English", 0, "Testing numbers: one, two, three, four, five."), ("Arabic", 0, "واحد، اثنان، ثلاثة، أربعة، خمسة."), ] for lang, speaker_id, text in tests: print(f"\n[{lang}] speaker_id={speaker_id}") print(f" Text: {text}") code = c.TtsMaker(text, speaker_id) print(f" Return code: {code}") # Wait proportional to text length wait = max(3, len(text) * 0.08) print(f" Waiting {wait:.1f}s...") time.sleep(wait) # Try different speaker IDs for English print("\n--- Testing different speaker IDs ---") for sid in [0, 1, 2]: text = "Hello, testing speaker ID." print(f"\n speaker_id={sid}: '{text}'") code = c.TtsMaker(text, sid) print(f" code={code}") time.sleep(4) print("\nDone. Which languages did you hear?")