ChatTTS-ui 本地语音合成实战:10分钟跑通自己的 TTS 服务
ChatTTS-ui 本地语音合成实战10分钟跑通自己的 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丢一段中英文、数字混在一起的文本几秒后就能拿到一条能听的 wav 音频。跟着这篇装完你的机器上就多了一个本地语音合成服务——网页能操作/tts接口能调用。核心入口在 app.py。 最快跑通五步拿到可用界面挑最省事的 Windows 预打包路线五步就能让服务跑起来从项目 Releases 页下载最新 Windows 压缩包解压到任意目录如D:\ChatTTS-ui。双击app.exe首次运行会自动下载模型文件耐心等一会儿。盯着控制台直到出现启动: [0.0.0.0, 9966]字样。浏览器打开http://127.0.0.1:9966进入操作页面。输入文字、选一个音色点击生成页面里直接播放合成结果。若安全软件对这个 exe 报毒可暂时退出软件或把它加入信任处理不了就改用后文的源码路线。 零配置方案预打包版能省掉什么上面五步就是预打包版的全部操作它额外帮你省去了模型下载首次启动自动落到程序本地目录并缓存后续启动不再重复下载。显卡配置英伟达显卡显存大于 4G 且装有 CUDA 12.8 时自动启用 GPU 加速无需改任何配置。音频工具ffmpeg一款通用的音视频处理工具已随包提供不用自己装。如果首次模型下载因网络中断看下文“模型与音色”一节补齐文件重新启动即可。 容器化方案Docker 一条命令拉起服务适合服务器场景宿主机不用装任何 Python 依赖克隆代码并进入目录git clone https://gitcode.com/GitHub_Trending/ch/ChatTTS-ui.git chat-tts-ui cd chat-tts-ui按机器情况二选一启动# GPU 版机器带英伟达显卡 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日志出现 9966 启动信息后本机访问http://127.0.0.1:9966局域网则用服务器IP:9966。仓库里的 docker-compose.gpu.yaml 和 docker-compose.cpu.yaml 可直接使用。日后升级时拉取新代码在 compose 命令后加--build重建镜像即可。 源码方案三个平台的差异一次讲清三个平台的共同步骤一致装 Python 3.9–3.11 → 建 venv 虚拟环境相互隔离的 Python 环境不污染系统→ 激活 →pip install -r requirements.txt→ 装 torch →python app.py启动。差异集中在前后两端Windows安装 Python 时勾上 “Add Python to environment variables”把代码放进D:\chattts后在地址栏输cmd回车在弹出的窗口里克隆仓库。Linux先装系统依赖sudo apt install python3.10 python3.10-venv ffmpeg gitCentOS/RHEL 换用 yum。MacOS用 Homebrew 装依赖brew install libsndfile libomp git python3.10libsndfile 是 soundfile音频读写库的前置缺了它 soundfile 装不上。torch 按有无显卡二选一# CPU 版 pip install torch2.7.1 torchaudio2.7.1 # GPU 版需先安装 CUDA 12.8 Toolkit pip install torch2.7.1 torchaudio2.7.1 --index-url https://download.pytorch.org/whl/cu128最后执行python app.pyMac/Linux 为python3浏览器会自动打开默认地址http://127.0.0.1:9966。模型首次从公共源下载下载期间保持代理关闭。️ 模型与音色什么时候才需要手动平时不用管这一节程序首次启动就从公共源魔搭 modelscope一个公共模型下载站点不可用代理把模型下到本地models目录之后一直用缓存。需要动手的是两种情况模型缺失或不全。典型症状是首启报path.yaml找不到、或Missing spk_stat.pt。从公共模型仓库补下载缺失的文件放进models/pzc163/chatTTS/对应子目录重启即好。想固定音色。默认在界面输入任意数字 seed随机数种子同数字同音色即可得到一个生成的音色。要反复使用某个特定声音把 csv 或 pt 音色文件放进 speaker/ 目录再在界面按文件名调用。从体验页下载的 pt 文件不能直接用先跑python [cover-pt.py](https://link.gitcode.com/i/10c111a743fbe8149965b98b99cc4891)转成-covert.pt结尾的文件删掉原文件。同一 seed 换台机器音色会有细微差别属正常现象。 接口调用粘一段脚本就能出音频服务跑起来后其他程序发一个 HTTP POST 就能合成音频import requests res requests.post(http://127.0.0.1:9966/tts, data{ text: 欢迎使用 ChatTTS-ui 本地语音合成服务, voice: 3333, temperature: 0.3, top_p: 0.7, top_k: 20 }) print(res.json())成功返回code:0其中audio_files数组每项含 wav 文件路径和可下载的url请求里加wav1则直接返回 wav 文件流。参数类型说明textstr必填要合成的文字支持中英数字混杂voicestr可选默认 2222音色 seed 数字或 speaker 目录下的音色文件名promptstr可选控制符如[laugh_0][break_6]temperaturefloat可选默认 0.3发音随机程度top_p / top_kfloat / int可选默认 0.7 / 20采样范围skip_refineint可选默认 0置 1 跳过文本润色速度快一些custom_voiceint可选默认 0正整数时作为音色种子并忽略 voicespeedint可选默认 5语速档位️ 排障速查按症状找解法症状大概率原因一条命令/操作解决首启报path.yaml找不到模型没下全重启程序重下或手动补文件到models/pzc163/chatTTS/config/报Missing spk_stat.pt公共源模型少了该文件从 ChatTTS 官方仓库下spk_stat.pt放到models/pzc163/chatTTS/asset/下载时ProxyError开了代理魔搭源不允许走代理关闭代理后重跑Mac 报libomp.dylib初始化冲突系统 OpenMP 库冲突已内置KMP_DUPLICATE_LIB_OKTrue开关仍报错就手动加该环境变量Mac 进度条卡在 0%编译优化不兼容在 .env 里设compilefalseWindows 报 triton 找不到编译特性不受支持同上compilefalseDynamo is not supported on Python 3.12Python 版本过高换 Python 3.10 重建虚拟环境有英伟达显卡却一直走 CPU装的是 CPU 版 torchpip uninstall -y torch torchaudio后按源码方案重装 cu128 版端口 9966 被占用其他服务占了端口改 .env 里WEB_ADDRESS为空闲端口⚡ 进阶提示显存低于 4G 会自动退回 CPU也可在 .env 的device字段显式指定cpu|mps|cuda。想让局域网访问把WEB_ADDRESS改成实际 IP如192.168.0.10:9966。Linux 后台运行可用nohup python3 app.py 日志落在logs/目录。没在上面找到你的问题就去项目仓库的 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),仅供参考