ChatTTS介绍
是一个为对话场景设计的语音生成模型,特别适用于大型语言模型(LLM)助手的对话任务,以及对话式音频和视频介绍等应用。它支持中文和英文,并通过使用大约10万小时的中英文数据进行训练,ChatTTS 在语音合成方面表现出高质量和自然性。
我们可以通过介绍来大致认识一下 B站介绍视频
官方也上线了网站,可以在线体验charttts
作者也在Github上开源了该项目
ChatTTS安装
安装一个虚拟环境(推荐),这样好处是避免库之间版本冲突,便于管理(推荐3.10)
conda create -n chattts python=3.10
conda activate chattts
下载该库
git clone https://github.com/2noise/ChatTTS.git
安装必要依赖
pip install -r requirements.txt
启动webui
python webui.py
启动后会自动下载模型,一切完成后会打开gradio页面
在此做一个简单的介绍:
- Refine text会对文本做一些口语化处理,添加一些诸如停顿、笑声等
- Audio Seed 为音色种子
- Text Sedd为文本种子
- 上面三个为情感度调整
官方ui可供操作不全,后续会提供一个更完善的ui
备注: [uv_break][laugh][lbreak]等控制单元和中文标点放在一起时容易将控制单元读出,似乎是一个bug,推荐先对文本做清洗
模型无法下载
默认模型下载为huggingface提供,如果网络条件不允许可以考虑如下两种方案:
方案一 hf镜像站
hf镜像站地址
找到CHATTTS/core.py
或者在项目入口处修改环境变量
import os
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
方案二 使用modelscope
安装
#安装ModelScope
pip install modelscope
修改core.py代码
#SDK模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('pzc163/chatTTS')
推荐modelscope,速度更快
常见问题
推理速度很慢
检查pytorch是否安装成功
安装报错
推荐使用linux,windows安装麻烦很多,根据问题去issues查找,大部分都有解决方案
常见报错1
添加一行代码
import torch
torch.compile = lambda *args, **kwargs: args[0]
常见报错2
UnboundLocalError: local variable 'Normalizer' referenced before assignment
根据提示安装
conda install -c conda-forge pynini=2.1.5 && pip install WeTextProcessing
conda install -c conda-forge pynini=2.1.5 && pip install nemo_text_processing