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 音色定制说白了就三件事挑一个音色编号、调采样参数、把口齿笑声停顿写进 prompt。它是一套本地化语音合成工具网页界面和 API 同时提供文本从不出机器。读完这篇你能直接对着本地服务发出带自定义音色种子值的请求并把从格式转换到批量产音的整条流水线跑通。敢不敢现在就敲一条命令试试改哪个旋钮听到什么变化参数和听感的对应关系一张表说清。三个入口voice 选预置编号custom_voice 传种子值prompt 写控制符改哪个听到什么变化如下。输入怎么给你能听到什么voice2222预置音色编号固定的预置声线2222、7869、6653、4099、5099 各是一个独立音色custom_voice8888大于 0 的整数种子值该编号对应的随机音色首次请求会生成并落盘之后一直可用prompt[oral_2]控制符字符串口齿音效增强咬字更实适合需要清晰度的旁白prompt[laugh_1]控制符字符串语音中混入笑声活泼度明显上去prompt[break_3]控制符字符串句间停顿拉长节奏放缓、更从容想确认效果边界可以直接打服务。这段代码验证只改一个整数参数同一服务就能给出不同的声线。import requests res requests.post(http://127.0.0.1:9966/tts, data{ text: 自定义音色测试, custom_voice: 8888, temperature: 0.3, top_p: 0.7, top_k: 20 })注意 custom_voice 优先级高于 voice只要传了大于 0 的 custom_voicevoice 参数会被忽略这是 接口逻辑 里写死的。音色资产流水线目录、转换、批量、验证一条线走完音色资产这件事我按四步串着做每步都给你做什么、怎么做、怎么验。目录结构先弄清音色放哪、系统认什么格式。speaker 目录支持两种文件.pt是 PyTorch 张量格式.csv是逗号分隔值格式get_speakers() 函数只扫这两种后缀。验法重启服务后页面音色下拉框或 get_speakers() 的返回列表里出现这个编号就算被认了。格式转换0.96 版本内核升级后从 ModelScope 下载的旧.pt不能直接用。做法是把文件放进 speaker 目录保持seed_开头、_emb.pt结尾的默认命名然后执行python cover-pt.pycover-pt.py 会产出一个_emb-covert.pt结尾的新文件。验法脚本打印转换完成 N 个且目录里出现-covert.pt文件保留这个即可。批量生成想一次听很多候选音色就写脚本循环。这段代码验证一个循环能否稳定产出成批的候选音色文件。import torch import ChatTTS chat ChatTTS.Chat() chat.load(sourcecustom, custom_path./, devicecuda) for seed in range(1000, 2000, 100): torch.manual_seed(seed) torch.save(chat.sample_random_speaker(), fspeaker/{seed}.pt)验法目录里新增的.pt数量等于种子个数一个不少。质量验证音色生成后拿固定文本合成试听样本放进 listen-speaker 目录存档文件名按惯例写全参数seed、tetemperature、tptop_p、tktop_k、textlen例如seed1983-te0.1-tp0.701-tk20-textlen5。验法回听时看文件名就能说出这条音色是哪组参数产出的不用翻请求日志。效果配方手册三行 prompt 直接抄控制符不用你现编下面三个配方我都在真实文本上跑过直接复制使用即可。纪录片旁白[oral_2][laugh_0][break_6]— 预期听感是咬字清晰、几乎无笑声、停顿长而稳整体偏沉稳。儿童故事 / 带货口播[oral_1][laugh_2][break_1]— 预期听感是偶尔带笑、节奏快、活泼不拖沓。商务播报[oral_2][laugh_0][break_3]— 预期听感是停顿得体、无多余笑声接近正式播报的语气。生产落地三步选卡、调参、压测 选卡服务按device环境变量挑执行设备显存低于 4GB 时自动降到 CPU正式部署建议 CUDA 11.8 且 8GB 显存。这段代码验证没有显式指定设备时服务是怎么自己挑执行设备的。device_str os.getenv(device, default) if device_str cuda: device select_device(min_memory2047) elif device_str cpu: device torch.device(cpu) else: device select_device(min_memory2047, experimentaldevice_str mps)调参正式音色把 temperature 压在 0.1–0.5 之间起步再按听感微调偏高声线会飘。压测同一批文本走 API 批量出多条候选从中挑定稿重复使用的音色文件加载一次留在内存里复用多音色任务开多线程并行跑。排错速查卡30 秒定位问题现象大概率原因30 秒内能做的动作转换后的音色文件用不了旧内核seed_*.pt没转成 0.96 新格式执行python cover-pt.py改用-covert.pt结尾的文件音色平淡、prompt 像没生效temperature 太低采样几乎没有变化把 temperature 调到 0.1–0.5 重新合成同一句话对比语音质量差模型 asset 目录缺文件、下载不完整重新下载模型确认 asset 目录文件齐全有 GPU 但推理很慢CUDA 版本过旧升级到 CUDA 11.8显存留到 8GB自定义编号每次听感不一致speaker 目录无同名文件走了种子随机生成改用已落盘的.pt/.csv文件名或用 custom_voice 生成一次后复用现在就跑一遍打开你本地的服务先用 8888 这个种子值跑一条音频跑通了再回来抄配方。卡住就先对照上面的速查卡还解决不了就带参数和报错原文去仓库 issue 区提问比空口描述快得多。【免费下载链接】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),仅供参考
返回列表