利用Kaggle云计算平台部署GPT-SoVITS声音合成,性能超强,可以训练推理
可直接去Kaggle官网Copy编辑运行此Notebook。注:此Notebook部分参考GPT-SoVITS项目原作者RVC BOSS的测试版Notebook。
克隆项目仓库安装依赖
我Fork的版本是2月15日的,当前可用。
1
| !git clone https://github.com/Ciward/GPT-SoVITS.git
|
1 2 3 4 5 6
| %cd /kaggle/working/GPT-SoVITS !pip install torch numpy scipy tensorboard librosa==0.9.2 numba==0.56.4 pyngrok pytorch-lightning gradio==3.14.0 ffmpeg-python onnxruntime tqdm cn2an pypinyin pyopenjtalk g2p_en chardet -q !pip install -r requirements.txt -q !sudo apt -y install -qq ffmpeg !sudo apt -y install -qq libsox-dev !apt -y install -qq aria2
|
1 2 3
| !mkdir -p /kaggle/working/GPT-SoVITS/tools/damo_asr/models !mkdir -p /kaggle/working/GPT-SoVITS/tools/uvr5 !mkdir -p /kaggle/working/GPT-SoVITS/GPT_SoVITS/pretrained_models
|
1
| !mkdir -p /kaggle/working/GPT-SoVITS/logs
|
模型下载
1 2 3 4 5 6 7 8
| %cd /kaggle/working/GPT-SoVITS/tools/damo_asr/models !git clone https://www.modelscope.cn/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch.git !git clone https://www.modelscope.cn/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch.git !git clone https://www.modelscope.cn/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch.git
%cd /kaggle/working/GPT-SoVITS/tools/uvr5 !git clone https://huggingface.co/Delik/uvr5_weights !git config core.sparseCheckout true
|
1 2 3 4
| %cd /kaggle/working/GPT-SoVITS/GPT_SoVITS/pretrained_models !git clone https://huggingface.co/lj1995/GPT-SoVITS !mv /kaggle/working/GPT-SoVITS/GPT_SoVITS/pretrained_models/GPT-SoVITS/* /kaggle/working/GPT-SoVITS/GPT_SoVITS/pretrained_models/
|
1 2 3 4
| !aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/GPT-SoVITS/resolve/main/s2D488k.pth -d /kaggle/working/GPT-SoVITS/GPT_SoVITS/pretrained_models -o s2D488k.pth !aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/GPT-SoVITS/resolve/main/s2G488k.pth -d /kaggle/working/GPT-SoVITS/GPT_SoVITS/pretrained_models -o s2G488k.pth !aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lj1995/GPT-SoVITS/resolve/main/s1bert25hz-2kh-longer-epoch%3D68e-step%3D50232.ckpt -d /kaggle/working/GPT-SoVITS/GPT_SoVITS/pretrained_models -o s1bert25hz-2kh-longer-epoch=68e-step=50232.ckpt
|
启动!
不同于Colab的一点是,需要打开内网穿透,利用pyngork库,需要先获取一个Ngrok_Token,填到下面代码中。启动服务后保存好端口映射的公网url(不同url访问不同端口)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| %cd /kaggle/working/GPT-SoVITS
!sed -i '/share=True/d' webui.py
Close_Ngrok=True Open_New_Tab=True
from IPython.display import clear_output, Javascript from IPython.display import display, HTML
clear_output()
from pyngrok import ngrok
if Close_Ngrok==True: ngrok.kill()
Ngrok_Token = "token填到这里"
ngrok.set_auth_token(Ngrok_Token)
main_tunnel = ngrok.connect(9874)
third_tunnel = ngrok.connect(9872) forth_tunnel = ngrok.connect(9871) clear_output()
if Open_New_Tab==True: display(Javascript('window.open("{url}", "_blank");'.format(url=main_tunnel.public_url)))
print("main_URL:", main_tunnel.public_url)
print("9872:", third_tunnel.public_url) print("9871:", forth_tunnel.public_url) !python3 webui.py --port 9874
|