资讯详情

ChatTTS-ui 完整指南:本地文字转语音的 Web 界面与 API

📅 2026/11/5 3:39:06 | 华诺云谱 👁 阅读
ChatTTS-ui 完整指南:本地文字转语音的 Web 界面与 API
ChatTTS-ui 完整指南本地文字转语音的 Web 界面与 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-ui如果你不想把文本发到云端 API又觉得纯命令行调用语音合成模型太麻烦ChatTTS-ui 是一个可以直接上手的中间方案它把开源语音合成模型 ChatTTS 封装成本地网页界面和单一 HTTP 接口。启动后浏览器打开http://127.0.0.1:9966输入文字、调节参数即可得到可下载的 WAV 文件需要集成时同一个服务还提供POST /tts接口。支持中英文与数字混杂输入全程在本机运行。 5 分钟跑起来三种部署方式部署步骤放在最前面因为这是决定能不能用起来的第一步。三种方式按上手成本从低到高排列。Windows预打包版从项目 Releases 页面下载压缩包解压后双击app.exe即可浏览器会自动打开界面。两点注意部分安全软件可能对打包程序报毒可改用源码部署NVIDIA 显卡显存大于 4GB 且已安装 CUDA 12.8 时会自动启用 GPU 加速否则使用 CPU。Linux / macOS / Windows源码部署以 Linux 为例需要 Python 3.9–3.113.12 及以上不支持git clone https://gitcode.com/GitHub_Trending/ch/ChatTTS-ui cd ChatTTS-ui python3 -m venv venv source ./venv/bin/activate pip3 install -r requirements.txt pip3 install torch2.7.1 torchaudio2.7.1 # 需要 GPU 时改装 CUDA 版 torch python3 app.py首次启动会联网下载模型程序先检测能否连接 modelscope魔搭可以则从 modelscope 下载不可连接则回退到 huggingface.co。注意从 modelscope 下载模型时请关闭代理否则会出现 proxy 相关报错。容器部署仓库内提供了Dockerfile.cpu/Dockerfile.gpu和对应的 compose 文件在目录内执行即可端口映射为 9966docker compose -f docker-compose.gpu.yaml up -d # GPU 版本 # 或 docker compose -f docker-compose.cpu.yaml up -d # CPU 版本启动日志出现启动:[0.0.0.0, 9966]后局域网内访问IP:9966即可使用这让它比纯本地工具多一层内网小服务的用法。 功能全景它到底做了什么ChatTTS-ui 的能力可以归为四层每层都有可直接观察的行为Web 界面单页界面文本按行分段输入每行独立合成可选跳过 refine text、流式开关、语速滑块1–9默认 5生成结果以列表展示可播放、下载也可一键清理所有 wav 文件。音色管理speaker/目录内置约 25 个 csv 音色文件如2222.csv、7777.csv界面下拉框直接选用也可以输入任意大于 1 的整数作为自定义音色种子值程序会据此随机生成音色并自动保存为 csv 文件供下次复用。中英文与数字混排勾选中英分词后中文与英文被拆分到各自语言下合成数字按当前语言转成文字中文下 123 读一二三英文下读 one two three。对外 API与界面共用同一个/tts路由返回 JSON包含 wav 文件绝对路径和可下载 URL详见下文。环境行为由根目录的 .env 控制WEB_ADDRESS127.0.0.1:9966服务地址与端口、compilefalse是否启用 torch.compile、devicedefault可选cpu/mps/cuda。改局域网访问时把WEB_ADDRESS改成0.0.0.0:9966或内网 IP 即可。️ 参数怎么调才好用界面上的参数不多真正影响听感的是下面几个。默认值均来自 app.py 中的 defaults可以作为基准线参数默认值作用temperature0.3采样随机性越低越稳定越高越活top_p0.7采样多样性top_k20候选 token 数量上限voice/custom_voice2222 / 0音色种子custom_voice大于 0 时优先生效speed5语速1 最慢 9 最快prompt空控制符如[oral_2][laugh_0][break_6]表示口语化、笑声、停顿skip_refine01 表示跳过 refine text 阶段速度更快infer_max_new_token2048单次推理最大 token长文本可上调三组可直接套用的组合风格差异来自音色种子 采样参数的联动稳定播报voice2222temperature0.1top_p0.7top_k20skip_refine0。输出起伏小适合公告、新闻类文本。情感朗读voice7869temperature0.3top_p0.85top_k30。配合[oral_2]前缀语气更口语化适合小说或故事文本。快速出稿任意voicetemperature0.3top_p0.7skip_refine1。跳过 refine text 阶段后合成更快适合批量场景代价是文本不会被先润色一遍。一个需要提前知道的行为同一个音色种子在不同机器、甚至同一机器多次运行时生成的音色尤其音调会有差异。想要完全一致的音色应使用speaker/里的 csv 音色文件而不是裸种子值。 接入与扩展调用 /tts 接口集成场景只需要一个接口POST /tts表单或 query 参数均可text为唯一必填项。最小可用请求import requests res requests.post(http://127.0.0.1:9966/tts, data{ text: 这是一次本地合成测试, voice: 3333, }) print(res.json())成功时返回{code: 0, msg: ok, audio_files: [...]}每个元素包含filenamewav 绝对路径、url可下载网址、inference_time与audio_duration失败时返回{code: 1, msg: 错误原因}。另外两个实用行为请求加wav1时直接返回音频二进制而非 JSONPOST /clear_wavs可清空已生成的 wav 文件与界面里的清理按钮对应。二次开发时值得看两个位置参数解析与默认值集中在 app.py 的tts()函数里音色加载逻辑csv / pt / 种子值三条路径也在同一文件改动面小。pt 音色文件从 0.96 版起需要转换仓库提供了 cover-pt.py执行python cover-pt.py会把speaker/下以seed_开头、_emb.pt结尾的文件转成新格式-covert.pt结尾转换后删除原始文件即可。️ 调优与排障按现象 → 原因 → 处理压缩 faq.md 中的高频问题GPU 有但走 CPU或合成很慢显存低于 4GB 会被强制用 CPU属预期行为显存足够仍走 CPU通常是 torch 装成了 CPU 版卸载后按 CUDA 源重装pip install torch2.7.1 torchaudio2.7.1 --index-url https://download.pytorch.org/whl/cu128并要求 CUDA 12.8。模型下载失败proxy / HTTPS 报错从 modelscope 下载时不允许挂代理关闭代理重试若坚持用 huggingface 源按 faq 中说明修改 app.py 第 50–60 行附近的下载逻辑。报Missing spk_stat.pt或找不到path.yamlmodelscope 上的模型文件不完整手动补下缺失文件放到models/pzc163/chatTTS/对应子目录即可。Python 3.12 报Dynamo is not supported本项目要求 Python 3.9–3.11降级解释器。macOS 卡在 0% 或报 libomp 错误brew install libomp卡进度条则在加载模型处加compileFalse。长文本被截断默认infer_max_new_token2048超长文本可在界面调大该值或分多次合成。想完全离线源码部署并先联网跑一次下完模型再把 app.py 中snapshot_download(...)改为直接指向本地MODEL_DIR/pzc163/chatTTS。性能方面compile开关和显存是关键变量能上 GPU 且 CUDA 环境正常时优先用 GPU报 triton 相关错误时把.env里compile设为false即可绕过。 谁适合用谁不必用适合需要在内网/本机批量生成配音的创作者字幕配音、有声内容初稿希望本地保存语音数据、不想把文本发给云服务的用户需要给现有程序挂一个简单语音后端的小项目——一个 Flask 接口加 JSON 返回对接成本很低。不必用追求多语言当前以中英文混排为主、需要严格音色一致性用于商业配音的场景种子值音色存在跨次波动以及需要云端弹性并发的高流量服务——它是单机服务并发能力受本机性能限制。下一步建议按上面的步骤在本机把服务跑起来用voice2222和voice7869各合成一段相同文本对比后再决定是否固化成speaker/里的 csv 音色文件。参数调法与更多报错处理见 README.md 与 faq.md。【免费下载链接】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),仅供参考
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑