StableLearn Logo

搜索内容

News 9 min read

Qwen3-TTS 全系列开源!支持 10 种语言的语音设计与克隆,性能超越商业服务

阿里云千问团队全面开源 Qwen3-TTS 系列模型,支持 10 种语言、语音设计与克隆功能,提供 0.6B 和 1.7B 两种规模,实现超低延迟流式生成,性能媲美商业服务。

Cover image for Qwen3-TTS 全系列开源!支持 10 种语言的语音设计与克隆,性能超越商业服务

本文发布于 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-VoiceDesign1.7B基于描述生成语音✅✅
Qwen3-TTS-12Hz-1.7B-CustomVoice1.7B9种精选音色 + 指令控制✅✅
Qwen3-TTS-12Hz-1.7B-Base1.7B3秒快速克隆 + 微调✅-
Qwen3-TTS-12Hz-0.6B-CustomVoice0.6B9种精选音色✅-
Qwen3-TTS-12Hz-0.6B-Base0.6B3秒快速克隆 + 微调✅-

性能对比

在 Seed-TTS 测试集上的零样本语音生成性能(WER 越低越好):

模型中文 WER英文 WER
CosyVoice 30.711.45
MiniMax-Speech0.831.65
Qwen3-TTS-12Hz-1.7B-Base0.771.24
Qwen3-TTS-12Hz-0.6B-Base0.921.32
FireRedTTS 21.141.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 服务,提供更快速、更高效的体验:

应用场景

  1. 教育与文化传承:支持方言数字化,助力语言学习和文化保护
  2. 内容创作:为短视频、游戏、有声读物提供高质量配音
  3. 智能交互:优化客服、语音助手、无障碍服务
  4. 跨语言应用:多语言支持满足全球化产品需求
  5. 个性化服务:通过语音克隆和设计创建独特的品牌声音

技术优势

通用端到端架构

采用离散多码本 LM 架构,实现全信息端到端语音建模,完全绕过传统 LM+DiT 方案的信息瓶颈和级联错误,显著提升模型通用性、生成效率和性能上限。

智能文本理解与语音控制

支持自然语言指令驱动的语音生成,灵活控制音色、情感、韵律等多维声学属性。通过深度整合文本语义理解,模型自适应调整语调、节奏和情感表达,实现”所想即所听”的逼真输出。

强大的鲁棒性

对噪声输入文本表现出显著改善的鲁棒性,能够智能处理复杂文本,自动适应语调和流畅度。

总结

Qwen3-TTS 的全面开源标志着企业级文本转语音技术的民主化,通过提供与商业竞争对手相当或超越的质量,同时消除按分钟计费的 API 成本,为开发者提供了前所未有的灵活性。双模型规模(0.6B 和 1.7B)支持从边缘设备到数据中心的灵活部署,10 种语言支持和流式架构使其成为多语言应用的理想选择。

相关链接:

分享文章

更多文章