jianchang512 / ChatTTS-ui
jianchang512/ChatTTS-ui
一个简单的本地网页界面,使用ChatTTS将文字合成为语音,同时支持对外提供API接口。
项目概览
项目概述
ChatTTS-ui 是一个基于 ChatTTS 的本地网页界面,用于将文字合成为语音。它支持中英文和数字混杂,并提供对外 API 接口。项目由 jianchang512 开发,使用 Python 编写,旨在简化 ChatTTS 的使用,让用户无需编写代码即可通过浏览器或 API 调用语音合成功能。
核心功能
- 本地网页界面:通过浏览器访问,提供直观的文本输入和语音合成操作。
- API 接口:支持 POST 请求,可编程调用语音合成,返回音频文件路径和下载链接。
- 多语言支持:支持中文、英文和数字混杂的文本合成。
- 音色控制:支持预设音色(如 2222、7869 等)和自定义音色种子值。
- 参数调节:可调整 temperature、top_p、top_k 等生成参数,以及 prompt 控制笑声、停顿等。
- 模型自动下载:首次启动自动从 Hugging Face 或 ModelScope 下载模型。
- GPU 加速:支持 NVIDIA GPU(显存大于 4G)和 CUDA 加速。
- 固定音色文件:支持 CSV 或 PT 格式的固定音色,便于复现。
适用与不适用场景
适用场景:
- 需要本地部署的语音合成服务,避免云端依赖。
- 需要批量生成语音的自动化脚本或应用。
- 需要自定义音色和精细控制生成参数的场景。
- 离线或内网环境下的语音合成需求。
不适用场景:
- 对语音合成质量要求极高,需要专业级音色的场景(ChatTTS 可能不如商业 TTS)。
- 需要实时流式合成的场景(本项目为一次性生成)。
- 资源受限的设备(如显存小于 4G 的 GPU 或低配 CPU)可能性能不佳。
- 需要多说话人同时合成的复杂场景(本项目主要支持单说话人)。
技术架构与依赖
- 编程语言:Python 3.9-3.11
- 核心依赖:ChatTTS、PyTorch(2.7.1)、torchaudio、Flask(用于 Web 服务)等。
- 模型来源:Hugging Face 或 ModelScope(自动选择)。
- 部署方式:支持源码部署、Windows 预打包版、Docker 容器部署。
- 硬件要求:CPU 或 NVIDIA GPU(显存 >4G,CUDA 12.8+)。
安装与快速开始
Windows 预打包版
- 从 Releases 下载压缩包。
- 解压后双击
app.exe即可使用。
源码部署(以 Linux 为例)
- 配置 Python 3.9-3.11 环境。
- 克隆仓库:
git clone https://github.com/jianchang512/chatTTS-ui . - 创建虚拟环境:
python3 -m venv venv并激活。 - 安装依赖:
pip3 install -r requirements.txt。 - 安装 PyTorch(CPU 或 CUDA 版本)。
- 启动:
python3 app.py,浏览器自动打开http://127.0.0.1:9966。
Docker 部署
- 克隆仓库并进入目录。
- 运行
docker compose -f docker-compose.gpu.yaml up -d(GPU 版)或docker compose -f docker-compose.cpu.yaml up -d(CPU 版)。 - 访问
http://<服务器IP>:9966。
典型使用方法
网页界面
- 在浏览器打开
http://127.0.0.1:9966,输入文本,选择音色和参数,点击合成即可。
API 调用
import requests
res = requests.post('http://127.0.0.1:9966/tts', data={
"text": "你好,世界",
"voice": "2222",
"temperature": 0.3,
"top_p": 0.7,
"top_k": 20,
"skip_refine": 0,
"custom_voice": 0
})
print(res.json())
返回 JSON 包含 audio_files 列表,每个元素有 filename 和 url。
集成到 pyVideoTrans
- 升级 pyVideoTrans 到 1.82+,在设置中填写 ChatTTS 地址,即可在视频翻译中使用。
配置与部署要点
- 环境变量:编辑
.env文件可修改WEB_ADDRESS(默认127.0.0.1:9966)、compile、device(可选cpu、mps、cuda)。 - 模型下载:默认从 ModelScope 下载,若不可用则从 Hugging Face 下载;源码部署时需确保网络可访问。
- GPU 加速:需安装 CUDA 12.8+ 和对应 PyTorch 版本;显存小于 4G 时强制使用 CPU。
- 音色文件:将 CSV 或 PT 文件放入
speaker文件夹即可使用固定音色。 - 局域网访问:修改
WEB_ADDRESS为0.0.0.0:9966或具体 IP 以允许局域网访问。
限制、风险与许可证
- 许可证:仓库资料未提供明确许可证(NOASSERTION),使用前请谨慎。
- 模型下载:首次启动需下载模型,网络不稳定可能导致失败。
- 硬件要求:GPU 加速需要 NVIDIA 显卡和 CUDA,否则性能受限。
- 音色一致性:同一音色种子在不同设备或不同次合成可能产生差异。
- 安全风险:Windows 预打包版可能被杀毒软件误报,建议源码部署。
- 依赖风险:依赖 PyTorch 等第三方库,版本更新可能带来兼容性问题。
官方链接
- GitHub 仓库:https://github.com/jianchang512/ChatTTS-ui
- Releases:https://github.com/jianchang512/chatTTS-ui/releases
- 原始 ChatTTS 项目:https://github.com/2noise/chattts
- 音色下载参考:https://github.com/6drf21e/ChatTTS_Speaker
信息来源和分析时间
- 信息来源:GitHub 仓库 README(https://github.com/jianchang512/ChatTTS-ui)
- 分析时间:2026-06-14(基于最新 Release 日期)