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 下载模型,开始打造明日的语音技术。

原创文章: 查看原文

分享本文