非常自然的文本转语音(Text To Speech)TTS,支持中英文混读,还可以穿插笑声,听起来很真实自然。
1、有哪些优点
对话式 TTS: ChatTTS针对对话式任务进行了优化,实现了自然流畅的语音合成,同时支持多说话人。
细粒度控制: 该模型能够预测和控制细粒度的韵律特征,包括笑声、停顿和插入词等。
更好的韵律: ChatTTS在韵律方面超越了大部分开源TTS模型。同时提供预训练模型,支持进一步的研究。
2、安装
克隆
git clone https://github.com/2noise/ChatTTS
如果是国内访问,不是很稳定,大多时候会出现如下错误:
C:\Users\ad>git clone https://github.com/2noise/ChatTTS
Cloning into 'ChatTTS'...
fatal: unable to access 'https://github.com/2noise/ChatTTS/': Failed to connect to github.com port 443 after 21145 ms: Couldn't connect to server
国外站点,你懂得,所以需要多试几次,或者直接去里面进行下载。或者就是科学上网。
3、创建虚拟环境
一般新的项目,使用新的环境,这里创建一个名叫tts的虚拟环境,可以自己指定Python版本
conda create -n tts python=3.10
安装好了之后,就激活tts,进入到这个虚拟环境
activate tts
安装需要的库,在requirements.txt都有指定,如下图:
4、安装requirements.txt
所以我们只需要输入如下命令,会自动安装所有相关需要的库:
cd ChatTTS
pip install -r requirements.txt
或者
conda install --yes --file requirements.txt
5、运行
当然这里如果没有安装IPython,输入命令:pip install ipython
也可以使用.ipynb文件的方法来运行:
import torch
torch._dynamo.config.cache_size_limit = 64
torch._dynamo.config.suppress_errors = True
torch.set_float32_matmul_precision('high')import ChatTTS
from IPython.display import Audiochat = ChatTTS.Chat()
chat.load_models()# Use force_redownload=True if the weights updated.
# chat.load_models(force_redownload=True)# If you download the weights manually, set source='locals'.
# chat.load_models(source='locals', local_path='YOUR LOCAL PATH')texts = ["Hello,Jianping",]*3 \+ ["大家好,今天天气真好[laugh],秦迷天下,我们去爬山吧[uv_break],Very Nice"]*3 wavs = chat.infer(texts)Audio(wavs[0], rate=24_000, autoplay=True)
这样就将上面的文字转成语音了。
当然在这个过程中还会遇到不同的问题,然后针对错误进行特定的处理即可。
赶快学起来吧,一个非常棒的开源模型!