jianchang512 / ChatTTS-ui

jianchang512/ChatTTS-ui

open_in_new前往仓库

一个简单的本地网页界面,使用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 预打包版

  1. 从 Releases 下载压缩包。
  2. 解压后双击 app.exe 即可使用。

源码部署(以 Linux 为例)

  1. 配置 Python 3.9-3.11 环境。
  2. 克隆仓库:git clone https://github.com/jianchang512/chatTTS-ui .
  3. 创建虚拟环境:python3 -m venv venv 并激活。
  4. 安装依赖:pip3 install -r requirements.txt。
  5. 安装 PyTorch(CPU 或 CUDA 版本)。
  6. 启动:python3 app.py,浏览器自动打开 http://127.0.0.1:9966。

Docker 部署

  1. 克隆仓库并进入目录。
  2. 运行 docker compose -f docker-compose.gpu.yaml up -d(GPU 版)或 docker compose -f docker-compose.cpu.yaml up -d(CPU 版)。
  3. 访问 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 等第三方库,版本更新可能带来兼容性问题。

官方链接

信息来源和分析时间