| name | tts-voice |
| description | Convert text to natural speech audio. Uses Edge-TTS (free) or OpenAI TTS. Excellent Chinese voice support. |
| version | 1.0.0 |
| metadata | {"echo":{"tags":["TTS","Voice","Audio","Speech","Media"]}} |
TTS Voice
Text-to-Speech with natural Chinese voices.
Edge-TTS (Free, Recommended)
pip install edge-tts
CLI
edge-tts --voice zh-CN-XiaoxiaoNeural --text "今天天气不错" --write-media /tmp/output.mp3
edge-tts --list-voices | grep zh-CN
Python
import edge_tts, asyncio
async def speak(text, voice="zh-CN-XiaoxiaoNeural", output="output.mp3"):
communicate = edge_tts.Communicate(text, voice)
await communicate.save(output)
asyncio.run(speak("欢迎使用 Echo Agent"))
Chinese Voices
| Voice ID | Style |
|---|
| zh-CN-XiaoxiaoNeural | 女声,活泼自然 |
| zh-CN-YunxiNeural | 男声,温和 |
| zh-CN-YunyangNeural | 男声,新闻播报 |
| zh-CN-XiaoyiNeural | 女声,温柔 |
| zh-CN-liaoning-XiaobeiNeural | 东北方言 |
| zh-TW-HsiaoChenNeural | 台湾女声 |
OpenAI TTS (Alternative)
Requires OPENAI_API_KEY:
from openai import OpenAI
client = OpenAI()
response = client.audio.speech.create(
model="tts-1",
voice="alloy",
input="Hello world"
)
response.stream_to_file("output.mp3")
Script
python3 scripts/text_to_speech.py "你好世界"
python3 scripts/text_to_speech.py "长文本内容..." --voice zh-CN-YunxiNeural -o briefing.mp3
python3 scripts/text_to_speech.py --list-voices zh
Long Text Handling
Edge-TTS handles long text automatically. For very long content (>5000 chars), the script splits into chunks and concatenates audio files.
Use Cases
- Morning briefing audio via voice channel
- Article read-aloud
- Voice notification delivery
- Language learning pronunciation