最近发现了一个开源文本转语音(TTS)模型——ChatTTS。它针对对话场景做了优化,生成的语音更自然、更有'人味儿',适用于搭建语音助手、智能客服或互动游戏角色。

以下是从零开始搭建简易语音对话机器人的过程。
1. 开发环境配置
ChatTTS 基于 Python,推荐使用 Python 3.8 到 3.10 版本。
安装核心依赖 ChatTTS 可以通过 pip 直接安装,同时需要辅助库处理音频。
pip install chattts sounddevice scipy
如果安装较慢,可更换 pip 源,例如使用清华源:pip install chattts -i https://pypi.tuna.tsinghua.edu.cn/simple。
创建虚拟环境 为避免包冲突,建议为项目创建独立虚拟环境。
# 创建虚拟环境
python -m venv chattts_env
# 激活虚拟环境
# Windows: chattts_env\Scripts\activate
# macOS/Linux: source chattts_env/bin/activate
2. 核心 API 调用
流程:初始化模型 -> 准备文本 -> 生成语音 -> 播放或保存。
import chattts
import numpy as np
from scipy.io import wavfile
import sounddevice as sd
# 初始化模型
model = chattts.ChatTTS()
# 准备文本
texts = ["你好,我是你的语音助手。", "今天天气真不错。"]
# 生成语音
audio_data_list = []
for audio_data in model.infer(texts):
audio_array = audio_data['wav']
audio_data_list.append(audio_array)
# 播放和保存
for i, audio_array in enumerate(audio_data_list):
print(f"正在播放第{i+1}句")
sample_rate =
sd.play(audio_array, samplerate=sample_rate)
sd.wait()
filename =
wavfile.write(filename, sample_rate, audio_array)
()


