文字合成语音:Coqui TTS 安装与配置 - Docker 版本
文章目录1. Coqui TTS介绍2. 前提条件3. 下载安装Coqui TTS4. 启动 Coqui TTS 容器5. 启动 Coqui TTS 服务6. 测试 Coqui TTS 服务6.1 前端访问6.2 restful 接口访问7. Coqui TTS 存在的小问题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--version3. 下载安装Coqui TTSCoqui官方提供了预构建的Docker镜像可直接拉取# 拉取 CPU 版本适合没有 NVIDIA 显卡的系统dockerpull ghcr.io/coqui-ai/tts-cpu# 拉取 GPU 版本需要 NVIDIA 显卡和 nvidia-docker 支持dockerpull ghcr.io/coqui-ai/tts镜像下载还挺大的有10.2G下载时长取决于网速4. 启动 Coqui TTS 容器可通过如下命令来启动docker# 对于 CPU 版本dockerrun-it-p5002:5002--entrypoint/bin/bash ghcr.io/coqui-ai/tts-cpu# 对于 GPU 版本dockerrun-it-p5002: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_forward1使配置生效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_nametts_models/zh-CN/baker/tacotron2-DDC-GST我试了好几次完全不可能成功一般都是连接超时既然有办法下载模型那肯定也有办法导入模型前往发行版本内寻找已经公布的模型https://github.com/coqui-ai/TTS/releases随便找一个版本的模型即可找到中文模型并且下载下载好的模型解压缩将其复制到容器的/root/.local/share/tts/目录下dockercp/root/tts_models--zh-CN--baker--tacotron2-DDC-GST eeb383168656:/root/.local/share/tts/此时再次利用命令tts --list_models查看模型会显示已经下载再次启动TTS服务器python3 TTS/server/server.py--model_nametts_models/zh-CN/baker/tacotron2-DDC-GST如果能看到如下界面表示服务启动成功6. 测试 Coqui TTS 服务6.1 前端访问可访问前端测试输入:http://192.168.78.145:5002/其中192.168.78.145替换为服务器ip6.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 存在的小问题中文模型只有一个女声没办法选择中文模型没办法中英文混度貌似是转译的问题处理长文本会有中断现象发生