ChatTTS 音色定制完整指南:4 步打造你的专属语音
发布时间:2026/10/18 1:18:12 锦皓数字建站

ChatTTS 音色定制完整指南4 步打造你的专属语音【免费下载链接】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 音色定制完全不用碰模型——只要选对一个音色值seed就能生成一个完全属于你的新声音再存成可复用的语音包。这篇文章带你走完找音色 → 调参数 → 存语音包 → API 集成的完整流程。先认识 ChatTTS-ui 的 3 个核心能力内置音色库先听后用speaker/ 目录自带 20 多个 csv 格式音色2222、7869、6653、4099、5099 等页面上直接选择即可合成试听。填个数字就能造音色在音色值输入框填一个大于 1 的整数系统会按这个数生成固定音色你一旦合成过它会以这个数值命名自动存成 csv 音色文件之后随时复用。一键对外提供 API对/tts接口发一个 POST 请求即可拿回音频文件路径与下载地址方便把定制音色集成进你自己的应用。准备工作一条命令启动服务准备 Python 3.9–3.11 环境后把项目克隆到空目录git clone https://gitcode.com/GitHub_Trending/ch/ChatTTS-ui .执行pip install -r requirements.txt装好依赖再运行python3 app.py。首次启动会自动下载模型从 modelscope 下载时请关闭代理默认打开http://127.0.0.1:9966。分步操作搭好你的语音包第 1 步启动服务确认基准链路目的先确保整条合成链路是通的再去动任何参数。操作打开默认地址输入一句普通文字其余参数不动点击立即合成声音。验证页面出现可播放的音频static/wavs/目录里生成了对应的 wav 文件。第 2 步试听预设音色定一个起点目的先建立我喜欢哪一类的感觉后面找 seed 才不会乱试。操作在选择音色下拉框里逐个切换预设音色或用默认 2222 作为基准对比。验证能说出至少 2–3 个音色的偏好比如7869 的厚音色我喜欢但语速偏快。第 3 步用音色值seed生成全新音色目的创造音色库里没有的新声音。操作在音色值输入框填一个大于 1 的整数建议 1000–10000 之间取 3–4 位数如 3000、6000、9000再合成。注意填了它就覆盖左侧下拉框的选择。验证生成的声音与预设明显不同同时 speaker/ 目录下会多出一个以该数字命名的 csv 文件如3000.csv保存逻辑见 uilib/utils.py。从这一刻起这个音色就是你的了。第 4 步微调三件套参数锁定音色状态目的让同一个音色听起来更稳、更自然。操作小步调整temperature、top_p、top_k参考下面速查表的推荐值每次改一组再合成对比。验证找到一个音色 稳定性 语感都过关的参数组合并把这组数字记下来。第 5 步可选转换外部下载的 pt 音色目的让从其他站点下载的音色文件能在本项目里直接使用。操作把下载好的、以seed_开头、.pt结尾的文件放进 speaker/执行python cover-pt.py。验证出现同名、以-covert.pt结尾的转换文件确认无误后删掉原始.pt只保留转换后的文件说明见 cover-pt.py。第 6 步通过 API 调用接入你的应用目的把音色从网页试听变成产品里能用。操作发一个 POST 请求即可import requests res requests.post(http://127.0.0.1:9966/tts, data{ text: 这是一段 ChatTTS 音色定制生成的语音示例, custom_voice: 3000, # 你确定的音色值 temperature: 0.3, top_p: 0.7, top_k: 20 }) print(res.json()) # 成功时含 audio_files文件路径与下载地址验证返回 JSON 中code:0且audio_files里有filename和url直接用url播放即可。参数速查默认值起步再谈微调参数默认值推荐范围一句话作用voice22222222 / 7869 / 6653 / 4099 / 5099从音色库选固定音色custom_voice0大于 1 的任意整数用 seed 生成音色一旦设置即覆盖 voicetemperature0.30.2–0.5越小越稳越大变化越多top_p0.70.6–0.8控制发音多样性平衡自然度与清晰度top_k2015–30候选范围调小音色更集中speed51–9语速越小越慢prompt空如 [oral_2][laugh_0][break_6]加入笑声、停顿、口语感等语气效果text_seed42保持默认文本处理随机种子固定后多次结果可复现skip_refine00 或 1文本含控制符或效果不稳时可设 1 跳过 refineinfer_max_new_token2048保持默认推理最大长度超长文本可加大refine_max_new_token384保持默认refine text 阶段最大长度想要稳的朗读感直接 temperature0.3、top_p0.7、top_k20想要对话感把 temperature 提到 0.5、top_k 放到 30 左右试试。高频问题自查清单现象自查项同一音色值声音不一样属正常现象相同 seed 在不同机器、甚至同一机器多次生成都可能不同想固定就靠已保存的 csv报错 Missing spk_stat.pt模型不完整按 faq.md 补齐该文件到models/pzc163/chatTTS/asset启动报 path.yaml 找不到模型下载不完整重新下载或手动补齐Dynamo is not supported on Python 3.12Python 版本过新降到 3.10cannot find a working triton installation把.env里compiletrue改为compilefalse从 modelscope 下载报 proxy 错误关闭代理modelscope 不支持代理下载音色不生效确认文件在 speaker/ 下且命名为数字.csv或seed_...-covert.pt有 N 卡但合成很慢安装 CUDA 12.8 并重装 cu128 版本 torch更多细节可翻阅 faq.md部署与接口说明见 README.md。场景适配3 个常见用法有声书 / 课程讲解要稳定厚实的声线用 7869 这类沉稳男声起步temperature 保持 0.3 不动长文按行分段合成想要更慢一点就把speed降到 4。App / 智能设备提示音要亲切有活力从 6653 或 5099 起步给prompt加一点[break_6]之类的语气标记更有人味同一设备多次调用想保持一致记得固定text_seed。中英混杂内容数字、字母要读对服务会按语言分行处理并把数字读成对应语言的文字中文下 123 → 一二三。建议中英文分开写若读出效果乱试着勾选跳过 refine textAPI 里即skip_refine1。上手清单⬜ 启动服务打开http://127.0.0.1:9966⬜ 试听至少 3 个预设音色记下偏好⬜ 用 3 个不同音色值如 3000 / 6000 / 9000各生成一个新音色⬜ 微调 temperature / top_p / top_k记录最好的一组参数⬜ 确认满意音色值对应的 csv 文件已出现在 speaker/⬜ 如有外部 pt 音色执行python cover-pt.py完成转换⬜ 用 API 发一次带custom_voice的测试请求确认集成可用下一步很简单现在就挑 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创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。