OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  qwen-tts:使用 Qwen3-TTS 定制语音的本地文本转语音

qwen-tts:使用 Qwen3-TTS 定制语音的本地文本转语音

 
  patch ·  2026-02-06 01:16:15 · 3 次点击  · 0 条评论  

名称: qwen-tts
描述: 使用 Qwen3-TTS-12Hz-1.7B-CustomVoice 进行本地文本转语音。适用于从文本生成音频、创建语音消息或需要 TTS 功能的场景。支持包括意大利语在内的 10 种语言、9 种优质发音人音色,以及基于指令的语音控制(情感、语调、风格)。可作为 ElevenLabs 等云端 TTS 服务的替代方案。首次下载模型后完全离线运行。


Qwen 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 集成

脚本会将音频文件路径输出到标准输出(最后一行),使其兼容 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

性能

  • GPU (CUDA): 短句约 1-3 秒
  • CPU: 短句约 10-30 秒
  • 模型大小: 约 1.7GB(首次运行时自动下载)
  • 虚拟环境大小: 约 500MB(安装的依赖项)

故障排除

安装失败:

# 确保 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

模型详情

  • 模型: Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice
  • 来源: Hugging Face (https://huggingface.co/Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice)
  • 许可证: 请查看模型卡片了解当前许可证条款
  • 采样率: 16kHz
  • 输出格式: WAV(未压缩)
3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor