十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

ChatTTS-ui 本地语音合成实战:3 分钟生成你自己的专属音色

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-uiChatTTS-ui 是一款本地网页语音合成工具在浏览器里输入文字直接得到语音无需云服务、不配 API key。它内嵌 ChatTTS 模型支持中英混杂文本同时对外暴露 HTTP 接口方便程序调用。最有意思的是它的音色定制——一个数字就能选出生成的音色或者把中意的音色固定成文件反复使用。下面先用 3 分钟拿到第一段音频再逐个拆参数。快速上手3 分钟拿到第一段语音准备好 Python 3.93.11 环境三条命令即可git clone https://gitcode.com/GitHub_Trending/ch/ChatTTS-ui cd ChatTTS-ui pip3 install -r requirements.txt python3 app.py首次启动会自动下载模型优先 ModelScope连不上再走 Hugging Face稍等片刻后浏览器自动打开http://127.0.0.1:9966。在网页里输入文字、选个音色、点生成就能听到效果。不想用网页也可以直接调 APIcurl -X POST http://127.0.0.1:9966/tts --data text你好这是一次本地语音合成测试返回的 JSON 里有filename本地 wav 路径和url可下载地址拿到 url 直接播放即可。音色定制核心5 个参数决定声音长什么样voice决定音色的数字。内置预置音色为2222 | 7869 | 6653 | 4099 | 5099也可以传任意数字。如果 speaker/ 目录里有同名文件如2222.csv就直接用文件里的音色没有同名文件时这个数字会当作随机种子生成一个新音色并自动保存回 speaker 目录。它就像电视的频道号——频道有节目就播节目没有频道就随机切台。调完效果差在哪纯靠数字生成音色时不同机器、甚至同一台机器重复生成音调都可能漂移想固定声音就不能只依赖数字。custom_voice大于 0 的整数种子一旦设置就覆盖voice。类比成手动输入频道号优先于预置菜单。适合我就想要这一个种子对应的声音的场景。temperature随机度旋钮默认 0.3。就像音量旋钮拧小声音更稳——设 0.10.2 时语调几乎不走形适合播报调到 0.5 以上会有更多起伏但偶尔会读得放飞。prompt特殊标记串例如[oral_2][laugh_0][break_6]分别控制口腔音、笑声、停顿。它像剧本里的舞台提示告诉演员在哪里笑、在哪里停。空着就是正常陈述语气。skip_refine0 或 1。ChatTTS 合成前会先把原文润色成更适合朗读的形式refine 阶段设 1 跳过它生成更快但自然度下降。像交稿前要不要审一遍跳过快但容易留下生硬感。进阶工作流从单条到批量单条生成你已经会了。接下来是导入外部音色。0.96 版本内核升级后从外部站点下载的旧格式 pt 文件不能直接用转换流程是把以seed_开头、_emb.pt结尾的文件放进 speaker/然后运行 cover-pt.pypython cover-pt.py脚本会把它们转换成以-covert.pt结尾的文件转换完成后原文件可以删掉。再往上就是批量产出。API 支持 GET/POST 两种请求方式用 Python 循环调用即可音频统一落在static/wavs/目录文件名自带seed、tetemperature、tptop_p、tktop_k等信息方便回溯参数import requests for i in range(10): r requests.post(http://127.0.0.1:9966/tts, data{ text: f第{i}条测试文本请查收。, voice: 2222, temperature: 0.3, top_p: 0.7}) print(r.json()[audio_files][0][url])跑完觉得哪条参数合适把对应音色种子记录下来或存成文件即可。目录越积越大时可以调用/clear_wavs接口清空。调参实战三种常见场景的参数配方top_k默认 20一般不用动。下面三套组合可以直接抄场景基础音色temperaturetop_p特殊标记一句话点评正式播报22220.20.6不加语调稳定不走形新闻口播首选轻松闲聊78690.350.7[oral_1][break_2]带点口腔音和停顿更像在说话有声读物40990.30.7[break_3]句间停顿拉长长文听不累不确定音色听感的话先用几个不同数字各生成一句同样的文本对比再定参数。避坑清单4 个高频问题的解法症状原因解法首次启动卡在下载启动时自动拉模型网络或代理问题确认能连 ModelScope用 ModelScope 下载时关掉代理同一数字在别人机器上声音不同数字只是种子README 明确说明跨设备会有差异用 speaker 目录里的同名.csv/.pt文件固定音色外部下载的 pt 文件用不了0.96 内核升级后旧格式不兼容放入 speaker 目录跑python cover-pt.py转换有 N 卡却还在用 CPU装的是 CPU 版 torch或显存不足 4G卸载后重装 cu128 版 torch显存低于 4G 是设计上强制回退 CPU部署和性能上再记三点GPU 加速需要显存 4G 以上加 CUDA 12.8设备选择逻辑见 app.py要在局域网访问改.env里的WEB_ADDRESS如192.168.0.10:9966报错排查优先查 faq.md。写在最后一句话回顾音色靠数字或文件temperature管稳定prompt管戏感批量就是循环调 API。下一步建议用 5 个不同种子各生成一段试听挑中意的那个存进 speaker 目录固定下来之后所有合成都基于它微调参数即可。【免费下载链接】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),仅供参考
返回列表