ChatTTS 音色定制:给视频配旁白的快速上手
2026/9/20 4:17:18 网站建设 项目流程

ChatTTS 音色定制:给视频配旁白的快速上手

【免费下载链接】ChatTTS-ui一个简单的本地网页界面,使用ChatTTS将文字合成为语音,同时支持对外提供API接口。A simple native web interface that uses ChatTTS to synthesize text into speech, along with support for external API interfaces.项目地址: https://gitcode.com/GitHub_Trending/ch/ChatTTS-ui

想换一换配音的音色,翻了几页 README 还找不到入口——这种情况不该发生。ChatTTS-ui 是本地网页版的 ChatTTS 音色定制工具:浏览器里选音色、点一下按钮就出 wav,也能直接调 API 批量合成视频旁白和播客声音。会跑 docker 就能上手。

跑通它:最短部署路径

这一段只解决一件事:用最少命令把服务跑起来,不折腾 Python 环境。

git clone https://gitcode.com/GitHub_Trending/ch/ChatTTS-ui chat-tts-ui cd chat-tts-ui docker compose -f docker-compose.gpu.yaml up -d

没有 GPU 的机器,把最后一行的 -f 参数换成 docker-compose.cpu.yaml 即可;源码方式(建 venv、pip 装依赖、python app.py)留给开发者,细节在 README 里。

第一次启动会多花几分钟,模型会自动下载并缓存到本地 models 目录,之后的启动就不再联网拉模型。

验证成功的标准:日志里出现启动:['0.0.0.0', '9966']后,浏览器打开 http://127.0.0.1:9966,看到文本输入框、音色下拉框和合成按钮的页面就是跑通了——输入一句话点合成,浏览器里能直接播放生成的 wav 音频。

合成效果由哪三个旋钮决定

这一段解决"合成出来不好听、不知道往哪调"的问题,只讲对效果影响最大的三个参数,其余先别碰。

voice 与 custom_voice(音色值):控制的是音色身份。下拉框有 2222、7869、6653、4099、5099 几个预设;在"自定义音色值"里填一个大于 0 的整数,该数即作为种子生效,下拉框的选择被忽略。注意换号不是渐变——2222 和 2223 是两个完全不同的声音。起始建议:先用 2222 熟悉流程,再挑 3000、8000 这类种子试听。

temperature(温度):控制合成时的随机程度。往 0.1 压,读法稳定一致,但容易平淡;拉到 0.5 到 0.8,语气起伏和呼吸感更活,也更容易抽到怪腔。推荐起始值 0.3。

prompt(效果标记):控制特殊声音效果,填的是标记串而不是数字。[laugh_0] 带一个轻笑,[break_3] 插入一段停顿,[oral_2] 加一点口腔音,多个标记连写可以叠加。纯旁白场景留空即可。

参数控制什么推荐起始
voice预设音色编号2222
custom_voice自定义种子,覆盖 voice0(关闭)
temperature随机程度0.3
prompt效果标记留空

top_p、top_k、skip_refine 等其余参数先保持默认,跑通后再按需微调。

批量合成时怎么调 API

这一段解决"不点网页按钮也能出音频"的问题,用三个场景把接口能力串起来。

场景一:批量试听多个种子。要做的事:同一句话换个种子合成一轮,挑出顺耳的。做法:/tts 接口一次 POST 就出结果——

import requests for seed in range(3000, 3010): r = requests.post('http://127.0.0.1:9966/tts', data={ "text": "这是一段批量生成的旁白测试。", "custom_voice": seed, }) print(r.json())

返回是 JSON:code 为 0 且带 audio_files 数组(含 wav 文件名和可直接下载的 url)即成功,code 为 1 时 msg 字段就是失败原因。

场景二:接进现成的配音流程。要做的事:让 pyVideoTrans 用这个服务做后端。做法:在它的设置里找到 ChatTTS 一栏,请求地址填 http://127.0.0.1:9966,点测试通过后主界面直接选 ChatTTS 即可,不用写代码。

场景三:换成自己下载的音色。要做的事:把别处试过的音色固定下来长期使用。做法:把音色文件放进项目根的 speaker/ 目录,csv 和旧版 pt 会被界面直接识别;从第三方站点下下来的、以 seed_ 开头 _emb.pt 结尾的 pt 文件,0.96 之后内核换了不兼容,放进 speaker/ 后执行python cover-pt.py,会生成同名 -cover.pt 文件,界面里出现的就是转换后可用的音色。

报错排查与进阶用法

这一段解决"跑不动"和"合成结果不对"两类最常见的故障。

症状:首次启动下载模型时报 proxy 类错误或超时。原因:模型默认从魔塔(modelscope)下载,不支持走代理。解法:关掉代理重跑;模型完整缓存到本地后,之后的启动不再依赖外网。

症状:英伟达显卡显存大于 4G,仍走 CPU 合成很慢。原因:装的是 CPU 版 torch。解法:先pip uninstall -y torch torchaudio再装 cu128 的 CUDA 版;显存不足 4G 时强制走 CPU 是正常行为。

症状:同一个种子值,这次和上次(或换台机器)的音色有细微差别。原因:种子是随机生成的入口,不是固定录音。解法:把种子当试听编号,听到合适的记下来写进脚本复用,别期待输出逐字节一致。

需要让局域网内其他人访问时才用:把 .env 里的 WEB_ADDRESS 从 127.0.0.1:9966 改成你的局域网 IP 加端口,重启容器生效。

需要向合作方交付一组固定声音素材时才用:写个脚本循环调用 /tts 批量导出 wav 建素材库;踩过的坑在 FAQ 里都有记录。

先在网页上把 2222 到 5099 五个预设音色各合成一句存下来,再挑一个种子值批量跑二十条,听哪个适合你的旁白。

【免费下载链接】ChatTTS-ui一个简单的本地网页界面,使用ChatTTS将文字合成为语音,同时支持对外提供API接口。A simple native web interface that uses ChatTTS to synthesize text into speech, along with support for external API interfaces.项目地址: https://gitcode.com/GitHub_Trending/ch/ChatTTS-ui

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询