# Qwen3-TTS
## 论文
[Qwen3-TTS Technical Report](https://arxiv.org/abs/2601.15621)
## 模型简介
由通义千问(Qwen)开发的一系列强大的语音生成能力,全面支持声音克隆、音色设计、超高质量拟人化语音合成以及基于自然语言的语音控制,为开发者和用户提供了目前最丰富的语音生成功能集。
Qwen3-TTS 覆盖10种主要语言(中文、英文、日文、韩文、德文、法文、俄文、葡萄牙文、西班牙文和意大利文),并提供多种方言音色配置,以满足全球化的应用需求。此外,该模型具备强大的上下文理解能力,可根据指令和文本语义自适应调节语调、语速和情感表达,并对含噪声的输入文本展现出显著增强的鲁棒性。
主要特性如下:
强大的语音表征能力:基于自研的 Qwen3-TTS-Tokenizer-12Hz,实现对语音信号的高效声学压缩与高维语义建模,完整保留副语言信息(如语气、情绪)及声学环境特征,并通过轻量级非 DiT 架构实现高速、高保真的语音重建。
通用端到端架构:采用离散多码本语言模型(LM)架构,实现全信息端到端语音建模,彻底规避了传统“语言模型 + DiT”方案中存在的信息瓶颈与级联误差问题,显著提升模型的通用性、生成效率和性能上限。
极致低延迟流式生成:基于创新的双轨混合流式生成架构,单个模型同时支持流式与非流式生成模式。在用户仅输入单个字符后即可立即输出首个音频包,端到端合成延迟低至 97 毫秒,充分满足实时交互场景的严苛要求。
智能文本理解与语音控制:支持由自然语言指令驱动的语音生成,可灵活调控音色、情感、韵律等多维度声学属性。通过深度融合文本语义理解能力,模型能自适应调整语调、节奏与情感表达,实现“所想即所听”的拟人化语音输出。
## 环境依赖
| 软件 | 版本 |
| :------: | :------: |
| DTK | 26.04 |
| python | 3.10.12 |
| transformers | 4.57.6 |
| vllm | 0.18.1+das.dtk2604 |
| torchaudio | 2.10.0 |
| vllm-omni | 0.18.0 |
推荐使用镜像:harbor.sourcefind.cn:5443/dcu/admin/base/custom:vllm018-ubuntu22.04-dtk26.04-nemotron-20260422
```bash
docker run -it \
--shm-size 60g \
--network=host \
--name qwen3-tts \
--privileged \
--device=/dev/kfd \
--device=/dev/dri \
--device=/dev/mkfd \
--group-add video \
--cap-add=SYS_PTRACE \
--security-opt seccomp=unconfined \
-u root \
-v /opt/hyhal/:/opt/hyhal/:ro \
-v /path/your_code_data/:/path/your_code_data/ \
harbor.sourcefind.cn:5443/dcu/admin/base/custom:vllm018-ubuntu22.04-dtk26.04-nemotron-20260422 bash
```
更多镜像可前往[光源](https://sourcefind.cn/#/service-list)下载使用。
关于本项目DCU显卡所需的特殊深度学习库可从[光合](https://developer.sourcefind.cn/tool/)开发者社区下载安装,其它包参照requirements.txt安装:
```
pip install -r requirements.txt
```
镜像内其他环境配置
```
pip install vllm-omni==0.18.0 --no-build-isolation
pip install torchaudio-2.10.0-cp310-cp310-linux_x86_64.whl --no-deps
```
## 数据集
暂无
## 训练
暂无
## 推理
### transformers
#### 单机推理
```
VoiceDesign
python test_model_12hz_voice_design.py
CustomVoice
python test_model_12hz_custom_voice.py
VoiceClone
python test_model_12hz_base.py
```
### vllm
#### 单机推理
VoiceDesign
```bash
## serve启动
vllm-omni serve Qwen3-TTS/Qwen3-TTS-12Hz-1.7B-VoiceDesign \
--stage-configs-path qwen3_tts.yaml \
--omni \
--port 8001 \
--trust-remote-code \
--enforce-eager \
--served-model-name qwen3-tts
## client访问
curl -X POST http://localhost:8001/v1/audio/speech \
-H "Content-Type: application/json" \
-d '{
"model":"qwen3-tts",
"input": "其实我真的有发现,我是一个特别善于观察别人情绪的人。",
"voice": "vivian",
"instructions": "用特别开心的语气说",
"task_type": "VoiceDesign",
"x_vector_only_mode": null,
"ref_text": null,
"ref_audio": null}' \
--output output_design.wav
```
CustomVoice
```bash
## serve启动
vllm-omni serve Qwen3-TTS/Qwen3-TTS-12Hz-1.7B-CustomVoice \
--stage-configs-path qwen3_tts.yaml \
--omni \
--port 8001 \
--trust-remote-code \
--enforce-eager \
--served-model-name qwen3-tts
## client访问
curl -X POST http://localhost:8001/v1/audio/speech \
-H "Content-Type: application/json" \
-d '{
"model":"qwen3-tts",
"input": "你好,我是通义千问",
"voice": "vivian",
"language": "Chinese",
"task_type": "CustomVoice",
"x_vector_only_mode": null,
"ref_text": null,
"ref_audio": null}' \
--output output_custom.wav
```
VoiceClone
```bash
## serve启动
vllm-omni serve Qwen3-TTS/Qwen3-TTS-12Hz-1.7B-Base \
--stage-configs-path qwen3_tts.yaml \
--omni \
--port 8001 \
--trust-remote-code \
--enforce-eager \
--served-model-name qwen3-tts
## client访问
REF_AUDIO_B64=$(base64 -w 0 output_audio/output.wav)
curl -X POST http://localhost:8001/v1/audio/speech \
-H "Content-Type: application/json" \
--output output_base.wav \
-d @- <