Qwen3-TTS 全系列开源!支持 10 种语言的语音设计与克隆,性能超越商业服务
阿里云千问团队全面开源 Qwen3-TTS 系列模型,支持 10 种语言、语音设计与克隆功能,提供 0.6B 和 1.7B 两种规模,实现超低延迟流式生成,性能媲美商业服务。
本文发布于 239 天前,内容可能已过时,请注意甄别。
2025年1月,阿里云千问团队正式开源 Qwen3-TTS 全系列模型,包括 VoiceDesign(语音设计)、CustomVoice(自定义语音)和 Base(基础)三大变体,提供 0.6B 和 1.7B 两种参数规模,共计 5 个模型,全面覆盖从边缘设备到数据中心的多种部署场景。
核心亮点
1. 全面开源,无需授权费用
Qwen3-TTS 全系列模型完全开源,支持本地部署和定制化开发,消除了商业 API 的按分钟计费成本,为开发者提供企业级文本转语音技术。
2. 10 种语言支持
覆盖中文、英文、日语、韩语、德语、法语、俄语、葡萄牙语、西班牙语和意大利语,并包含多种方言语音配置,满足全球化应用需求。
3. 三大核心功能
- 语音设计(VoiceDesign):基于自然语言描述生成全新语音,无需预定义约束
- 自定义语音(CustomVoice):提供 9 种精选音色,支持指令控制音色、情感和韵律
- 语音克隆(Base):仅需 3 秒参考音频即可快速克隆说话人声音
4. 超低延迟流式生成
采用创新的 Dual-Track 双路径建模架构,实现极致的双向流式生成速度:
- 首包音频等待时间仅相当于一个字符
- 端到端合成延迟低至 97ms
- 满足实时交互场景的严格要求
5. 强大的语音表示能力
- 自研 Qwen3-TTS-Tokenizer-12Hz,实现高效声学压缩和高维语义建模
- 完整保留副语言信息和声学环境特征
- 通过轻量级非 DiT 架构实现高速、高保真语音重建
模型架构与性能
模型列表
| 模型 | 参数量 | 功能特性 | 流式支持 | 指令控制 |
|---|---|---|---|---|
| Qwen3-TTS-12Hz-1.7B-VoiceDesign | 1.7B | 基于描述生成语音 | ✅ | ✅ |
| Qwen3-TTS-12Hz-1.7B-CustomVoice | 1.7B | 9种精选音色 + 指令控制 | ✅ | ✅ |
| Qwen3-TTS-12Hz-1.7B-Base | 1.7B | 3秒快速克隆 + 微调 | ✅ | - |
| Qwen3-TTS-12Hz-0.6B-CustomVoice | 0.6B | 9种精选音色 | ✅ | - |
| Qwen3-TTS-12Hz-0.6B-Base | 0.6B | 3秒快速克隆 + 微调 | ✅ | - |
性能对比
在 Seed-TTS 测试集上的零样本语音生成性能(WER 越低越好):
| 模型 | 中文 WER | 英文 WER |
|---|---|---|
| CosyVoice 3 | 0.71 | 1.45 |
| MiniMax-Speech | 0.83 | 1.65 |
| Qwen3-TTS-12Hz-1.7B-Base | 0.77 | 1.24 |
| Qwen3-TTS-12Hz-0.6B-Base | 0.92 | 1.32 |
| FireRedTTS 2 | 1.14 | 1.95 |
Qwen3-TTS 在内容一致性上表现优异,性能媲美甚至超越商业服务。
快速开始
环境配置
# 创建 Python 3.12 环境
conda create -n qwen3-tts python=3.12 -y
conda activate qwen3-tts
# 安装 qwen-tts 包
pip install -U qwen-tts
# 推荐安装 FlashAttention 2 以减少显存占用
pip install -U flash-attn --no-build-isolation
1. 自定义语音生成(CustomVoice)
import torch
import 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",
)
# 单条推理
wavs, sr = model.generate_custom_voice(
text="其实我真的有发现,我是一个特别善于观察别人情绪的人。",
language="Chinese",
speaker="Vivian",
instruct="用特别愤怒的语气说",
)
sf.write("output_custom_voice.wav", wavs[0], sr)
# 批量推理
wavs, sr = model.generate_custom_voice(
text=[
"其实我真的有发现,我是一个特别善于观察别人情绪的人。",
"She said she would be here by noon."
],
language=["Chinese", "English"],
speaker=["Vivian", "Ryan"],
instruct=["", "Very happy."]
)
支持的 9 种精选音色:
| 音色 | 描述 | 母语 |
|---|---|---|
| Vivian | 明亮、略带锐利的年轻女声 | 中文 |
| Serena | 温暖、温柔的年轻女声 | 中文 |
| Uncle_Fu | 成熟男声,低沉圆润 | 中文 |
| Dylan | 年轻的北京男声,清晰自然 | 中文(北京话) |
| Eric | 活泼的成都男声,略带沙哑 | 中文(四川话) |
| Ryan | 动感男声,节奏感强 | 英文 |
| Aiden | 阳光美式男声,中音清晰 | 英文 |
| Ono_Anna | 俏皮日本女声,轻盈灵动 | 日语 |
| Sohee | 温暖韩国女声,情感丰富 | 韩语 |
2. 语音设计(VoiceDesign)
import torch
import soundfile as sf
from qwen_tts import Qwen3TTSModel
model = Qwen3TTSModel.from_pretrained(
"Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign",
device_map="cuda:0",
dtype=torch.bfloat16,
attn_implementation="flash_attention_2",
)
wavs, sr = model.generate_voice_design(
text="哥哥,你回来啦,人家等了你好久好久了,要抱抱!",
language="Chinese",
instruct="体现撒娇稚嫩的萝莉女声,音调偏高且起伏明显,营造出黏人、做作又刻意卖萌的听觉效果。",
)
sf.write("output_voice_design.wav", wavs[0], sr)
3. 语音克隆(Base)
import torch
import soundfile as sf
from qwen_tts import Qwen3TTSModel
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. I respect you. But you know what? You blew it! And thanks to you."
wavs, sr = model.generate_voice_clone(
text="I am solving the equation: x = [-b ± √(b²-4ac)] / 2a? Nobody can — it's a disaster (◍•͈⌔•͈◍), very sad!",
language="English",
ref_audio=ref_audio,
ref_text=ref_text,
)
sf.write("output_voice_clone.wav", wavs[0], sr)
4. 启动本地 Web UI
# CustomVoice 模型
qwen-tts-demo Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice --ip 0.0.0.0 --port 8000
# VoiceDesign 模型
qwen-tts-demo Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign --ip 0.0.0.0 --port 8000
# Base 模型
qwen-tts-demo Qwen/Qwen3-TTS-12Hz-1.7B-Base --ip 0.0.0.0 --port 8000
然后访问 http://<your-ip>:8000 即可体验。
vLLM 支持
vLLM 官方提供 day-0 支持!可使用 vLLM-Omni 进行部署和推理:
# 克隆 vLLM-Omni 仓库
git clone https://github.com/vllm-project/vllm-omni.git
cd vllm-omni/examples/offline_inference/qwen3_tts
# CustomVoice 任务单样本推理
python end2end.py --query-type CustomVoice
# CustomVoice 任务批量推理
python end2end.py --query-type CustomVoice --use-batch-sample
# VoiceDesign 任务推理
python end2end.py --query-type VoiceDesign
# Base 模型 ICL 模式推理
python end2end.py --query-type Base --mode-tag icl
DashScope API 服务
除了开源模型,阿里云还提供 DashScope API 服务,提供更快速、更高效的体验:
- 实时 API(CustomVoice):中国大陆文档 | 国际文档
- 实时 API(VoiceClone):中国大陆文档 | 国际文档
- 实时 API(VoiceDesign):中国大陆文档 | 国际文档
应用场景
- 教育与文化传承:支持方言数字化,助力语言学习和文化保护
- 内容创作:为短视频、游戏、有声读物提供高质量配音
- 智能交互:优化客服、语音助手、无障碍服务
- 跨语言应用:多语言支持满足全球化产品需求
- 个性化服务:通过语音克隆和设计创建独特的品牌声音
技术优势
通用端到端架构
采用离散多码本 LM 架构,实现全信息端到端语音建模,完全绕过传统 LM+DiT 方案的信息瓶颈和级联错误,显著提升模型通用性、生成效率和性能上限。
智能文本理解与语音控制
支持自然语言指令驱动的语音生成,灵活控制音色、情感、韵律等多维声学属性。通过深度整合文本语义理解,模型自适应调整语调、节奏和情感表达,实现”所想即所听”的逼真输出。
强大的鲁棒性
对噪声输入文本表现出显著改善的鲁棒性,能够智能处理复杂文本,自动适应语调和流畅度。
总结
Qwen3-TTS 的全面开源标志着企业级文本转语音技术的民主化,通过提供与商业竞争对手相当或超越的质量,同时消除按分钟计费的 API 成本,为开发者提供了前所未有的灵活性。双模型规模(0.6B 和 1.7B)支持从边缘设备到数据中心的灵活部署,10 种语言支持和流式架构使其成为多语言应用的理想选择。
相关链接:
- GitHub 仓库:https://github.com/QwenLM/Qwen3-TTS
- Hugging Face 模型:https://huggingface.co/Qwen
- ModelScope 模型:https://modelscope.cn/organization/Qwen
更多文章