Skip to content

近日,阿里通义千问团队(Qwen Team)开源了其最新的语音生成模型系列——Qwen3-TTS。这款模型不仅支持中、英、日、韩等10种语言,还具备3秒极速声音克隆文本描述设计声音等强大功能。最令人惊叹的是,它在流式生成上的表现,延迟低至97ms,简直是实时交互神技!

今天,我们就来聊聊如何在 Ubuntu 系统上本地部署这款强大的 Qwen3-TTS,让你的应用也能开口说话,甚至模仿你的声音。

Qwen3-TTS Cover(图片来源:Qwen3-TTS GitHub)

🌟 Qwen3-TTS 核心亮点

在开始部署之前,先来看看它为什么值得我们折腾:

  1. 全能型选手:支持中文、英语、日语、韩语、德语、法语、俄语、葡萄牙语、西班牙语、意大利语 10 种语言。
  2. 极速声音克隆:只需输入一段 3 秒的参考音频,就能快速克隆出相似度极高的声音 (Zero-shot Voice Cloning)。
  3. “捏”出声音 (Voice Design):你可以用文字描述你想要的声音,比如“一个低沉、磁性的中年男性声音”,模型就能生成对应的音色。
  4. 超低延迟:端到端合成延迟低至 97ms,非常适合实时对话场景。
  5. 指令控制:可以通过自然语言指令控制说话的语气、语速和情感。

🛠️ 环境准备

我们将使用 Ubuntu 22.04/24.04 进行部署。由于涉及到深度学习模型的推理,建议准备一张显存至少 12GB 的 NVIDIA 显卡(推荐 24GB 以获得更好体验)。

基础环境要求:

  • OS: Ubuntu 20.04+
  • Python: 3.10+
  • CUDA: 11.8+
  • PyTorch: 2.0+

🚀 部署步骤

1. 创建 Python 虚拟环境

为了不污染系统环境,我们强烈建议使用 conda 创建一个独立的虚拟环境。

bash
# 创建名为 qwen-tts 的虚拟环境,指定 python 版本为 3.10
conda create -n qwen-tts python=3.10 -y

# 激活环境
conda activate qwen-tts

2. 安装 Qwen3-TTS

Qwen3-TTS 提供了非常方便的 Python 包,直接通过 pip 安装即可。

bash
pip install qwen-tts

如果你想体验最新的开发版,也可以直接从 GitHub 源码安装:

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

注意:安装过程中会自动下载 PyTorch 等依赖,请保持网络畅通。

3. 模型下载

在使用时,qwen-tts 库通常会自动从 Hugging Face 或 ModelScope 下载模型权重。

Qwen3-TTS 提供了不同规模的模型:

  • Qwen3-TTS-12Hz-1.7B-VoiceDesign: 擅长根据文本描述设计声音。
  • Qwen3-TTS-12Hz-1.7B-Base: 基础模型,擅长声音克隆。
  • 0.6B 版本: 更轻量级,适合资源受限的设备。

💻 代码实战

安装完成后,我们来写几个简单的 Python 脚本体验一下它的核心功能。

场景一:声音克隆 (Voice Cloning)

准备一段 3-10 秒的录音文件(例如 my_voice.wav),我们将用它来让模型模仿你说话。

python
import torch
from qwen_tts.pipeline import QwenTTSPipeline

# 初始化 pipeline,指定使用 Base 模型进行克隆
# device="cuda" 表示使用 GPU
pipeline = QwenTTSPipeline(
    model_id="Qwen/Qwen3-TTS-12Hz-1.7B-Base", 
    device="cuda"
)

# 你的参考音频路径
ref_audio_path = "my_voice.wav"
# 参考音频对应的文本(可选,提供有助于提高准确度)
ref_text = "这是我的一段录音,用于声音克隆。"

# 想要生成的文本
text_to_generate = "大家好,这是我用 Qwen3-TTS 克隆出来的声音,听起来像我吗?"

# 生成音频
audio = pipeline.run(
    text=text_to_generate,
    ref_audio_path=ref_audio_path,
    ref_text=ref_text
)

# 保存结果
import scipy.io.wavfile
scipy.io.wavfile.write("cloned_output.wav", pipeline.sample_rate, audio)
print("声音克隆完成,已保存为 cloned_output.wav")

场景二:声音设计 (Voice Design)

如果你没有参考音频,只想凭空“捏”一个声音,可以使用 VoiceDesign 模型。

python
from qwen_tts.pipeline import QwenTTSPipeline

# 加载 VoiceDesign 模型
pipeline = QwenTTSPipeline(
    model_id="Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign",
    device="cuda"
)

# 描述你想要的声音
voice_description = "一个年轻女性的声音,语气温柔,带有轻微的南方口音,语速适中。"

# 想要生成的文本
text = "生活不止眼前的苟且,还有诗和远方的田野。"

# 生成音频
audio = pipeline.run(
    text=text,
    voice_description=voice_description
)

# 保存
import scipy.io.wavfile
scipy.io.wavfile.write("designed_voice.wav", pipeline.sample_rate, audio)
print("声音设计完成,已保存为 designed_voice.wav")

🌐 启动 Web UI 演示

如果你更喜欢图形界面,Qwen3-TTS 仓库中通常会提供 Web UI 脚本(通常基于 Gradio 或 Streamlit)。

在源码目录下,你可以尝试运行:

bash
# 假设你已经克隆了源码
cd Qwen3-TTS
pip install -r requirements_web.txt  # 安装 Web UI 依赖(如果有)
python web_demo.py

(注:具体文件名请以仓库最新更新为准)

启动后,浏览器访问 http://127.0.0.1:7860 即可在网页上直接录音、输入文本进行合成。

⚠️ 常见问题与注意事项

  1. 显存不足:1.7B 模型在 FP16 精度下大约需要 6-8GB 显存。如果显存不足,可以尝试使用 0.6B 的版本,或者量化后的模型。
  2. 网络问题:从 Hugging Face 下载模型如果太慢,可以尝试使用 ModelScope (魔搭社区) 的镜像源。
  3. 推理速度:虽然模型支持流式生成,但在非流式模式下生成长文本仍需要一定时间,建议长文本分句处理。

🎯 总结

Qwen3-TTS 的发布,让高质量的开源语音合成技术门槛再次降低。无论是为视频配音、开发智能助手,还是做一些有趣的个人项目,它都是一个非常棒的选择。

如果你手头有 Ubuntu 服务器和闲置的 GPU,不妨按照上面的步骤部署体验一下,感受一下 AI 声音的魅力!


参考链接:

觉得有用的话,点个在看支持一下吧!