文字合成语音:Coqui TTS 安装与配置 - Docker 版本
文章目录
1. Coqui TTS介绍
Coqui TTS 是一款开源的深度学习文本转语音工具包,在语音合成领域具有广泛的应用和较高的知名度。它源于 Mozilla TTS 项目,经过不断的迭代优化,现已成为一个独立且成熟的 AI 语音合成框架。Coqui TTS 提供了超过 1100 种语言的预训练模型库,支持多种先进的文本转语音模型,能生成高度自然的语音。
Coqui TTS 的核心功能强大且丰富:
- 高质量语音合成:可生成自然流畅的语音,有效减少电子合成音的生硬感,十分接近真人语音效果。
- 多语言支持:支持包括中文、英文、日语、法语、西班牙语等在内的多种语言,能满足不同语言环境下的语音合成需求。
- 语音克隆与个性化声音定制:通过
YourTTS模型,用户仅需少量音频样本,如 3 秒的音频样本,即可克隆自己的声音,生成个性化TTS模型。 - 低延迟推理:提供轻量级与高质量模型选择,在保证音质的同时,能够实现低延迟推理,适用于直播、智能语音助手等对实时性要求较高的应用场景。
一句话概括,Coqui TTS 是一款强大的开源文本转语音工具,提供了高质量的语音合成能力。
使用 Docker 部署 Coqui TTS 可以简化安装过程,确保环境一致性。
2. 前提条件
在开始之前,请确保系统已满足以下要求:
- 已安装
Docker引擎(建议版本20.10或更高) - 至少
2GB可用内存(运行大型模型可能需要更多) - 网络连接(很重要,用于拉取
Docker镜像)
检查 Docker 是否正常运行:
docker --version
3. 下载安装Coqui TTS
Coqui 官方提供了预构建的 Docker 镜像,可直接拉取
# 拉取 CPU 版本(适合没有 NVIDIA 显卡的系统)
docker pull ghcr.io/coqui-ai/tts-cpu
# 拉取 GPU 版本(需要 NVIDIA 显卡和 nvidia-docker 支持)
docker pull ghcr.io/coqui-ai/tts
镜像下载还挺大的,有10.2G,下载时长取决于网速

4. 启动 Coqui TTS 容器
可通过如下命令来启动docker
# 对于 CPU 版本
docker run -it -p 5002:5002 --entrypoint /bin/bash ghcr.io/coqui-ai/tts-cpu
# 对于 GPU 版本
docker run -it -p 5002:5002 --entrypoint /bin/bash ghcr.io/coqui-ai/tts
参数说明:
-it:创建交互式终端-p 5002:5002:将容器的5002端口映射到主机的5002端口ghcr.io/coqui-ai/tts-cpu:指定容器镜像名称--entrypoint /bin/bash:进入容器的bash终端
如果出现以下错误,则说明服务器没有开启ipv4的转发功能,一定要解决,否则没办法访问
WARNING: IPv4 forwarding is disabled. Networking will not work.
此时编辑系统文件
vi /etc/sysctl.conf
修改如下字段
net.ipv4.ip_forward = 1
使配置生效
sysctl -p /etc/sysctl.con
再次输入命令即可启动容器
5. 启动 Coqui TTS 服务
在容器内部,可查看支持的模型
tts --list_models
图中第34行就是中文模型tts_models/zh-CN/baker/tacotron2-DDC-GST,但此时并没有下载

在容器内部,启动 TTS 服务器
python3 TTS/server/server.py --model_name tts_models/zh-CN/baker/tacotron2-DDC-GST
我试了好几次,完全不可能成功,一般都是连接超时

既然有办法下载模型,那肯定也有办法导入模型
前往发行版本内寻找已经公布的模型,https://github.com/coqui-ai/TTS/releases,随便找一个版本的模型即可

找到中文模型并且下载

下载好的模型解压缩,将其复制到容器的/root/.local/share/tts/目录下
docker cp /root/tts_models--zh-CN--baker--tacotron2-DDC-GST eeb383168656:/root/.local/share/tts/
此时再次利用命令tts --list_models查看模型,会显示已经下载

再次启动 TTS 服务器
python3 TTS/server/server.py --model_name tts_models/zh-CN/baker/tacotron2-DDC-GST
如果能看到如下界面,表示服务启动成功

6. 测试 Coqui TTS 服务
6.1 前端访问
可访问前端测试,输入: http://192.168.78.145:5002/,其中192.168.78.145替换为服务器ip

6.2 restful 接口访问
也可以发送get请求, url请求地址:http://192.168.78.145:5002/api/tts,其中192.168.78.145替换为服务器ip
参数
| 字段 | 含义 | 示例 |
|---|---|---|
| style_wav | 音频分割风格 | 默认{"0": 0.1}即可 |
| text | 需要朗读的文本内容 | 测试朗读文本内容 |
完整的示例如下,但是记得朗读的句子结尾加上句号,否则文本内容会有点奇怪
http://192.168.78.145:5002/api/tts?style_wav={"0": 0.1}&text=要生成语音的文本,结尾一定要有标点符号,不然音频会抽风。
将返回音频wav文件

7. Coqui TTS 存在的小问题
- 中文模型只有一个女声,没办法选择
- 中文模型没办法中英文混度,貌似是转译的问题
- 处理长文本会有中断现象发生
更多推荐



所有评论(0)