Coqui TTS:本地运行的神经网络语音合成引擎

Coqui TTS:本地运行的神经网络语音合成引擎

大模型

📖 简介

Coqui TTS 是本地运行的深度学习语音合成引擎,支持 1100+ 种语言,可克隆音色。30k+ Stars,可一键训练自己的声音模型,商业配音工具的开源替代方案。

📝 详细介绍

1. 开篇

这篇教程带你从零搭起一个本地可运行的 Coqui TTS 语音合成服务,最终成果是你输入一句英文文本,几秒后就能得到一段完整可播放的 wav 音频。

2. 前置条件

  • Ubuntu 20.04+ / macOS 12+ / Windows 10+,我们以 Linux 为例
  • Python 3.9–3.11,Coqui TTS 尚未完全适配 3.12+
  • 推荐 8GB 以上内存,CPU 可运行但会很慢
  • 可选:NVIDIA GPU + CUDA 11.8 以上,合成速度提升 10 倍
  • 系统安装 espeak-ng,部分模型依赖它做音素转换

3. 安装部署

3.1 克隆仓库并安装依赖

git clone https://github.com/coqui-ai/TTS.git
cd TTS
pip install -e .

如果你不需要处理音频文件的额外转换,也可以直接 pip install TTS

3.2 验证安装

python -c "from TTS.api import TTS; print('TTS version:', TTS.__version__)"

预期输出类似 TTS version: 0.22.0,看到版本号说明核心依赖就绪。

3.3 启动一个可交互的合成服务

tts-server --port 5002

启动后在浏览器打开 http://localhost:5002,你会看到 Web 界面。注意:首次运行某个模型时会自动下载权重,需要保持网络通畅。

4. 第一个 Demo

这个 Demo 的目标是用 Python API 完成一次最小闭环:文本 → 语音文件。

4.1 初始化 TTS 对象

这一步要做什么:加载一个预训练的 Tacotron2 英文模型,指定使用 CPU(如果你有 GPU,改为 cuda 即可)。

from TTS.api import TTS

tts = TTS(model_name="tts_models/en/ljspeech/tacotron2-DDC", progress_bar=True)
print("模型加载完成")

预期输出:首次运行会显示下载进度条,模型约 45MB,下载完成后打印“模型加载完成”。

4.2 合成语音文件

这一步要做什么:传入一个英文句子,调用 tts_to_file 方法输出 wav 文件。

tts.tts_to_file(
    text="The quick brown fox jumps over the lazy dog.",
    file_path="output.wav"
)
print("音频已生成")

预期输出:当前目录多出一个 output.wav,你可以用媒体播放器直接打开。在 CPU 环境下,合成 4 秒音频大约需要 15–30 秒。

4.3 验证文件

file output.wav

预期输出:output.wav: RIFF ... audio data, WAVE format,说明文件格式正确。

5. 配置与调优

5.1 切换 GPU 加速

如果你有 NVIDIA 显卡,只需要在初始化时把设备设为 cuda

tts = TTS(model_name="tts_models/en/ljspeech/tacotron2-DDC", device="cuda")

注意:需要在启动 Python 前验证 torch.cuda.is_available() 返回 True,否则会报错。

5.2 更换说话音色(多说话人模型)

Coqui 提供了多说话人模型,比如 tts_models/en/vctk/vits。使用这种模型时,可以通过 speaker 参数切换不同人的音色:

tts = TTS(model_name="tts_models/en/vctk/vits")
tts.tts_to_file(text="Hello, this is a test.", file_path="out.wav", speaker="p225")

不传 speaker 参数会报错,这也是初学者最容易踩的坑。想查看可用的说话人列表,执行 print(tts.speakers)

5.3 调整语速与语气(VITS 模型)

VITS 模型通过 speaker_wav(参考音频)来模仿语调,也可以调节 speed 参数:

tts.tts_to_file(
    text="I'm speaking a bit slower.",
    file_path="slow.wav",
    speed=0.8  # 0.8 倍速
)

调整 speed 是最简单且不会导致音频毛刺的调优方式。

6. 常见坑与排错

报错信息 原因 解决办法
ModuleNotFoundError: No module named 'TTS' 没有正确安装包,或当前激活的虚拟环境不对 检查是否在正确环境,重新执行 pip install -e .
RuntimeError: Could not locate espeak-ng 系统缺少音素化工具 espeak-ng sudo apt install espeak-ng(macOS 用 brew install espeak-ng
AssertionError: Torch not compiled with CUDA enabled PyTorch 是 CPU 版本,即使显卡存在也无法使用 重新安装 GPU 版 torch:pip install torch --index-url https://download.pytorch.org/whl/cu118
Connection error while downloading model 首次下载权重时网络超时,或 Hugging Face 被墙 手动下载模型文件放入 ~/.local/share/tts 缓存目录,或科学上网重试

7. 下一步

  • 学习 Coqui TTS 的官方 README,了解命令行 tts 子命令的更多参数(如批量生成、拼接静音)
  • 尝试微调:使用自己的录音数据对 VITS 模型做轻量微调,这一步需要 10 分钟左右的音频数据
  • 探索流式合成:Coqui 的 TTS.stream() API 可以边生成边播放,适合接入聊天机器人等实时场景
🚀

AI 项目推荐

大模型
标签
#语音合成 #TTS #深度学习 #音色克隆
浏览
👁️ 1
发布日期
2026-08-06