【2024 DigiKey创意大赛】Par2:ChatTTS本地部署
[复制链接]
1、环境安装
打开Anaconda软件,创建一个ChatTTS的环境
输入命令创建一个环境:【conda create --name chattts python=3.10】
输入命令进入刚才创建好的环境:【conda activate chattts】
之后需要安装pytorch,直接上官网获取安装流程【https://pytorch.org/】
我用的是N卡,所以我装了CUDA11.8,命令如下:
【pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118】
下载torch比较慢,直接复制上面的链接到迅雷,就可以快速下载了。
【https://download.pytorch.org/whl/cu118/torch-2.4.1%2Bcu118-cp310-cp310-win_amd64.whl】
下载完成之后,安装的时候指定路径即可【pip install D:\迅雷下载\torch-2.4.1+cu118-cp310-cp310-win_amd64.whl】
等待安装完成,同时安装一下torchvision、torchaudio,torchaudio版本要和torch版本一致。输入命令【>pip3 install torchvision torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu118】,其中【==2.4.1】就是指定版本
最后来安装一下ChatTTS即可,输入命令【pip install ChatTTS】。
这样ChatTTS环境就安装完了,是不是很简单~~
最后安装一下保存音频文件的库,执行命令【pip install pysoundfile】即可
2、功能测试
目前没有模型,我们需要去下载模型,通过git下载模型【https://www.modelscope.cn/ai-modelscope/chattts.git】,直接git下来即可。
模型下载下来,路径如上所示。
编写代码,文件保存文main.py:
import torch
import torchaudio
import ChatTTS
import torch._dynamo
torch._dynamo.config.suppress_errors = True
model_dir = './chattts_model'
# 初始化ChatTTS实例,并打印LOG
chat = ChatTTS.Chat(
)
# 设置本地模型的ID
chat.sha256_map = {
'sha256_asset_Decoder_pt': '9964e36e840f0e3a748c5f716fe6de6490d2135a5f5155f4a642d51860e2ec38',
'sha256_asset_DVAE_full_pt': '553eb75763511e23f3e5f86303e2163c5ca775489d637fb635d979c8ae58bbe5',
'sha256_asset_Embed_safetensors': '2ff0be7134934155741b643b74e32fb6bf3eec41257984459b2ed60cdb4c48b0',
'sha256_asset_Vocos_pt': '09a670eda1c08b740013679c7a90ebb7f1a97646ea7673069a6838e6b51d6c58',
'sha256_asset_gpt_config_json': 'ef8c83b3d731deff7b738304fde3eb282c16d9dcb092d5504315bf3d869a0765',
'sha256_asset_gpt_model_safetensors': 'cd0806fd971f52f6a22c923ec64982b305e817bcc41ca83417fcf9141b984a0f',
'sha256_asset_tokenizer_special_tokens_map_json': '30e1f3dfbaef18963d9298e9a70e5f4be9017b4f64ec67737d0bccc2dbeba8c9',
'sha256_asset_tokenizer_tokenizer_config_json': 'ac0eb91b587bd4c627c2b18ac1652bdf3686c7a6cd632d4b00feb9f34828dfdc',
'sha256_asset_tokenizer_tokenizer_json': 'dddc3d54016d6cb75ed66dde3be50287afe6dee679c751538373feb75f950020'
}
chat.load(source='custom', custom_path=model_dir, compile=True)
texts = '电子工程世界 得捷创意大赛'
wavs = chat.infer(texts)
print(wavs)
torchaudio.save("test.wav", torch.from_numpy(wavs), 24000)
然后执行【python main.py】
就生成了一个音频文件了
生成的音频文件放下面,大家可以听一下~
test.wav
(225.08 KB, 下载次数: 0)
|