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 合成语音,默认音色听着没味儿?直接从speaker/目录拿 25 个预置音色,再调一下temperature和top_p,十分钟就能出能用的新闻腔、情感腔和儿童故事腔。
为什么调了半天参数,声音还是"不对"
找不到合适音色时,多数人的第一反应是盲调:随便换个 seed、动一下温度,合成一遍听效果,往往折腾二三十次才出个能听的。其实 ChatTTS-ui 的音色问题可以拆成两件独立的事——"谁在说"(音色号)和"怎么说"(采样参数)。前者用预置音色文件锁死,后者只做微调,试错次数能从二三十次压到两三次。下面是社区验证过的音色号加参数组合。
四组配方一览
| 配方 | 适用场景 | 关键参数 | 一句话听感 |
|---|---|---|---|
| 新闻播报腔(1983) | 新闻资讯、正式公告 | temperature=0.1top_p=0.701top_k=20 | 稳、干净,不飘,适合长口播 |
| 情感主播腔(7869) | 小说朗读、情感故事 | temperature=0.3top_p=0.85top_k=30 | 有起伏、有停顿,像真人播读 |
| 儿童故事腔(3333) | 儿童教育内容 | temperature=0.4top_p=0.65top_k=15 | 活泼带点俏皮,不闷 |
| 企业客服腔(4444) | IVR 语音导航 | temperature=0.2top_p=0.75top_k=25 | 中性礼貌,电话场景不出戏 |
新闻播报腔怎么拿:锁死种子 1983
适合谁:需要批量产出新闻、公告类长音频的人。
怎么配:1983 不在预置音色清单里,网页界面填"自定义音色值"、API 传custom_voice=1983,首次生成后会保存成 csv 锁定音色。参数取temperature=0.1、top_p=0.701、top_k=20,这组调得低是因为新闻腔不能飘,采样空间一松,长句尾音就容易挑出怪音节。
听感 / 踩坑:音色接近正经新闻主播,句读清晰。注意首次生成后 csv 会成为基准,之后同音色号再合成就以 csv 为准,不会漂。
情感主播腔直接用 7869 就行
适合谁:做小说朗读、有声故事的人。
怎么配:speaker/7869.csv是仓库自带预置音色,voice直接传 7869,不用赌 seed。参数用temperature=0.3、top_p=0.85、top_k=30,采样空间放开一点,是因为朗读腔需要起伏和停顿才不像念稿。
听感 / 踩坑:播读有轻重变化,接近真人。⚠️top_p别超过 0.9,再高会偶发读错字,0.85 是稳妥上限。
儿童故事腔的温度怎么抬
适合谁:录制儿童教育、绘本讲解内容的人。
怎么配:speaker/3333.csv同样是预置音色。temperature=0.4、top_p=0.65、top_k=15,这组把温度抬一点是为了让语气带点俏皮,但top_k压小是因为儿童内容连句多,采样范围一宽,音色容易一句换一个人。
听感 / 踩坑:语气有"哄孩子"的劲儿,配绘本正合适。若觉得过于跳脱、角色音色不稳,把温度回落到 0.3 即可。
企业客服腔:4444 的中性音
适合谁:IVR 导航、电话通知类音频。
怎么配:speaker/4444.csv预置音色,voice传 4444。temperature=0.2、top_p=0.75、top_k=25介于"太机械"和"太随意"之间,是因为电话场景既要规范又不能像机器人念菜单。
听感 / 踩坑:礼貌不腻,但情绪少,做营销口播会显得冷淡。想要人味一点,直接换 7869 音色、参数保持不动。
组合与进阶:音色和参数自由混搭
混搭的关键是认清"音色"与"风格"是两个独立维度:voice/custom_voice决定谁来说,temperature/top_p/top_k决定怎么说。比如拿 7869 的音色配新闻腔参数,会得到"正式播音腔在读小说"的效果;想要自然停顿或笑声,用prompt控制符:
import requests # 音色固定(voice),风格微调(三参数),语气控制(prompt) res = requests.post('http://127.0.0.1:9966/tts', data={ "text": "大家好,这是一段 ChatTTS-ui 音色演示", "voice": "7869", # speaker/ 目录里的预置音色 "prompt": "[break_2]", # 插入一处自然停顿 "temperature": 0.1, # 压回新闻腔 "top_p": 0.701, "top_k": 20, }) print(res.json()["audio_files"][0]["url"])音色在哪,参与入口在哪
- speaker/:25 个预置音色 csv 文件,文件名即音色号,下载即用
- cover-pt.py:把外部下载的 pt 音色转换成 0.96+ 内核可用格式
- app.py:服务主入口,
/tts接口的全部参数定义在这里
想从零开始的话,git clone https://gitcode.com/GitHub_Trending/ch/ChatTTS-ui后执行python app.py即可。如果你调出了顺耳的音色号和参数组合,欢迎在社区分享出来添一条。
这几个坑注意一下
同一个音色号,我合成出来和别人的不一样?正常现象,官方明确说明:不同机器、甚至同机重复生成,相同 seed 的音色都可能漂移。要稳定就用 csv/pt 音色文件锁定,别裸赌 seed。
0.96+ 下外部下载的 pt 音色不生效?ChatTTS 内核升级后旧格式不直接认了,执行python cover-pt.py转换,用生成的-covert.pt后缀文件即可。
voice和custom_voice到底用哪个?custom_voice传大于 0 的整数时会优先生效并忽略voice,适合"赌 seed 找音色";已有预置音色文件时,voice直接传文件名(不带扩展名)更稳。
【免费下载链接】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),仅供参考