ChatTTS-ui- ChatTTS 将文字合成为语音


这个仓库名为 ChatTTS-ui,提供了一个简单的本地网页界面,可在网页上使用 ChatTTS 将文字合成为语音,支持中英文、数字混杂,并提供 API 接口。以下是对该仓库的详细介绍:

主要功能

  • 文字转语音:支持中英文、数字和符号混杂的文本输入,将其合成为语音。
  • 网页界面:提供简单易用的本地网页界面,方便用户操作。
  • API 接口:提供 API 接口,便于集成到其他系统中。

目录结构

.env
.gitignore
Dockerfile.cpu
Dockerfile.gpu
LICENSE
README.md
README_EN.md
app.py
cover-pt.py
docker-compose.cpu.yaml
docker-compose.gpu.yaml
faq.md
pyproject.toml
requirements.txt
run.bat
run.py
runtest.bat
test.py
ffmpeg/
  ffmpeg下载.txt
asset/
  模型下载说明.txt
uilib/
  __init__.py
  cfg.py
  utils.py
  zh_normalization/
tools/
  __init__.py
  audio/
  checksum/
  llm/
  logger/
  normalizer/
  seeder/
.github/
  FUNDING.yml
templates/
  index.html
  indexen.html
speaker/
  1031.pt
  ...
ChatTTS/
  ...
static/
  ...

核心代码模块

1. ChatTTS 模块

  • model 子模块
    • gpt.py:定义了 GPT 类,用于处理生成任务,包括模型初始化、生成输入准备、生成输出处理等功能。
    • dvae.py:包含 GFSQ 类,用于量化处理。
    • tokenizer.py:定义了 Tokenizer 类,用于文本的编码和解码,以及处理说话人嵌入和提示信息。
  • config 子模块
    • config.py:定义了各种配置类,如 PathDecoderBackbone 等,用于存储模型路径和参数配置。
  • core.py:定义了核心类,包含模型加载和检查功能。
  • utils 子模块
    • dl.py:提供检查和下载所有资产文件的功能。
    • download.py:提供检查模型文件完整性的功能。
    • gpu.py:提供选择设备的功能。
    • io.py:提供删除对象和获取最新修改文件的功能。
    • log.py:定义了日志记录类。

2. 容器部署文件

  • docker-compose.gpu.yaml:用于 GPU 版本的容器部署。
  • docker-compose.cpu.yaml:用于 CPU 版本的容器部署。

部署方式

Windows 预打包版

  1. Releases 中下载压缩包,解压后双击 app.exe 即可使用。
  2. 某些安全软件可能报毒,请退出或使用源码部署。
  3. 英伟达显卡大于 4G 显存,并安装了 CUDA 11.8+ 后,将启用 GPU 加速。

Linux 下容器部署

  1. 拉取项目仓库:
git clone https://github.com/jianchang512/ChatTTS-ui.git chat-tts-ui
  1. 启动 Runner:
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
  1. 访问 ChatTTS WebUI:访问部署设备的 IP:9966 即可。

模型下载

第一次运行时将从 huggingface.co 或 github 下载模型到 asset 目录下,如果网络不稳,可能下载失败。若是失败,请单独下载: - GitHub 下载地址: https://github.com/jianchang512/ChatTTS-ui/releases/download/v1.0/all-models.7z - 百度网盘下载地址: https://pan.baidu.com/s/1yGDZM9YNN7kW9e7SFo8lLw?pwd=ct5x

下载后解压,将 asset 文件夹内的多个 pt 文件复制到项目的 asset 目录下,然后重启软件。