ChatTTS-ui 本地语音合成实战:3 条部署路径、音色种子与 /tts 接口全拆解
2026/9/20 22:01:30 网站建设 项目流程

ChatTTS-ui 本地语音合成实战:3 条部署路径、音色种子与 /tts 接口全拆解

【免费下载链接】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 模型,提供网页界面和 /tts 接口,文字转语音全程离线运行,适合不想把文本交给第三方接口的内容创作者,以及想给自有程序接配音能力的开发者。

一、先把服务跑起来:按你的情况选一条路

新手:Windows 预打包版

从项目 Releases 下载压缩包,解压后双击app.exe即可。首次运行会自动拉取模型(约 2GB),之后浏览器会直接打开操作页,默认地址http://127.0.0.1:9966。个别安全软件会对预编译包误报,遇到这种情况就换下面的方式。

服务器环境:Docker 容器

git clone https://gitcode.com/GitHub_Trending/ch/ChatTTS-ui cd ChatTTS-ui docker compose -f docker-compose.gpu.yaml up -d # 无独显就改用 docker-compose.cpu.yaml

容器启动后访问服务器 IP 的 9966 端口,日志里出现启动:['0.0.0.0', '9966']即部署完成。GPU 版本基于Dockerfile.gpu构建,需要宿主机装好 NVIDIA 驱动。

想改代码:源码部署

Python 版本限定 3.9~3.11,不支持 3.12 及以上。建好 venv 后执行pip install -r requirements.txt,再按 requirements.txt 安装对应平台、对应 CUDA 版本的 torch,最后python3 app.py启动。模型默认从阿里魔塔下载,连通 huggingface 则改走 huggingface,两边都不需要走代理。

二、核心玩法实测:从输入到产物的完整过程

网页合成。在文本框里粘贴文案,中英数字混杂可以直接写,界面有中英分词选项,选中后中文和英文被拆开分别合成,数字按目标语言读出来(123 在中文语境读作"一二三")。选一个音色点生成,产物是 24kHz 的 WAV,落在static/wavs/,页面上可以直接试听、下载。

固定音色。speaker/目录里存放的 csv 文件就是可用音色,界面下拉框会列出它们。想要一个"自己的声音":在高级选项里填一个自定义音色值,系统据此合成出音色并回存到speaker/目录;之后在 API 里用custom_voice传同一个值,就能锁定这个音色。

情感标签。文本里插入[laugh_0][break_2][emph_1]这类控制符,分别对应笑声、停顿、强调,它们会被拼进合成 prompt 里,出来的语音会带着对应表现,不用后期再剪。

/tts 接口。这是程序对接的入口:POST 到/tts,传textvoiceprompttemperature(默认 0.3)、top_p(默认 0.7)、top_k(默认 20)等参数,返回 JSON,里面带 WAV 绝对路径和可下载的 URL。接口同时兼容 pyVideoTrans 的调用格式,视频翻译工具可以直接把它挂进去做配音。

三、真实用法举例

做视频的人最省事的流程:每集文案直接 POST 给/tts,固定 voice 值保持全剧配音统一,需要停顿或强调的位置写进[break_2][emph_1],批量出片不用反复进录音棚。

做课件的老师:挑一个音色存成固定值,整门课的音频用同一嗓子讲,句中用[break_2]留出思考停顿,生成后导出 WAV 即可嵌入 PPT 或课程平台。

无障碍阅读场景:把文档文本直接交给本地服务转成音频,内容只在本机流转,不经过任何外部接口,涉及隐私的素材也能放心处理。

四、避坑指南

现象:首次启动卡在模型下载或报 ProxyError。原因:模型源按网络环境分流——大陆 IP 直连走阿里魔塔,国外 IP 走 huggingface,开代理反而会让两边都不通。解法:关掉代理重试;若启动时报Missing spk_stat.ptpath.yaml缺失,说明模型包不完整,手动补齐对应文件到models/pzc163/chatTTS/下。

现象:显卡显存大于 4G,实际却在用 CPU 跑。原因:装的是 CPU 版 torch,显存低于 4G 时项目也会强制走 CPU。解法:先pip uninstall torch torchaudio,再从 cu128 源重装 GPU 版 torch,并确认系统装了 CUDA 11.8 及以上。

现象:同一个 seed,音色对不上。原因:ChatTTS 按 seed 采样音色向量,采样本身带随机性,不同设备、甚至同一设备多次运行都可能偏。解法:别依赖 seed 跨环境复现,把满意的音色存成.pt文件放进speaker/,以后直接加载文件。

现象:启动直接抛Dynamo is not supported on Python 3.12原因:torch 编译优化不支持 3.12+。解法:降到 Python 3.10 左右重建环境;macOS 上额外brew install libsndfile,否则 soundfile 装不上。


不想把文本交给第三方 API 的创作者、需要长期稳定配音服务的开发者,这套东西能直接顶上。部署细节以仓库 README 为准,报错和离线部署方法都整理在 faq.md 里;改端口、绑定设备则编辑根目录的.env,调整WEB_ADDRESSdevice两项即可。

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询