介绍
ChatTTS是一款针对对话场景精心设计的中英文文本转语音(TTS)模型。它基于大约4万小时的中英文语音数据进行深度训练,能够生成高质量、自然流畅的对话语音。ChatTTS针对对话式任务进行了特别优化,实现了更加自然、流畅的语音合成效果。此外,它还支持多个说话人,并具备细粒度控制能力,能够预测和控制语音的韵律特征,如笑声、停顿等,其性能超越了大多数开源TTS模型。
ChatTTS下载克隆地址:GitHub - jianchang512/ChatTTS-ui: 一个简单的本地网页界面,直接使用ChatTTS将文字合成为语音,同时支持对外提供API接口。
chatTTS的独特优势:
- 专为对话场景设计:ChatTTS是一款专为对话场景量身定制的文本转语音(TTS)模型,支持中文和英文两种语言。
- 大规模数据训练:ChatTTS使用了超过10万小时的中英文数据进行训练,语音合成效果非常自然。即使在HuggingFace上开源的版本,也有4万小时的训练数据,表现依然出色。
- 优化对话式TTS:ChatTTS针对对话任务进行了特别优化,语音合成流畅自然,同时支持多个说话人,让对话更加生动。
- 细粒度控制:这款模型能够预测和控制语音中的细微韵律特征,如笑声、停顿和插入词等,让语音更加富有情感和表现力。
- 卓越的韵律控制:在韵律控制方面,ChatTTS超越了大多数开源TTS模型,语音听起来更加自然,更符合人类的说话习惯。
Linux 下容器部署
安装
-
拉取项目仓库
在任意路径下克隆项目,例如:
git clone https://github.com/jianchang512/ChatTTS-ui.git chat-tts-ui
-
启动 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
-
访问 ChatTTS WebUI
启动:['0.0.0.0', '9966']
,也即,访问部署设备的IP:9966
即可,例如:- 本机:
http://127.0.0.1:9966
- 服务器:
http://192.168.1.100:9966
- 本机:
更新
-
Get the latest code from the main branch:
git checkout main git pull origin main
-
Go to the next step and update to the latest image:
docker compose down gpu版本 docker compose -f docker-compose.gpu.yaml up -d --build cpu版本 docker compose -f docker-compose.cpu.yaml up -d --build docker compose logs -f --no-log-prefix
Linux 下源码部署
-
配置好 python3.9-3.11环境
-
创建空目录
/data/chattts
执行命令cd /data/chattts && git clone https://github.com/jianchang512/chatTTS-ui .
-
创建虚拟环境
python3 -m venv venv
-
激活虚拟环境
source ./venv/bin/activate
-
安装依赖
pip3 install -r requirements.txt
-
如果不需要CUDA加速,执行
pip3 install torch==2.2.0 torchaudio==2.2.0
如果需要CUDA加速,执行
pip install torch==2.2.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/cu118 pip install nvidia-cublas-cu11 nvidia-cudnn-cu11
另需安装 CUDA11.8+ ToolKit,请自行搜索安装方法 或参考 https://juejin.cn/post/7318704408727519270
除CUDA外,也可以使用AMD GPU进行加速,这需要安装ROCm和PyTorch_ROCm版本。AMG GPU借助ROCm,在PyTorch开箱即用,无需额外修改代码。
- 请参考ROCm quick start install guide for Linux — ROCm installation (Linux) 来安装AMD GPU Driver及ROCm.
- 再通过PyTorch 安装PyTorch_ROCm版本。
pip3 install torch==2.2.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/rocm6.0
安装完成后,可以通过rocm-smi命令来查看系统中的AMD GPU。也可以用以下Torch代码(query_gpu.py)来查询当前AMD GPU Device.
import torch print(torch.__version__) if torch.cuda.is_available(): device = torch.device("cuda") # a CUDA device object print('Using GPU:', torch.cuda.get_device_name(0)) else: device = torch.device("cpu") print('Using CPU') torch.cuda.get_device_properties(0)
使用以上代码,以AMD Radeon Pro W7900为例,查询设备如下。
$ python ~/query_gpu.py 2.4.0.dev20240401+rocm6.0 Using GPU: AMD Radeon PRO W7900
-
执行
python3 app.py
启动,将自动打开浏览器窗口,默认地址http://127.0.0.1:9966
(注意:默认从 modelscope 魔塔下载模型,不可使用代理下载,请关闭代理)
MacOS 下源码部署
-
配置好 python3.9-3.11 环境,安装git ,执行命令
brew install libsndfile git [email protected]
继续执行export PATH="/usr/local/opt/[email protected]/bin:$PATH" source ~/.bash_profile source ~/.zshrc
-
创建空目录
/data/chattts
执行命令cd /data/chattts && git clone https://github.com/jianchang512/chatTTS-ui .
-
创建虚拟环境
python3 -m venv venv
-
激活虚拟环境
source ./venv/bin/activate
-
安装依赖
pip3 install -r requirements.txt
-
安装torch
pip3 install torch==2.2.0 torchaudio==2.2.0
-
执行
python3 app.py
启动,将自动打开浏览器窗口,默认地址http://127.0.0.1:9966
(注意:默认从 modelscope 魔塔下载模型,不可使用代理下载,请关闭代理)
Windows源码部署
-
下载python3.9-3.11,安装时注意选中
Add Python to environment variables
-
下载并安装git,https://github.com/git-for-windows/git/releases/download/v2.45.1.windows.1/Git-2.45.1-64-bit.exe
-
创建空文件夹
D:/chattts
并进入,地址栏输入cmd
回车,在弹出的cmd窗口中执行命令git clone https://github.com/jianchang512/chatTTS-ui .
-
创建虚拟环境,执行命令
python -m venv venv
-
激活虚拟环境,执行
.\venv\scripts\activate
-
安装依赖,执行
pip install -r requirements.txt
-
如果不需要CUDA加速,
执行
pip install torch==2.2.0 torchaudio==2.2.0
如果需要CUDA加速,执行
pip install torch==2.2.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/cu118
另需安装 CUDA11.8+ ToolKit,请自行搜索安装方法或参考 https://juejin.cn/post/7318704408727519270
-
执行
python app.py
启动,将自动打开浏览器窗口,默认地址http://127.0.0.1:9966
(注意:默认从 modelscope 魔塔下载模型,不可使用代理下载,请关闭代理)
进入可视化界面如下: