☰
ChatTTS-ui 音色定制完整指南
2026/10/18 16:48:04 网站建设 项目流程

ChatTTS-ui 音色定制完整指南

【免费下载链接】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

合成出来的语音总像同一个人?想给产品换一个专属的声音,却不知从哪下手?这篇教程带你在 ChatTTS-ui 里走完试听、调参、固化三步:挑一个顺耳的seed 值,把 temperature、top_p、top_k 调到位,最后存成可反复调用的音色文件。

场景速认:这三类人直接照做

  • 本地网页配音:你已用 ChatTTS-ui 做文字转语音,想换掉默认音色并固定下来
  • 产品接口接入:你的应用要通过/tts接口生成语音,需要统一、可复用的专属音色
  • 批量配音生产:需要按同一个声音批量出片,并能追溯每段音频用了哪个 seed 和参数

四阶段主流程:启动→试听→调参→固化

阶段 1:启动服务,打通试听链路

目标:服务启动成功,生成并下载第一段音频。

  1. 克隆仓库并安装依赖(需要 Python 3.9–3.11):
git clone https://gitcode.com/GitHub_Trending/ch/ChatTTS-ui cd ChatTTS-ui pip3 install -r requirements.txt python3 app.py
  1. 等待首次启动自动下载模型,浏览器打开http://127.0.0.1:9966后再操作
  2. 打开页面,在"选择音色"下拉框任选内置音色(默认 2222),输入一句话并生成
  3. 确认能试听并下载 wav 文件,链路即打通,进入阶段 2

阶段 2:用 seed 值批量试听,筛出候选音色

目标:用同一段文本试听 5 个内置音色,记下 3 个以上候选 seed。

  1. 填写 2222、6653、4099、5099、7869 到页面"音色值"输入框,逐个生成并下载
  2. 固定使用同一段 50 字左右的测试文本,避免内容差异干扰听感判断
  3. 下载后核对每个音频文件名中 seed 后的数字,确认实际使用的音色值
  4. 记录候选:写下 seed 值和听感特征,如"6653 女声、活泼"
  5. 更换新的整数 seed(建议 1000–10000 区间),重复上述步骤

阶段 3:微调采样参数,定稿音色

目标:固定 seed 后,把音色调成稳定档或自然档。

  1. 调整 temperature(0.2–0.5)试 3 个档位,一次只改一个参数
  2. 再调整 top_p(0.6–0.8)与 top_k(20–40),每改一项就重新生成对比
  3. 锁定稳定档:temperature=0.3、top_p=0.7、top_k=20(服务默认值),读法最不容易出错
  4. 切换自然档:temperature=0.5、top_p=0.8、top_k=30,语调更有起伏,偶有跑调
  5. 控制语速:speed 取 1–10 档(默认 5);refine 阶段随机性用 text_seed 固定(默认 42)

阶段 4:固化音色文件,API 验收

目标:让选定音色变成文件,任何请求里都不漂移。

  1. 确认 speaker/ 目录下已生成{seed}.csv(首次使用该 seed 生成时自动保存)
  2. 刷新页面,在"选择音色"下拉框选中它,即固定音色
  3. 把第三方 .pt 音色放入 speaker/,执行python3 cover-pt.py转换格式
  4. 删除原始_emb.pt文件,保留转换后以-covert.pt结尾的文件,避免误选
  5. 用 API 做最终验收,返回的 url 直接可播放:
import requests r = requests.post("http://127.0.0.1:9966/tts", data={ "text": "定制音色验收测试", "custom_voice": 3000, "temperature": 0.3, "top_p": 0.7, "top_k": 20 }) print(r.json()["audio_files"][0]["url"])

参数速查:五个关键旋钮

参数作用推荐值调错的后果
custom_voice音色 seed 值,>0 时优先生效1000–10000 整数设为 0 会退回 voice 参数指定的音色
temperature读法与语调的随机性0.2–0.5过高破音跑调,过低机械感强
top_p发音多样性0.6–0.8过高音色忽好忽坏,过低全程平板
top_k候选发音数量20–40过小发音受限,过大不可预测
speed语速档位4–6(默认 5)过大听不清,过小拖沓
skip_refine1=跳过文本润色0设为 1 更快,文本质量下降

常见坑:先自查这五条

  • ✅同一 seed 换机器音色变了:属 ChatTTS 已知特性,好音色要立刻固化成 csv,别指望 seed 跨机器复现
  • ✅报 Missing spk_stat.pt:模型文件不完整,按 faq.md 第 5 条补齐缺失文件
  • ✅启动报 Dynamo 或 triton 错误:打开 .env 将 compile=true 改为 compile=false,见 faq.md 第 12 条
  • ✅选中 .pt 音色不生效:确认文件在 speaker/ 目录且后缀为 .csv 或 .pt,第三方 _emb.pt 需先跑 cover-pt.py
  • ✅下载模型报 proxy 错误:从 modelscope 拉模型时不能开代理,关闭代理重试,见 faq.md 第 10 条

行动清单:五步收尾

  • 服务启动成功,默认音色 2222 能正常生成音频
  • 试听 5 个内置 seed,写下 3 个候选及其听感特征
  • 按稳定档与自然档参数各生成一版,选定一组
  • 确认 speaker/ 下存在对应 .csv 或 -covert.pt 文件
  • API 用固定音色与参数调用成功,接入你的产品

音色是产品的声音名片,今天就固定你的第一个。

温馨提示:部署步骤与平台差异见 README.md,模型下载、报错等 15 类问题见 faq.md。

【免费下载链接】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),仅供参考

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

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

立即咨询