基于 Qwen3-TTS 和 Whisper ASR 的双向语音对话系统搭建
本文介绍如何通过 Qwen3-TTS 和 Whisper ASR 两个开源模型构建双向语音对话系统。从基础环境部署开始,到实现听(ASR)说(TTS)的完整闭环,适合希望为应用增加语音交互功能的开发者。
1. 准备工作与环境搭建
1.1 基础环境要求
- 操作系统:推荐使用 Linux(如 Ubuntu 20.04+)或 macOS。Windows 也可行但需额外配置。
- Python 版本:3.8 或更高。
- 内存:至少 16GB RAM,建议 32GB 以上。
- 存储空间:预留 10-20GB。
- GPU:推荐 NVIDIA GPU(显存 8GB 以上)以加速推理。
1.2 快速安装依赖
创建独立虚拟环境以避免依赖冲突:
# 创建新的虚拟环境
python -m venv voice_chat_env
# 激活环境(Linux/macOS)
source voice_chat_env/bin/activate
# 激活环境(Windows)
voice_chat_env\Scripts\activate
激活后安装核心依赖:
pip install --upgrade pip
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install transformers soundfile librosa pydub gradio streamlit
如遇网络问题可使用镜像源:
pip install transformers -i https://pypi.tuna.tsinghua.edu.cn/simple
2. Qwen3-TTS 模型部署与初体验
2.1 下载与加载 Qwen3-TTS 模型
from transformers import AutoModelForTextToSpeech, AutoTokenizer
import torch
model_name = "Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign"
print("正在加载 Qwen3-TTS 模型...")
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForTextToSpeech.from_pretrained(
model_name,
torch_dtype=torch.float16,
device_map="auto",
trust_remote_code=True
)
print("模型加载完成!")
2.2 语音合成测试
def ():
input_text =
inputs = tokenizer(input_text, return_tensors=)
torch.cuda.is_available():
inputs = {k: v.cuda() k, v inputs.items()}
torch.no_grad():
speech = model.generate(**inputs)
speech = speech.cpu().numpy()
speech
test_text =
audio_data = text_to_speech(test_text)
()

