ChatTTS-ui 实战:本地语音合成的部署、API 调用与调参路径
发布时间:2026/11/5 1:13:53 锦皓数字建站

ChatTTS-ui 实战本地语音合成的部署、API 调用与调参路径【免费下载链接】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把 ChatTTS 语音合成引擎封装成浏览器界面输入中英文、数字混杂的文本即可合成 wav 音频同时对外提供 /tts 接口供其他程序调用。 30 秒快速上手 ChatTTS-ui最短路径有两条Windows 预打包版从 Releases 下载最新压缩包解压后双击app.exe即可。Linux 容器版克隆项目后执行docker compose -f docker-compose.gpu.yaml up -d无 GPU 则用docker-compose.cpu.yaml。首次启动会自动下载模型默认走 modelscope 魔塔连不上时再尝试 huggingface。启动成功后浏览器自动打开http://127.0.0.1:9966在文本框输入内容、选择音色、点击“立即合成声音”就能在页面直接试听和下载。注意modelscope 不支持代理下载遇到 proxy 类报错请关闭代理。 场景速览视频配音与自媒体把稿件贴进文本框生成旁白逐行文本会分别合成再合并。业务系统集成客服、导航、有声阅读类应用通过 HTTP 直接调用 /tts 接口。教育与无障碍批量生成课文、教学音频为视障用户做文字朗读。游戏与有声书用不同音色种子区分角色声音批量产出章节音频。工具链串联pyVideoTrans 1.82 在设置里填入本服务地址即可作为翻译配音后端。⚙️ 核心能力拆解双模式共用一套参数浏览器页面与 API 请求都打到同一个 /tts 路由默认值一致页面合成完成后还会自动给出可直接复制的 API 调用代码。音色种子机制任意正整数种子如 2222、7869、6653、4099都能得到一个音色固定音色则把 csv 或 pt 文件放进speaker/目录服务会自动识别并列入下拉框。参数精细调节temperature、top_p、top_k、speed、text_seed、infer_max_new_token 等全部带默认值页面滑块和 API 字段都能覆盖。跨平台部署Windows 预打包、Linux/macOS/Windows 源码部署、docker composeGPU/CPU 两套文件.env可改监听地址与计算设备。 动手实践部署与 API 调用最简源码部署Linuxpython 3.9–3.11cd /data/chattts git clone https://gitcode.com/GitHub_Trending/ch/ChatTTS-ui . python3 -m venv venv source venv/bin/activate pip3 install -r requirements.txt pip3 install torch2.7.1 torchaudio2.7.1 python3 app.py容器部署docker compose -f docker-compose.gpu.yaml up -d # GPU 版本 docker compose -f docker-compose.cpu.yaml up -d # CPU 版本 docker compose logs -f --no-log-prefix # 查看初始化日志启动后默认监听http://127.0.0.1:9966。局域网访问就把.env里的WEB_ADDRESS改成0.0.0.0:9966或本机 IP。启用 GPU 需要英伟达显卡 4G 以上显存和 CUDA 12.8此时需单独重装 cu128 版 torch显存不足 4G 会强制走 CPU。最简 API 调用示例POST 请求/tts只有text必填其余字段不填即用默认值import requests res requests.post(http://127.0.0.1:9966/tts, data{ text: 这是一段在本地机器上合成的语音。, voice: 7869, temperature: 0.3, top_p: 0.7, top_k: 20 }) print(res.json()) # 成功: {code:0,msg:ok,audio_files:[{filename:...wav,url:http://127.0.0.1:9966/static/wavs/xxx.wav}]} # 失败: {code:1,msg:错误原因}audio_files中每个元素含filenamewav 绝对路径与url可下载地址还带推理时长和音频时长。请求加wav1时响应体直接是 wav 二进制方便浏览器预览。其余可选字段prompt控制符如[oral_2][laugh_0][break_6]、speed、text_seed、skip_refine、custom_voice、infer_max_new_token完整定义见 API 源码。️ 调参实战按场景配置音色参数默认值为 temperature 0.3、top_p 0.7、top_k 20。temperature 越低发音越稳定top_k 越大变化越多。以下组合供起点参考实际效果以试听为准场景音色种子temperaturetop_ptop_k说明新闻、公告播报22220.10.610随机性低读法稳定情感朗读、小说78690.40.820允许语调起伏儿童故事66530.50.8530变化大节奏更活泼客服、导航提示40990.20.715专业、平稳两点提醒种子可填任意正整数填了custom_voice就忽略voice同一台机器同一种子多次合成音色也可能有漂移尤其音调重要项目建议改用speaker/目录下的 csv/pt 音色文件固定下来。️ 请求链路与项目结构一次合成的请求链路是分层走的入口层浏览器或 HTTP 客户端路由层Flask 应用/返回页面templates/index.html/tts处理合成引擎层ChatTTS 内核依次做文本规范化、refine text、语音码推理、vocode 解码模型层models/目录存放权重按显存与.env的device配置自动选 cuda/mps/cpu输出层wav 写入static/wavs/响应返回文件名与 URL。️ 常见问题与排查方法音色和预期不一致→ 种子本质是随机音色换台设备结果就不同。固定音色请用speaker/目录的 csv/pt 文件旧格式的seed_*_emb.pt文件先执行python cover-pt.py转换成-covert.pt结尾的新格式。GPU 未启用或合成很慢→ 需 4G 以上显存加 CUDA 12.8执行pip uninstall -y torch torchaudio后重装 cu128 版 torch。若报 triton 相关错误把.env中compiletrue改为false。模型下载报 ProxyError 或缺文件→ modelscope 仅支持不走代理的直连关闭代理重试缺path.yaml、spk_stat.pt等文件时按 FAQ 文档 手动补齐到对应 models 目录。API 返回错误→ 先确认服务已启动、text非空成功响应为code0失败为code1具体报错记录在logs/目录的日志文件里。 生态与后续社区持续在 FAQ 与 issue 中沉淀音色种子分享和排错经验pyVideoTrans 等开源工具已将其作为后端直接对接。0.96 版本随 ChatTTS 内核升级引入了音色文件转换脚本speaker/目录也内置了多组 csv 音色。后续方向集中在更多语言支持与流式合成。下一步下载最新 Release先跑通第一个 /tts 请求再用 2222 和 7869 两个种子各合成一句对比听感接着把 temperature 从 0.3 调到 0.1 感受稳定性变化。这套流程走完部署、调参、集成三件事就都有了手感。【免费下载链接】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),仅供参考
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。