o
openharmony-models/Qwen3-TTS-12Hz-1.7B-CustomVoice
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

Qwen3-TTS

概述

简介

Qwen3-TTS覆盖中文、英文、日文、韩文、德文、法文、俄文、葡萄牙文、西班牙文和意大利文等10大语种,并提供多套方言语音配置文件以满足全球化应用需求。此外,该模型具备卓越的上下文理解能力,可根据指令与文本语义实现语调、语速及情感表达的自适应控制,同时其对含噪输入文本的鲁棒性实现显著提升。核心特性包括:

  • 强大的语音表征能力:依托自研的Qwen3-TTS-Tokenizer-12Hz,实现语音信号的高效声学压缩与高维语义建模。完整保留副语言信息与声学环境特征,通过轻量级非DiT架构达成高速、高保真语音重建。
  • 通用端到端架构:采用离散多码本LM架构,实现全信息端到端语音建模。彻底规避传统LM+DiT方案固有的信息瓶颈与级联错误,显著提升模型的通用性、生成效率及性能上限。
  • 极致低延迟流式生成:基于创新的Dual-Track混合流式生成架构,单模型同时支持流式与非流式生成。输入单个字符即可立即输出首包音频,端到端合成延迟低至97ms,满足实时交互场景的严苛需求。
  • 智能文本理解与语音控制:支持自然语言指令驱动的语音生成,可灵活控制音色、情感、韵律等多维度声学属性。通过深度融合文本语义理解,模型自适应调整语气、节奏与情感表达,实现“所想即所听”的拟真输出。

模型架构

已发布模型说明与下载

以下是已发布的Qwen3-TTS模型介绍及下载信息。技术报告中提及的其他模型将在近期陆续发布。请根据您的需求选择并下载相应模型。

分词器名称描述
Qwen3-TTS-Tokenizer-12HzQwen3-TTS-Tokenizer-12Hz模型能够将输入语音编码为码本,并将码本解码回语音。
模型特点语言支持流式合成指令控制
Qwen3-TTS-12Hz-1.7B-VoiceDesign可根据用户提供的描述进行语音设计。中文、英文、日文、韩文、德文、法文、俄文、葡萄牙文、西班牙文、意大利文✅✅
Qwen3-TTS-12Hz-1.7B-CustomVoice通过用户指令对目标音色进行风格控制;支持9种优质音色,涵盖性别、年龄、语言及方言的多种组合。中文、英文、日文、韩文、德文、法文、俄文、葡萄牙文、西班牙文、意大利文✅✅
Qwen3-TTS-12Hz-1.7B-Base基础模型,支持通过用户音频输入实现3秒快速语音克隆;可用于其他模型的微调(FT)。中文、英文、日文、韩文、德文、法文、俄文、葡萄牙文、西班牙文、意大利文✅
Qwen3-TTS-12Hz-0.6B-CustomVoice支持9种优质音色,涵盖性别、年龄、语言及方言的多种组合。中文、英文、日文、韩文、德文、法文、俄文、葡萄牙文、西班牙文、意大利文✅
Qwen3-TTS-12Hz-0.6B-Base基础模型,支持通过用户音频输入实现3秒快速语音克隆;可用于其他模型的微调(FT)。中文、英文、日文、韩文、德文、法文、俄文、葡萄牙文、西班牙文、意大利文✅

在qwen-tts包或vLLM中加载模型时,会根据模型名称自动下载模型权重。但如果您的运行环境不利于在执行过程中下载权重,可以参考以下命令手动将模型权重下载到本地目录:

# Download through ModelScope (recommended for users in Mainland China)
pip install -U modelscope
modelscope download --model Qwen/Qwen3-TTS-Tokenizer-12Hz  --local_dir ./Qwen3-TTS-Tokenizer-12Hz 
modelscope download --model Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice --local_dir ./Qwen3-TTS-12Hz-1.7B-CustomVoice
modelscope download --model Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign --local_dir ./Qwen3-TTS-12Hz-1.7B-VoiceDesign
modelscope download --model Qwen/Qwen3-TTS-12Hz-1.7B-Base --local_dir ./Qwen3-TTS-12Hz-1.7B-Base
modelscope download --model Qwen/Qwen3-TTS-12Hz-0.6B-CustomVoice --local_dir ./Qwen3-TTS-12Hz-0.6B-CustomVoice
modelscope download --model Qwen/Qwen3-TTS-12Hz-0.6B-Base --local_dir ./Qwen3-TTS-12Hz-0.6B-Base

# Download through Hugging Face
pip install -U "huggingface_hub[cli]"
huggingface-cli download Qwen/Qwen3-TTS-Tokenizer-12Hz --local-dir ./Qwen3-TTS-Tokenizer-12Hz
huggingface-cli download Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice --local-dir ./Qwen3-TTS-12Hz-1.7B-CustomVoice
huggingface-cli download Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign --local-dir ./Qwen3-TTS-12Hz-1.7B-VoiceDesign
huggingface-cli download Qwen/Qwen3-TTS-12Hz-1.7B-Base --local-dir ./Qwen3-TTS-12Hz-1.7B-Base
huggingface-cli download Qwen/Qwen3-TTS-12Hz-0.6B-CustomVoice --local-dir ./Qwen3-TTS-12Hz-0.6B-CustomVoice
huggingface-cli download Qwen/Qwen3-TTS-12Hz-0.6B-Base --local-dir ./Qwen3-TTS-12Hz-0.6B-Base

快速入门

环境搭建

快速使用Qwen3-TTS的最简单方法是通过PyPI安装qwen-tts Python包。这将自动拉取所需的运行时依赖项,并允许您加载任何已发布的Qwen3-TTS模型。我们建议使用全新的隔离环境,以避免与现有软件包发生依赖冲突。您可以按照以下方式创建一个干净的Python 3.12环境:

conda create -n qwen3-tts python=3.12 -y
conda activate qwen3-tts

然后运行:

pip install -U qwen-tts

若您希望在本地开发或修改代码,请以可编辑模式从源代码进行安装。

git clone https://github.com/QwenLM/Qwen3-TTS.git
cd Qwen3-TTS
pip install -e .

此外,我们建议使用 FlashAttention 2 以减少 GPU 内存占用。

pip install -U flash-attn --no-build-isolation

如果您的机器内存小于96GB且拥有多个CPU核心,请运行:

MAX_JOBS=4 pip install -U flash-attn --no-build-isolation

此外,您的硬件需兼容 FlashAttention 2。有关更多信息,请参阅 FlashAttention 仓库 的官方文档。仅当模型以 torch.float16 或 torch.bfloat16 精度加载时,FlashAttention 2 才能使用。

Python 包使用方法

安装完成后,您可以导入 Qwen3TTSModel 来运行自定义语音 TTS、语音设计和语音克隆功能。模型权重可以指定为 Hugging Face 模型 ID(推荐),也可以指定为您下载的本地目录路径。对于以下所有 generate_* 函数,除了所示并明确记录的参数外,您还可以传递 Hugging Face Transformers model.generate 支持的生成参数,例如 max_new_tokens、top_p 等。

自定义语音生成

对于自定义语音模型(Qwen3-TTS-12Hz-1.7B/0.6B-CustomVoice),您只需调用 generate_custom_voice,传入单个字符串或批量列表,以及 language、speaker 和可选的 instruct 参数即可。您还可以调用 model.get_supported_speakers() 和 model.get_supported_languages() 来查看当前模型支持哪些发言人和语言。

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",
)

# single inference
wavs, sr = model.generate_custom_voice(
    text="其实我真的有发现,我是一个特别善于观察别人情绪的人。",
    language="Chinese", # Pass `Auto` (or omit) for auto language adaptive; if the target language is known, set it explicitly.
    speaker="Vivian",
    instruct="用特别愤怒的语气说", # Omit if not needed.
)
sf.write("output_custom_voice.wav", wavs[0], sr)

# batch inference
wavs, sr = model.generate_custom_voice(
    text=[
        "其实我真的有发现,我是一个特别善于观察别人情绪的人。", 
        "She said she would be here by noon."
    ],
    language=["Chinese", "English"],
    speaker=["Vivian", "Ryan"],
    instruct=["", "Very happy."]
)
sf.write("output_custom_voice_1.wav", wavs[0], sr)
sf.write("output_custom_voice_2.wav", wavs[1], sr)

对于Qwen3-TTS-12Hz-1.7B/0.6B-CustomVoice模型,以下提供支持的发音人列表及发音人描述。为获得最佳效果,建议使用各发音人的母语。当然,每个发音人也可以说模型支持的任何语言。

发音人语音描述母语
Vivian明快、略带锋芒的年轻女声Chinese
Serena温暖、温柔的年轻女声Chinese
Uncle_Fu成熟男声,音色低沉醇厚Chinese
Dylan年轻北京男声,音色清晰自然Chinese (Beijing Dialect)
Eric活泼成都男声,略带沙哑的明亮Chinese (Sichuan Dialect)
Ryan充满活力的男声,节奏感强English
Aiden阳光的美式男声,中音清晰English
Ono_Anna俏皮的日本女声,音色轻盈灵动Japanese
Sohee温暖的韩国女声,情感丰富Korean

语音设计

对于语音设计模型(Qwen3-TTS-12Hz-1.7B-VoiceDesign),您可以使用generate_voice_design来提供目标文本和自然语言的instruct描述。

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",
)

# single inference
wavs, sr = model.generate_voice_design(
    text="哥哥,你回来啦,人家等了你好久好久了,要抱抱!",
    language="Chinese",
    instruct="体现撒娇稚嫩的萝莉女声,音调偏高且起伏明显,营造出黏人、做作又刻意卖萌的听觉效果。",
)
sf.write("output_voice_design.wav", wavs[0], sr)

# batch inference
wavs, sr = model.generate_voice_design(
    text=[
      "哥哥,你回来啦,人家等了你好久好久了,要抱抱!",
      "It's in the top drawer... wait, it's empty? No way, that's impossible! I'm sure I put it there!"
    ],
    language=["Chinese", "English"],
    instruct=[
      "体现撒娇稚嫩的萝莉女声,音调偏高且起伏明显,营造出黏人、做作又刻意卖萌的听觉效果。",
      "Speak in an incredulous tone, but with a hint of panic beginning to creep into your voice."
    ]
)
sf.write("output_voice_design_1.wav", wavs[0], sr)
sf.write("output_voice_design_2.wav", wavs[1], sr)

语音克隆

对于语音克隆模型(Qwen3-TTS-12Hz-1.7B/0.6B-Base),若要克隆语音并合成新内容,只需提供参考音频片段(ref_audio)及其转录文本(ref_text)。ref_audio可以是本地文件路径、URL、base64字符串,或(numpy_array, sample_rate)元组。若设置x_vector_only_mode=True,则仅使用说话人嵌入,因此无需ref_text,但克隆质量可能会下降。

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)

如果您需要在多次生成中重复使用相同的参考提示词(以避免重复计算提示词特征),请先通过 create_voice_clone_prompt 创建一次,然后通过 voice_clone_prompt 参数传入。

prompt_items = model.create_voice_clone_prompt(
    ref_audio=ref_audio,
    ref_text=ref_text,
    x_vector_only_mode=False,
)
wavs, sr = model.generate_voice_clone(
    text=["Sentence A.", "Sentence B."],
    language=["English", "English"],
    voice_clone_prompt=prompt_items,
)
sf.write("output_voice_clone_1.wav", wavs[0], sr)
sf.write("output_voice_clone_2.wav", wavs[1], sr)

有关可复用的声音克隆提示词、批量克隆及批量推理的更多示例,请参考示例代码。借助这些示例以及generate_voice_clone函数说明,您可以探索更多高级使用模式。

先设计声音再克隆

如果您希望获得一个可像克隆说话人一样复用的定制声音,一个实用的工作流程是:(1) 使用VoiceDesign模型合成一段符合目标人物设定的短参考音频,(2) 将该音频输入create_voice_clone_prompt以构建可复用的提示词,然后 (3) 调用generate_voice_clone并传入voice_clone_prompt来生成新内容,无需每次重新提取特征。当您需要在多个语句中保持一致的角色声音时,此方法尤为有用。

import torch
import soundfile as sf
from qwen_tts import Qwen3TTSModel

# create a reference audio in the target style using the VoiceDesign model
design_model = Qwen3TTSModel.from_pretrained(
    "Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign",
    device_map="cuda:0",
    dtype=torch.bfloat16,
    attn_implementation="flash_attention_2",
)

ref_text = "H-hey! You dropped your... uh... calculus notebook? I mean, I think it's yours? Maybe?"
ref_instruct = "Male, 17 years old, tenor range, gaining confidence - deeper breath support now, though vowels still tighten when nervous"
ref_wavs, sr = design_model.generate_voice_design(
    text=ref_text,
    language="English",
    instruct=ref_instruct
)
sf.write("voice_design_reference.wav", ref_wavs[0], sr)

# build a reusable clone prompt from the voice design reference
clone_model = Qwen3TTSModel.from_pretrained(
    "Qwen/Qwen3-TTS-12Hz-1.7B-Base",
    device_map="cuda:0",
    dtype=torch.bfloat16,
    attn_implementation="flash_attention_2",
)

voice_clone_prompt = clone_model.create_voice_clone_prompt(
    ref_audio=(ref_wavs[0], sr),   # or "voice_design_reference.wav"
    ref_text=ref_text,
)

sentences = [
    "No problem! I actually... kinda finished those already? If you want to compare answers or something...",
    "What? No! I mean yes but not like... I just think you're... your titration technique is really precise!",
]

# reuse it for multiple single calls
wavs, sr = clone_model.generate_voice_clone(
    text=sentences[0],
    language="English",
    voice_clone_prompt=voice_clone_prompt,
)
sf.write("clone_single_1.wav", wavs[0], sr)

wavs, sr = clone_model.generate_voice_clone(
    text=sentences[1],
    language="English",
    voice_clone_prompt=voice_clone_prompt,
)
sf.write("clone_single_2.wav", wavs[0], sr)

# or batch generate in one call
wavs, sr = clone_model.generate_voice_clone(
    text=sentences,
    language=["English", "English"],
    voice_clone_prompt=voice_clone_prompt,
)
for i, w in enumerate(wavs):
    sf.write(f"clone_batch_{i}.wav", w, sr)

分词器编码与解码

如果您仅需对音频进行编码和解码以用于传输或训练等场景,Qwen3TTSTokenizer 支持通过路径、URL、numpy 波形以及字典/列表载荷进行编码/解码,例如:

import soundfile as sf
from qwen_tts import Qwen3TTSTokenizer

tokenizer = Qwen3TTSTokenizer.from_pretrained(
    "Qwen/Qwen3-TTS-Tokenizer-12Hz",
    device_map="cuda:0",
)

enc = tokenizer.encode("https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen3-TTS-Repo/tokenizer_demo_1.wav")
wavs, sr = tokenizer.decode(enc)
sf.write("decode_output.wav", wavs[0], sr)

如需更多分词器示例(包括不同输入格式和批量使用方法),请参考示例代码。借助这些示例以及Qwen3TTSTokenizer的说明文档,您可以探索更多高级使用方式。

启动本地Web UI演示

要启动Qwen3-TTS的Web UI演示,只需安装qwen-tts包并运行qwen-tts-demo。使用以下命令获取帮助:

qwen-tts-demo --help

要启动演示,您可以使用以下命令:

# CustomVoice model
qwen-tts-demo Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice --ip 0.0.0.0 --port 8000
# VoiceDesign model
qwen-tts-demo Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign --ip 0.0.0.0 --port 8000
# Base model
qwen-tts-demo Qwen/Qwen3-TTS-12Hz-1.7B-Base --ip 0.0.0.0 --port 8000

然后打开 http://<your-ip>:8000,或通过 VS Code 等工具中的端口转发进行访问。

基础模型 HTTPS 注意事项

为避免服务器部署后出现浏览器麦克风权限问题,对于基础模型部署,建议/要求通过HTTPS运行 gradio 服务(尤其是在远程访问或使用现代浏览器/网关时)。使用 --ssl-certfile 和 --ssl-keyfile 启用 HTTPS。首先,我们需要生成私钥和自签名证书(有效期为 365 天):

openssl req -x509 -newkey rsa:2048 \
  -keyout key.pem -out cert.pem \
  -days 365 -nodes \
  -subj "/CN=localhost"

然后使用 HTTPS 运行演示:

qwen-tts-demo Qwen/Qwen3-TTS-12Hz-1.7B-Base \
  --ip 0.0.0.0 --port 8000 \
  --ssl-certfile cert.pem \
  --ssl-keyfile key.pem \
  --no-ssl-verify

然后打开 https://<your-ip>:8000 即可体验。如果浏览器显示警告,这是自签名证书的正常现象。在生产环境中,请使用真实证书。

DashScope API 使用方法

为了进一步探索 Qwen3-TTS,我们建议您尝试使用 DashScope API,以获得更快速、更高效的体验。有关详细的 API 信息和文档,请参考以下内容:

API 描述API 文档(中国大陆)API 文档(国际版)
Qwen3-TTS 自定义语音模型实时 APIhttps://help.aliyun.com/zh/model-studio/qwen-tts-realtimehttps://www.alibabacloud.com/help/en/model-studio/qwen-tts-realtime
Qwen3-TTS 声音克隆模型实时 APIhttps://help.aliyun.com/zh/model-studio/qwen-tts-voice-cloninghttps://www.alibabacloud.com/help/en/model-studio/qwen-tts-voice-cloning
Qwen3-TTS 声音设计模型实时 APIhttps://help.aliyun.com/zh/model-studio/qwen-tts-voice-designhttps://www.alibabacloud.com/help/en/model-studio/qwen-tts-voice-design

vLLM 使用方法

vLLM 官方已为 Qwen3-TTS 提供首日支持!欢迎使用 vLLM-Omni 进行 Qwen3-TTS 的部署和推理。有关安装及更多详细信息,请查看 vLLM-Omni 官方文档。目前仅支持离线推理,后续将支持在线服务,并且 vLLM-Omni 将继续在推理速度、流式能力等方面为 Qwen3-TTS 提供支持与优化。

离线推理

您可以使用 vLLM-Omni 在本地对 Qwen3-TTS 进行推理,我们在 vLLM-Omni 代码库 中提供了示例,可生成音频输出:

# git clone https://github.com/vllm-project/vllm-omni.git

# cd vllm-omni/examples/offline_inference/qwen3_tts

# Run a single sample with CustomVoice task
python end2end.py --query-type CustomVoice

# Batch sample (multiple prompts in one run) with CustomVoice task:
python end2end.py --query-type CustomVoice --use-batch-sample

# Run a single sample with VoiceDesign task
python end2end.py --query-type VoiceDesign

# Batch sample (multiple prompts in one run) with VoiceDesign task:
python end2end.py --query-type VoiceDesign --use-batch-sample

# Run a single sample with Base task in icl mode-tag
python end2end.py --query-type Base --mode-tag icl

评估

评估过程中,我们对所有模型均采用dtype=torch.bfloat16参数进行推理,并设置max_new_tokens=2048。所有其他采样参数均使用检查点中generate_config.json文件的默认值。对于Seed-Test和InstructTTS-Eval测试集,我们设置language="auto";而对于其他所有测试集,则显式传入相应的language参数。详细结果如下所示。

语音生成基准测试

在Seed-TTS测试集上进行零样本语音生成。性能通过词错误率(WER,↓)衡量,数值越低越好。

数据集模型性能
内容一致性
SEED
test-zh | test-en
Seed-TTS(Anastassiou et al., 2024)1.122.25
MaskGCT(Wang et al., 2024)2.272.62
E2 TTS(Eskimez et al., 2024)1.972.19
F5-TTS(Chen et al., 2024)1.561.83
Spark TTS(Wang et al., 2025)1.201.98
Llasa-8B(Ye et al., 2025b)1.592.97
KALL-E(Xia et al., 2024)0.961.94
FireRedTTS 2(Xie et al., 2025)1.141.95
CosyVoice 3(Du et al., 2025)0.711.45
MiniMax-Speech(Zhang et al., 2025a)0.831.65
Qwen3-TTS-25Hz-0.6B-Base1.181.64
Qwen3-TTS-25Hz-1.7B-Base1.101.49
Qwen3-TTS-12Hz-0.6B-Base0.921.32
Qwen3-TTS-12Hz-1.7B-Base0.771.24

在TTS多语言测试集上进行多语言语音生成。性能通过词错误率(WER,↓)衡量内容一致性,通过余弦相似度(SIM,↑)衡量说话人相似度。

语言Qwen3-TTS-25HzQwen3-TTS-12HzMiniMaxElevenLabs
0.6B-Base1.7B-Base0.6B-Base1.7B-Base
内容一致性
中文1.1080.7771.1450.9282.25216.026
英文1.0481.0140.8360.9342.1642.339
德文1.5010.9601.0891.2351.9060.572
意大利文1.1691.1051.5340.9481.5431.743
葡萄牙文2.0461.7782.2541.5261.8771.331
西班牙文2.0311.4911.4911.1261.0291.084
日文4.1895.1216.4043.8233.51910.646
韩文2.8522.6311.7411.7551.7471.865
法文2.8522.6312.9312.8584.0995.216
俄文5.9574.5354.4583.2124.2813.878
说话人相似度
中文0.7970.7960.8110.7990.7800.677
英文0.8110.8150.8290.7750.7560.613
德文0.7490.7370.7690.7750.7330.614
意大利文0.7220.7180.7920.8170.6990.579
葡萄牙文0.7900.7830.7940.8170.8050.711
西班牙文0.7320.7310.8120.8140.7620.615
日文0.8100.8070.7980.7880.7760.738
韩文0.8240.8140.8120.7990.7790.700
法文0.6980.7030.7000.7140.6280.535
俄文0.7340.7440.7810.7920.7610.676

在跨语言基准测试上进行跨语言语音生成。性能通过混合错误率(英文使用WER,其他语言使用CER,↓)衡量。

任务Qwen3-TTS-25Hz-1.7B-BaseQwen3-TTS-12Hz-1.7B-BaseCosyVoice3CosyVoice2
en-to-zh5.664.775.0913.5
ja-to-zh3.923.433.0548.1
ko-to-zh1.141.081.067.70
zh-to-en2.912.772.986.47
ja-to-en3.953.044.2017.1
ko-to-en3.483.094.1911.2
zh-to-ja9.298.407.0813.1
en-to-ja7.747.216.8014.9
ko-to-ja4.173.673.935.86
zh-to-ko8.124.8214.424.8
en-to-ko6.835.145.8721.9
ja-to-ko6.865.597.9221.5

在InstructTTSEval上进行可控语音生成。性能通过属性感知与合成准确率(APS)、描述-语音一致性(DSD)和响应精准度(RP)衡量。

类型模型InstructTTSEval-ZHInstructTTSEval-EN
APS(↑)DSD(↑)RP(↑)APS(↑)DSD(↑)RP(↑)
目标
说话人
Gemini-flash88.290.977.392.393.880.1
Gemini-pro89.090.175.587.686.067.2
Qwen3TTS-25Hz-1.7B-CustomVoice83.175.063.079.082.869.3
Qwen3TTS-12Hz-1.7B-CustomVoice83.077.861.277.377.163.7
GPT-4o-mini-tts54.952.346.076.474.354.8
语音
设计
Qwen3TTS-12Hz-1.7B-VD85.281.165.182.982.468.4
Mimo-Audio-7B-Instruct(Zhang et al., 2025b)75.774.361.580.677.659.5
VoiceSculptor(Hu et al., 2026)75.764.761.5---
Hume---83.075.354.3
VoxInstruct(Zhou et al., 2024)47.552.342.654.957.039.3
Parler-tts-mini(Lyth & King, 2024)---63.448.728.6
Parler-tts-large(Lyth & King, 2024)---60.045.931.2
PromptTTS(Guo et al., 2023)---64.347.231.4
PromptStyle(Liu et al., 2023)---57.446.430.9

在TTS多语言测试集上的目标说话人多语言语音生成。性能通过词错误率(WER,↓)衡量。

语言Qwen3-TTS-25HzQwen3-TTS-12HzGPT-4o-Audio
Preview
0.6B-CustomVoice1.7B-CustomVoice0.6B-CustomVoice1.7B-CustomVoice
中文0.8740.7080.9440.9033.519
英文1.3320.9361.1880.8992.197
德文0.9900.6342.7221.0571.161
意大利文1.8611.2712.5451.3621.194
葡萄牙文1.7281.8543.2192.6811.504
西班牙文1.3091.2841.1541.3304.000
日文3.8754.5186.8774.9245.001
韩文2.2022.2743.0531.7412.763
法文3.8653.0803.8413.7813.605
俄文6.5294.4445.8094.7345.250

长语音生成结果。性能通过词错误率(WER,↓)衡量。

数据集模型性能
内容一致性
long-zh | long-enHiggs-Audio-v2(chunk)(Boson AI, 2025)5.5056.917
VibeVoice(Peng et al., 2025)22.6191.780
VoxCPM(Zhou et al., 2025)4.8357.474
Qwen3-TTS-25Hz-1.7B-CustomVoice1.5171.225
Qwen3-TTS-12Hz-1.7B-CustomVoice2.3562.812
语音Tokenizer基准测试

不同有监督语义语音Tokenizer在ASR任务上的对比。

模型码本大小FPSC.V. ENC.V. CNFluers ENFluers CN
S3 Tokenizer(VQ)(Du et al., 2024a)40965012.0615.38--
S3 Tokenizer(VQ)(Du et al., 2024a)40962511.5618.267.655.03
S3 Tokenizer(FSQ)(Du et al., 2024a)65612510.677.296.584.43
Qwen-TTS-Tokenizer-25Hz(Stage 1)32768257.5110.733.074.23
Qwen-TTS-Tokenizer-25Hz(Stage 2)327682510.4014.994.144.67

不同语义相关语音Tokenizer的对比。

模型NQ码本大小FPSPESQ_WBPESQ_NBSTOIUTMOSSIM
SpeechTokenizer(Zhang et al., 2023a)81024502.603.050.923.900.85
X-codec(Ye et al., 2025a)21024502.683.270.864.110.84
X-codec 2(Ye et al., 2025b)165536502.433.040.924.130.82
XY-Tokenizer(Gong et al., 2025)8102412.52.413.000.913.980.83
Mimi(Défossez et al., 2024)16204812.52.883.420.943.870.87
FireredTTS 2 Tokenizer(Xie et al., 2025)16204812.52.733.280.943.880.87
Qwen-TTS-Tokenizer-12Hz16204812.53.213.680.964.160.95

引用说明

如果您觉得我们的论文和代码对您的研究有所帮助,欢迎点赞 :star: 并引用 :pencil: 本文 :)

@article{Qwen3-TTS,
  title={Qwen3-TTS Technical Report},
  author={Hangrui Hu and Xinfa Zhu and Ting He and Dake Guo and Bin Zhang and Xiong Wang and Zhifang Guo and Ziyue Jiang and Hongkun Hao and Zishan Guo and Xinyu Zhang and Pei Zhang and Baosong Yang and Jin Xu and Jingren Zhou and Junyang Lin},
  journal={arXiv preprint arXiv:2601.15621},
  year={2026}
}