名称: qwen-tts
描述: 使用 Qwen3-TTS-12Hz-1.7B-CustomVoice 进行本地文本转语音。适用于从文本生成音频、创建语音消息或需要 TTS 功能的场景。支持包括意大利语在内的 10 种语言、9 种优质发音人音色,以及基于指令的语音控制(情感、语调、风格)。可作为 ElevenLabs 等云端 TTS 服务的替代方案。首次下载模型后完全离线运行。
使用 Hugging Face 的 Qwen3-TTS-12Hz-1.7B-CustomVoice 模型进行本地文本转语音。
从文本生成语音:
scripts/tts.py "Ciao, come va?" -l Italian -o output.wav
使用语音指令(情感/风格):
scripts/tts.py "Sono felice!" -i "Parla con entusiasmo" -l Italian -o happy.wav
选择不同发音人:
scripts/tts.py "Hello world" -s Ryan -l English -o hello.wav
首次设置(一次性操作):
cd skills/public/qwen-tts
bash scripts/setup.sh
此命令将创建本地虚拟环境并安装 qwen-tts 包(约 500MB)。
注意: 首次合成语音时会自动从 Hugging Face 下载约 1.7GB 的模型文件。
scripts/tts.py [选项] "要朗读的文本"
-o, --output 路径 - 输出文件路径(默认:qwen_output.wav)-s, --speaker 名称 - 发音人音色(默认:Vivian)-l, --language 语言 - 语言(默认:自动检测)-i, --instruct 文本 - 语音指令(情感、风格、语调)--list-speakers - 显示可用的发音人--model 名称 - 模型名称(默认:CustomVoice 1.7B)基础意大利语语音:
scripts/tts.py "Benvenuto nel futuro del text-to-speech" -l Italian -o welcome.wav
带情感/指令:
scripts/tts.py "Sono molto felice di vederti!" -i "Parla con entusiasmo e gioia" -l Italian -o happy.wav
不同发音人:
scripts/tts.py "Hello, nice to meet you" -s Ryan -l English -o ryan.wav
列出可用发音人:
scripts/tts.py --list-speakers
CustomVoice 模型包含 9 种优质音色:
| 发音人 | 语言 | 描述 |
|---|---|---|
| Vivian | 中文 | 明亮、略带锋芒的年轻女声 |
| Serena | 中文 | 温暖、温柔的年轻女声 |
| Uncle_Fu | 中文 | 沉稳男声,低沉醇厚 |
| Dylan | 中文(北京) | 年轻北京男声,清晰 |
| Eric | 中文(四川) | 活泼成都男声,略带沙哑 |
| Ryan | 英文 | 富有活力的男声,节奏感强 |
| Aiden | 英文 | 阳光的美国男声 |
| Ono_Anna | 日文 | 俏皮女声,轻快灵动 |
| Sohee | 韩文 | 温暖女声,情感丰富 |
建议: 为获得最佳质量,请使用各发音人的母语。不过,所有发音人均支持全部 10 种语言(中文、英文、日文、韩文、德文、法文、俄文、葡萄牙文、西班牙文、意大利文)。
使用 -i, --instruct 选项控制情感、语调和风格:
意大利语示例:
- "Parla con entusiasmo"(热情地说话)
- "Tono serio e professionale"(严肃专业的语调)
- "Voce calma e rilassante"(平静放松的声音)
- "Leggi come un narratore"(像旁白一样朗读)
英语示例:
- "Speak with excitement"(兴奋地说话)
- "Very happy and energetic"(非常快乐且充满活力)
- "Calm and soothing voice"(平静舒缓的声音)
- "Read like a narrator"(像旁白一样朗读)
脚本会将音频文件路径输出到标准输出(最后一行),使其兼容 OpenClaw 的 TTS 工作流:
# OpenClaw 捕获输出路径
cd skills/public/qwen-tts
OUTPUT=$(scripts/tts.py "Ciao" -s Vivian -l Italian -o /tmp/audio.wav 2>/dev/null)
# OUTPUT = /tmp/audio.wav
安装失败:
# 确保 Python 3.10-3.12 可用
python3.12 --version
# 重新运行安装
cd skills/public/qwen-tts
rm -rf venv
bash scripts/setup.sh
模型下载缓慢/失败:
# 使用镜像(中国大陆)
export HF_ENDPOINT=https://hf-mirror.com
scripts/tts.py "Test" -o test.wav
内存不足(GPU):
如果 GPU 内存不足,模型会自动回退到 CPU 运行。
音频质量问题:
- 尝试不同发音人:--list-speakers
- 添加指令:-i "Speak clearly and slowly"(清晰缓慢地说话)
- 检查语言与文本匹配:意大利语文本使用 -l Italian