资讯动态

手把手ChatTTS-UI音色定制:从seed值到固定音色包的3步实战

发布时间:2026/10/18 4:42:48 来源:尧图企业网站定制
手把手ChatTTS-UI音色定制从seed值到固定音色包的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 是一个基于 ChatTTS 的本地网页工具启动服务后在网页输入文字就能拿到 wav支持中英文、数字混杂同时对外提供/ttsAPI方便接进你自己的应用。本文按使用流程带你走完一遍部署跑起来、看懂音色参数、调出专属声音、最后把满意的声音存成可复用的音色包。最小可用配置10分钟跑起本地语音服务环境要求 Python 3.9-3.11一条命令行搞定咱们直接建虚拟环境干活git clone https://gitcode.com/GitHub_Trending/ch/ChatTTS-ui . cd ChatTTS-ui python3 -m venv venv source venv/bin/activate pip install -r requirements.txt python3 app.py启动后会自动打开 http://127.0.0.1:9966 。首次运行会自动下载模型默认优先从 modelscope 源拉取下载期间关掉代理否则会报 proxy 类错误。网页上输入一段文字点生成十分钟左右就能听到第一段语音。如果显存大于 4G 且是英伟达显卡记得装 cu128 版 torch否则会自动退回 CPU 推理。设备偏好写在项目根目录的.env里WEB_ADDRESS改服务地址device可指定 cpu|mps|cudacompilefalse能绕开一些环境报错。音色是怎么定下来的seed值与音色包两件事音色的本质是一串 768 维的 embedding 向量。你传入一个数字音色值系统拿它当随机种子从全部音色的统计分布里抽卡——seed 值就像抽卡机的随机数同一台机器上同一个数永远出同一张卡。默认音色是 2222项目内置了 5 个常用预设值可直接试听 2222温柔女声默认7869沉稳男声6653甜美少女4099成熟男声5099中性音色哪个听着顺眼哪个就是你生产环境的音色。都不满意就在custom_voice里填任意大于 0 的整数抽新的。要心里有数同一个 seed 在不同机器上音色会有差异同一台机器上也可能漂移尤其音调。所以正式使用别只记数字要把声音存成文件——speaker目录下的 csv/pt 音色包voice参数直接按名字调用换机器把文件拷走就行。参数调优速查表5个塑造声音的参数参数调不对先看这张表再逐项微调参数作用推荐范围一句话说明voice固定音色2222 / 7869 / 6653 / 4099 / 5099按数字抽音色传 csv/pt 文件名则用音色包custom_voice音色种子大于 0 的整数优先级高于 voice用于创造新音色temperature随机性0.2-0.5越小越稳定别超 0.5不然声音会飘top_p发音多样性0.6-0.8平衡自然度和清晰度top_k候选范围20-40跟前两项配套调speed语速1-9默认 5数值越大读得越快prompt语气控制[oral_2][laugh_0][break_6]oral 是口语程度break 是停顿长短两组黄金组合直接抄追求稳定用 temperature0.3、top_p0.7、top_k20追求自然用 temperature0.5、top_p0.8、top_k30。改完这三个参数音色稳定性能上一个台阶。场景一给播客做旁白一段长文一个稳定声音旁白的特点是文本长、声音要统一、节奏要舒服。voice 固定成你试过的预设值比如 7869 沉稳男声speed 保持 5觉得读得太赶就把 speed 调低段落之间想停顿就在文本里插[break_2]。批量出稿时不用守着网页点脚本直接调 APIimport requests res requests.post(http://127.0.0.1:9966/tts, data{ text: 大家好欢迎收听本期节目。, voice: 7869, speed: 5, temperature: 0.3, top_p: 0.7, top_k: 20 }) print(res.json()[audio_files][0][url])返回{code:0, msg:ok, audio_files:[...]}其中每个元素带本地路径filename和可下载链接url按行分段合成会返回多个文件。想直接拿音频流就把参数加wav1返回的就是 wav 本身。场景二给自家应用配一个专属声音给内部助手、聊天机器人配固定声音思路是先抽卡再固化。在网页自定义音色值输入框里填 1000-10000 之间的整数每次生成一小段试听边试边记这个偏少年、那个偏浑厚、哪个太尖。抽中满意的比如 1234后系统已经把它的音色向量存成了speaker/1234.csv你在目录里能看到这个文件。之后代码里voice直接写 1234永远是这个声音不用再担心随机漂移。同事找到的第三方 pt 音色包seed_xxx_emb.pt格式和新内核不兼容在项目根目录跑一次python cover-pt.py会转成-covert.pt结尾的可用文件保留转换后的、删掉原文件即可。调优与避坑5个高频踩坑点声音发飘或起不来服务按这张清单过一遍✅ 声音飘忽检查 temperature 是否超过 0.5top_k 是否落在 20-40 区间外✅ 同一 seed 和之前声音不一样属正常现象正式场景改用 csv/pt 固定音色包✅ 模型下载失败modelscope 源不支持代理关闭代理重试离线环境就手动把模型文件放进models目录✅ 有显卡却走 CPU需要英伟达显卡 4G 显存和 CUDA 12.8先卸载 torch 再重装 cu128 版本✅ 局域网其他设备访问不了打开.env把WEB_ADDRESS127.0.0.1:9966改成局域网 IP✅ 更细的报错对照项目里的 faq.md再往前一步音色包管理与生态联动 攒下几个满意音色后建议立个小规矩speaker目录统一按seed_数字.csv命名每个音色记一条对应的 prompt 和参数组合。按场景切换声音——教育培训用清晰亲切的娱乐应用换活泼的专业场景留稳重的切换时只改voice一个参数。服务长期跑起来后生成的 wav 默认堆在static/wavs目录记得定期清理。如果还在做视频字幕配音可以把这套服务接进 pyVideoTrans在其设置里填请求地址默认 http://127.0.0.1:9966 视频工具就能直接调用这里的音色出片。收尾现在就跑python3 app.py趁模型下载的时候把 2222、7869、6653 逐个试一遍——你长期要用的那个声音大概率就藏在这三张卡里。【免费下载链接】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),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑