news 2026/9/20 16:54:09

ChatTTS-ui音色定制实战指南:3种方法快速打造专属语音

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ChatTTS-ui音色定制实战指南:3种方法快速打造专属语音

ChatTTS-ui音色定制实战指南:3种方法快速打造专属语音

【免费下载链接】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是本地网页语音合成工具。本文讲清预设音色、种子值、音色文件三种定制方法,参数与命令均可复现,读完你能为常用角色固定专属音色,并通过/tts接口批量合成。

动手前准备

  • Python 版本 3.9–3.11,不支持 3.12+
  • 依赖装好:pip install -r requirements.txt,torch 固定2.7.1
  • 启动命令python3 app.py,浏览器自动打开http://127.0.0.1:9966
  • 首次启动自动下载模型;默认从 modelscope 拉取,此时需关闭代理

先跑通最小路径

只做两步,确认音色链路通了。

python3 app.py # 启动服务

启动后在页面文本框输入一段话,点"立即合成声音"。成功后页面下方出现可播放的 wav,文件名形如153022_use3.41s-audio5.2s-seed2222-te0.3-tp0.7-tk20-textlen21-08380.wav,落在static/wavs目录。文件名里已带上本次用的种子值与采样参数,方便你回头对照调参。

关键参数逐个说

全部参数都可在页面表单和/tts接口中使用,默认值见 app.py 中的defaults

参数作用建议取值
voice预设音色编号,决定基础音色2222 / 7869 / 6653 / 4099 / 5099 之一
custom_voice种子值,大于 0 的整数,设置后忽略voice2000–9000 区间多试几个
prompt控制标签,笑声、停顿等[oral_2][laugh_0][break_6]
temperature采样随机性,越低越稳定稳定 0.2,活泼 0.4,默认 0.3
top_p/top_k采样候选范围默认 0.7 / 20
speed语速档位,1–95
text_seedrefine text 阶段种子,默认 42固定一个值便于复现
skip_refine1 跳过 refine text 阶段文本含控制符或效果差时设 1

文件与目录速查

  • speaker/:音色文件目录,支持.csv(768 个浮点数,每行一个)和.pt两种格式,仓库自带 2222.csv 等 20 余个示例
  • uilib/utils.py:get_speakers()列出色板、load_speaker()读 csv、save_speaker()写 csv 的实现
  • cover-pt.py:0.96 版内核升级后的旧 pt 音色转换脚本
  • app.py:/tts路由,音色解析顺序为voice.csvvoice.pt→ 数字种子随机生成

进阶调优

种子值会自动固化成音色文件。custom_voice=8888speaker/8888.csv不存在时,第一次合成会按该种子随机生成向量并自动写入speaker/8888.csv,第二次起直接读文件,音色从此固定。想固化就保留文件,想换音就删掉对应 csv。

旧 pt 音色先转格式再用。0.96 版内核无法直接使用旧格式seed_*_emb.pt,把它放入speaker/后执行:

python cover-pt.py # 批量转换 seed_*_emb.pt 为 -covert.pt ls speaker # 确认生成 -covert.pt 文件

批量试音用脚本刷。用固定文本遍历种子值,按文件名归档试听:

import requests for seed in range(2000, 2100, 10): # 步长10,试10个候选 requests.post('http://127.0.0.1:9966/tts', data={ "text": "音色试听固定文本", "custom_voice": seed, # 每个种子一个候选音色 "temperature": 0.3, "top_p": 0.7, "top_k": 20, }) # 产物在 static/wavs/,文件名含 seed 与全部参数

一条完整操作流

  1. 启动服务,执行python3 app.py,确认浏览器打开 9966 端口页面
  2. 查看当前可选音色,页面下拉框即speaker/目录扫描结果
  3. 选预设音色 2222,输入文本合成一条基线样本并试听
  4. 在"音色值"框填custom_voice,从 2000 起每 100 换一个,各合成一条对比
  5. 锁定满意种子后不动它,speaker/下已生成同名 csv,音色被固化
  6. 用 API 固定custom_voicetemperature等参数接入你的程序,批量产出

常见坑速查

现象原因处理
同一设备同一种子,两次合成音调不同只有数字种子、没有落盘文件时每次重新随机用落盘的 csv 文件作为音色基准
下载的 pt 音色加载报错0.96 内核格式不兼容运行python cover-pt.py转成-covert.pt
新放的文件不出现在下拉框只识别.csv.pt扩展名检查扩展名,刷新页面重新扫描
启动报 modelscope ProxyError模型下载走 modelscope 时不允许走代理关闭系统代理后重启
报 Missingspk_stat.ptModelScope 模型包缺少该文件补齐文件放入models/pzc163/chatTTS/asset/

音色定制的核心就是"数字种子试音、文件固化、参数微调"三步,套路固定、可随时回退。打开浏览器里那个 9966 端口的页面,挑一个种子值先合成第一条吧。

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/20 16:52:53

罚球投篮数学建模:抛物线、出手角度与命中率解析

简介:篮球罚球投篮的数学模型.doc 是一份面向数学建模竞赛、体育科研和篮球训练分析的经典资料。文档围绕罚球命中率这一实际问题,依据标准球场尺寸(罚球点距篮筐中心4.60米、筐高3.05米)展开,从基础到深化依次构建三个…

作者头像 李华
网站建设 2026/9/20 16:52:18

华为VRP命令实战:从ensp入门到排障的完整指南

简介:面向华为eNSP模拟器使用者,这份命令大全PDF覆盖路由器、交换机、防火墙等设备常用命令,从视图切换、接口配IP,到路由查询、Telnet/FTP登录、文件系统管理等均有速查说明,适合新手实验、备考HCIA或日常排错。压缩包…

作者头像 李华
网站建设 2026/9/20 16:51:05

奇诺多面体在虚拟电厂分布式资源聚合调度中的MATLAB实现

简介:面向电力系统优化与虚拟电厂方向的科研人员、工程师及研究生,这份资源提供基于奇诺多面体(Zonotope)的分布式资源广域聚合调控MATLAB完整实现。内容涵盖空调负荷、储能、柴油发电机的动态模型构建,Zonotope可行域…

作者头像 李华
网站建设 2026/9/20 16:48:40

COMSOL多物理场仿真建模指南:从资料整理到工程实战的完整方法论

简介:COMSOL Multiphysics激光加工模拟资料以docx文档形式整理,面向从事激光加工仿真、需要研究脉冲激光与材料相互作用的研究生、工程师及科研人员。资料围绕激光脉冲作用于材料表面时的热效应、熔池流动与温度演化等核心问题,系统介绍了均匀…

作者头像 李华