ChatTTS-ui 本地部署教程:三步跑通语音合成服务,含 API 接入 📅 发布时间:2026/9/20 4:02:05 👁 浏览次数: 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-ui本文带你完成 ChatTTS-ui 的本地部署——这是一个基于 ChatTTS 内核的网页语音合成服务。装好之后你手里有两样东西一个能用浏览器打开的中英文文字转语音界面和一个可供自己程序调用的 /tts 合成接口。Linux 上大约 10 分钟能跑通Windows 与 Mac 的步骤一致只是个别命令有差别。三分钟跑通克隆仓库并激活虚拟环境最短路径以 Linux 为例一条命令一行地敲即可git clone https://gitcode.com/GitHub_Trending/ch/ChatTTS-ui cd ChatTTS-ui python3 -m venv venv source ./venv/bin/activate激活后虚拟环境提示符前会出现(venv)后续所有安装都发生在其中不污染系统 Python。各平台的差异点Windows需要先装好 Python 3.9–3.11安装时务必勾选把 Python 加入 PATH 的选项激活命令换成.\venv\scripts\activate后面用python代替python3。Mac依赖用 Homebrew 准备brew install git python3.10 ffmpeg libsndfile libomp之后再按上面步骤创建 venv。ffmpegMac 和 Linux 装好包管理器里的 ffmpeg 即可Windows 需要单独下载ffmpeg.exe放到项目根目录的 ffmpeg/ 文件夹里下载说明见 ffmpeg/ffmpeg下载.txt。安装依赖按 GPU 或 CPU 选择 PyTorch依赖清单在 requirements.txtpip install -r requirements.txt清单里的torch2.7.1默认会装 CPU 版本能用但推理偏慢。如果你的机器有英伟达显卡显存 4G 以上且装了 CUDA 12.8先卸载再装 cu128 版本pip uninstall -y torch torchaudio pip install torch2.7.1 torchaudio2.7.1 --index-url https://download.pytorch.org/whl/cu128 pip install nvidia-cublas-cu11 nvidia-cudnn-cu11没有独显或不想折腾驱动就直接用默认 CPU 版功能完全一样只是慢一些。启动服务并确认生效python3 app.py首次启动会自动联网下载 ChatTTS 模型存到项目下的models/目录这一步耗时取决于带宽请耐心等待。看到控制台打印Start:127.0.0.1:9966并自动弹出浏览器后服务就在默认地址http://127.0.0.1:9966上运行了。随便输入一段中英文混合文字点合成能听到声音就说明部署完成。选择你的部署姿势按场景给推荐同一条源码路径三种玩法按场景选即可本机快速体验→ 源码部署或 Windows 预打包版不为任何服务器服务装完即开浏览器用Windows 用户也可以从官方 Releases 直接拿压缩好的成品省去装 Python 的环节。服务器常驻→ 源码部署 后台运行进程直接落在系统里tail日志、改 .env 都最顺手适合只给自己内网用的情况。容器化、多人共用→ Docker Compose环境固化在镜像里GPU/CPU 两套启动文件都已备好一条命令拉起也方便随时重建。容器化部署GPU 与 CPU 的 Docker 启动差异git clone https://gitcode.com/GitHub_Trending/ch/ChatTTS-ui chat-tts-ui cd chat-tts-ui # 有英伟达显卡主机需装好 NVIDIA 容器运行时 docker compose -f docker-compose.gpu.yaml up -d # 纯 CPU 机器 docker compose -f docker-compose.cpu.yaml up -d # 跟踪初始化日志 docker compose logs -f --no-log-prefix两份 compose 文件docker-compose.gpu.yaml / docker-compose.cpu.yaml的区别在于镜像基础Dockerfile.gpu基于 GPU 版 PyTorch 镜像以及是否申请 GPU 设备端口映射都是9966:9966且容器内监听0.0.0.0:9966——所以局域网里直接用http://服务器IP:9966访问无需再改地址配置。升级流程git pull origin main docker compose down docker compose -f docker-compose.gpu.yaml up -d --build docker compose logs -f --no-log-prefix模型与参数模型下载、音色配置、.env 速查模型下载机制与文件位置启动逻辑在 app.py优先检测本地models/pzc163/chatTTS/是否已有完整模型没有则联网补全——默认走 ModelScope 魔塔社区检测不到国内源时才回落到 Hugging Face。两个注意点从魔塔下载不能开代理开了会直接报 ProxyError想离线使用就在有网的机器上先完整跑过一次之后models/目录里就是全部所需文件。音色配置speaker 目录与 pt 文件转换固定音色以文件形式放在 speaker/ 目录支持.csv和.pt两种格式界面里填文件名不带扩展名或 API 里传对应值即可仓库自带了一批 csv 音色可试听。从社区站点下载的.pt音色是旧编码当前版本需要用 cover-pt.py 转一道python cover-pt.py脚本只处理speaker/下以seed_开头、_emb.pt结尾的文件转完会生成以-covert.pt结尾的新文件原文件即可删除。不传任何音色值时voice传一个纯数字 seed 也能用服务会按种子随机生成并自动缓存下来。注意官方说明同一 seed 在不同设备、甚至同设备不同时间音色都可能不同要绝对一致就存 csv/pt 文件。.env 三个关键变量打开 .env记事本即可一共三行WEB_ADDRESS127.0.0.1:9966 # 改成局域网 IP如 192.168.0.10:9966可对外访问 compilefalse # 报 triton / torch.compile 错误时保持 false devicedefault # default 自动选 cuda(显存4G)/mps/cpu也可手动指定 cpu|mps|cuda显存低于 4G 时系统会强制走 CPU这是设计行为而非故障。接入你的应用ChatTTS 语音合成 API 最小示例服务地址固定为http://127.0.0.1:9966以你实际WEB_ADDRESS为准合成接口是 POST/ttsimport requests res requests.post(http://127.0.0.1:9966/tts, data{ text: 这是由本地 ChatTTS 服务合成的一段语音。, voice: 3333, temperature: 0.3, top_p: 0.7, top_k: 20, skip_refine: 0, custom_voice: 0 }) print(res.json())成功时返回{code: 0, msg: ok, audio_files: [{filename: wav绝对路径, url: 可下载的wav网址, inference_time, audio_duration}]}失败时code为 1msg写明原因比如text params lost。url字段可以直接丢给浏览器或任何 HTTP 客户端下载音频。另外还有一个清理接口POST/clear_wavs可清空static/wavs/下的历史产物避免磁盘被占满。API 参数速查text必填要合成的文字支持换行分句中英混排会自动分行处理voice音色默认 2222可填 speaker 目录里的音色文件名或任意数字作为随机种子custom_voice正整数指定取种子的 seed设置后优先于voiceprompt控制符串如[oral_2][laugh_0][break_6]可带口吃、笑声、停顿temperature/top_p/top_k采样参数默认 0.3 / 0.7 / 20决定声音的随机感skip_refine1 表示跳过文本细化阶段速度更快但个别生僻写法可能读不准speed语速档位默认 5其余如text_seed、refine_max_new_token等均有服务端默认值不填即用默认故障自查症状 → 原因 → 解决启动报Dynamo is not supported on Python 3.12→ PyTorch 编译组件不支持 3.12 及以上 → 换 python 3.10删除 venv 重建。下载模型时ProxyError: HTTPSConnectionPool(hostwww.modelscope.cn...)→ 魔塔不接受代理流量 → 关闭系统或终端代理重新执行python app.py。报Missing spk_stat.pt或找不到path.yaml→ 模型文件不完整 → 补下载缺失文件spk_stat.pt放入models/pzc163/chatTTS/asset/path.yaml放入models/pzc163/chatTTS/config/补全后重启服务。Mac 进度条卡在 0%或报cannot find a working triton installation→ torch.compile 在当前环境不可用 → 确认 .env 里是compilefalse默认值就是 false检查是否被改过。Mac 报libomp.dylib相关错误→ 缺少 OpenMP 运行时 →brew install libomp。Mac 上pip install soundfile失败→ 缺系统库 →brew install libsndfile后重装。Windows 有显卡却只跑 CPU 或明显偏慢→ 装的是 CPU 版 torch 或 CUDA 版本过旧 → 执行安装依赖一节中的卸载 重装 cu128 命令需 CUDA 12.8若显存低于 4G则本就会被强制走 CPU属正常现象。局域网其他设备打不开页面→WEB_ADDRESS还是127.0.0.1→ 改成局域网 IP 后重启服务Docker 部署则直接访问服务器IP:9966。同样 seed 合成出来的声音和上次/别人机器上的不一样→ 这不是故障音色 embedding 本身带随机性 → 需要稳定音色就把它存成 csv/pt 放进 speaker/。更多细节可翻仓库内的 faq.md。项目源码即本文克隆的 ChatTTS-ui 仓库地址见开头 git clone 命令遇到这里没覆盖的问题欢迎到该仓库的 Issues 区反馈。【免费下载链接】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),仅供参考