Qwen3‑TTS:快速、开源流式 TTS
Qwen3-TTS:快速、开源流式 TTS
阿里巴巴的 Qwen3-TTS 是一套尖端的开源文本转语音(TTS)方案,它将高保真低延迟合成与灵活的声音控制相结合。基于轻量级的离散多码本 LM 架构,Qwen3-TTS 能够在 10 种语言(中文、英语、日语、韩语、德语、法语、俄语、葡萄牙语、西班牙语和意大利语)中实现富有表现力且流式的语音生成,并支持自定义语音克隆、语音设计和自然语言指令。
什么让 Qwen3-TTS 与众不同?
| Feature | Description |
|---|---|
| 超低延迟 | 双轨流式让模型在单个字符后即可输出第一份音频包。端到端延迟可低至 97 ms |
| 自由形式的语音设计 | 使用文本指令(例如 “以紧张语气说话”)生成匹配期望人物设定的声音,而无需额外的训练数据 |
| 高效克隆 | 用短音频片段在 3 秒 内克隆目标声音,生成保持说话者身份的高质量合成语音 |
| 多语言覆盖 | 10 种语言及多种方言,具备强大的语境理解 |
| 开源与 Hugging Face 集成 | 在 GitHub 发布,提供公开 PyPI 包、Hugging Face Hub 以及可直接运行的 Gradio 演示 |
| 轻量级部署 | 在单块 NVIDIA GPU 上使用 FlashAttention 2 即可运行;不需要特殊硬件 |
这些功能使 Qwen3-TTS 成为实时应用的理想选择,例如聊天机器人、虚拟助手、有声读物和语言学习工具。
仓库亮点
- 模型 – 基础、定制语音和语音设计的 0.6 B、1.7 B 变体;每个模型都是自包含的 PyTorch 模型。
- 分词器 –
Qwen3-TTS-Tokenizer-12Hz提供高效的声学压缩(12 Hz 码本)和高维语义映射。 - 文档 – 全面的 README,包含架构图、评估表格,以及大量代码示例。
- 演示 – Gradio 本地 UI(
qwen-tts-demo)用于快速原型开发。
快速启动指南
以下是一个最小示例,演示如何安装 qwen-tts 包、加载自定义语音模型,并生成一句带有生动语音指令的中文句子。
# 1. 创建一个干净的环境
conda create -n qwen3-tts python=3.12 -y
conda activate qwen3-tts
# 2. 安装库和可选 FlashAttention
pip install -U qwen-tts
pip install -U flash-attn --no-build-isolation
# 3. 运行一个简单的生成脚本
python - <<'PY'
import torch, soundfile as sf
from qwen_tts import Qwen3TTSModel
model = Qwen3TTSModel.from_pretrained(
'Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice',
device_map='cuda:0',
dtype=torch.bfloat16,
attn_implementation='flash_attention_2',
)
wav, sr = model.generate_custom_voice(
text='其实我真的有发现,我是一个特别善于观察别人情绪的人。',
language='Chinese',
speaker='Vivian',
instruct='用特别愤怒的语气说',
)
sf.write('output.wav', wav[0], sr)
print('Saved to output.wav')
PY
output.wav 文件包含高质量、极度愤怒的声音,由虚构人物 Vivian 朗读。此示例展示了基于指令的声音控制的强大。
语音克隆实战
从短片段克隆语音,并在几秒钟内生成新内容:
from qwen_tts import Qwen3TTSModel
import torch
model = Qwen3TTSModel.from_pretrained(
'Qwen/Qwen3-TTS-12Hz-1.7B-Base',
device_map='cuda:0',
dtype=torch.bfloat16,
attn_implementation='flash_attention_2',
)
ref_audio = 'https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen3-TTS-Repo/clone.wav'
ref_text = 'Okay. Yeah. I resent you. I love you.'
wav, sr = model.generate_voice_clone(
text='We will test the quality of this cloned voice.',
language='English',
ref_audio=ref_audio,
ref_text=ref_text,
)
import soundfile as sf
sf.write('clone_output.wav', wav[0], sr)
结果是一个无缝的合成语音,保留了目标说话者的音色和韵律。
模型选择速查表
| 模型 | 尺寸 | 基础/定制/设计 | 流式 | 指令控制 |
|---|---|---|---|---|
Qwen3-TTS-12Hz-0.6B-Base |
0.6 B | 基础(克隆) | ✅ | ✅ |
Qwen3-TTS-12Hz-1.7B-CustomVoice |
1.7 B | 定制 | ✅ | ✅ |
Qwen3-TTS-12Hz-1.7B-VoiceDesign |
1.7 B | 设计 | ✅ | ✅ |
所有模型都公开可在 Hugging Face Hub 获取,并可通过 qwen-tts PyPI 包下载。
微调与评估
Qwen3-TTS 支持使用自定义数据集进行监督微调。finetuning/prepare_data.py 脚本演示了如何格式化数据,Qwen3TTSModel 可以通过标准的 PyTorch 训练循环重新训练。评估指标包括 WER(词误差率)、余弦相似度(用于评估说话者相似度)以及 混合错误率(用于跨语言测试)。仓库中的 eval.py 脚本可复现 Qwen3-TTS 技术报告中的基准测试。
部署方案
| 平台 | 部署方式 |
|---|---|
| 本地 GPU | qwen-tts-demo Gradio UI – qwen-tts-demo Qwen/Qwen3-TTS-12Hz-1.7B-Base |
| 云(DashScope) | 使用阿里云 DashScope 实时 API,支持自定义语音与语音克隆端点 |
| Edge | 离线推理使用 vLLM-Omni – 支持离线、单模型推理,最低 RAM |
对于 Base 模型的安全部署,请在 Gradio 演示中启用 HTTPS,可使用自签名证书或受信任的 CA。
实际使用案例
- 会话代理 – 将 Qwen3-TTS 与聊天机器人后端集成,生成引人入胜且针对说话者定制的响应。
- 有声读物生成 – 克隆叙述者的声音,实现数百万页内容的一致旁白。
- 无障碍功能 – 生成多语言语音说明,为视障用户保留语调与情感。
- 多语言语音助手 – 使用该 10 语言模型,以单一后端实现全球覆盖。
加入我们
Qwen3-TTS 社区欢迎贡献: - Bug 报告 – GitHub Issues - 功能请求 – GitHub Discussions - Pull 请求 – 新增说话者档案、语言或提升性能 - 数据集分享 – 提供自定义音频-文本对,用于微调
该模型以 Apache-2.0 许可证发布,支持商业与学术使用。
小结
阿里巴巴的 Qwen3-TTS 提供功能丰富、低延迟、开源的 TTS 堆栈,支持先进的语音克隆、指令驱动语音设计和多语言合成。凭借简易安装、实时流式和强大的评估结果,已准备好让开发者快速原型、迭代并部署高保真语音解决方案。试试演示或从 Hugging Face 下载模型,开始打造明日的语音技术。