GPT-SoVITS
- 最方便的环境部署:参考视频 AutoDL+GPT-SoVITS ,直接用 autodl 传一段音频走一遍流程
- 手动环境部署:
PyTorch 2.0.1 + Python 3.8 + cuda 11.8
参考 README linux 装
1
2
3
4
5
6
7
8
9
10
11# 先设置好代理
export http_proxy="http://127.0.0.1:11081"
export https_proxy="http://127.0.0.1:11081"
export all_proxy="http://127.0.0.1:11081"
git config --global http.proxy http://127.0.0.1:11081
# 安装
conda create -n GPTSoVits python=3.9
conda activate GPTSoVits
bash install.sh参考 README 拷贝预训练模型,模型来源于整合包
1
2
3
4
5
6cp -r pretrained_models/* GPT-SoVITS/GPT_SoVITS/pretrained_models
cp -r G2PWModel GPT-SoVITS/GPT_SoVITS/text/
cp -r uvr5_weights/* GPT-SoVITS/tools/uvr5/uvr5_weights
cp -r models/* GPT-SoVITS/tools/asr/models/
# 可能用到
python -m nltk.downloader averaged_perceptron_tagger_eng由于使用的是录播,ffmpeg 提取录播的音频片段,交给 UVR5 进行处理,这里参考文档 整合包教程 中的内容
1
先用model_bs_roformer_ep_317_sdr_12.9755模型(已经是目前最好的模型)处理一遍(提取人声),然后将输出的干声音频再用onnx_dereverb最后用DeEcho-Aggressive(去混响),输出格式选wav。输出的文件默认在GPT-SoVITS-beta\output\uvr5_opt这个文件夹下,建议不要改输出路径,到时候找不到文件谁也帮不了你。处理完的音频(vocal)的是人声,(instrument)是伴奏,(_vocal_main_vocal)的没混响的,(others)的是混响。(vocal)(_vocal_main_vocal)才是要用的文件,其他都可以删除。结束后记得到WebUI关闭UVR5节省显存。
由于录播片段已经有 whisper 识别的 srt 字幕,在 UVR5 处理后,参考文档 使用字幕标注 中的工具进行切分,字符限制用的 15 字。然后手动修改
dataset_mapping.list
校对标注,标注文件的第一列的vocal_path
要用绝对路径。校对除了改正 text 的内容外,还要删掉时长小于 5s,和大于 24s(4090 显存 24G)的音频1
vocal_path|speaker_name|language|text
文件传到对应的环境,然后填标注文件的绝对路径,开启打标 webui 确认一下内容,就可以按 整合包教程 中的训练部分继续操作了,用默认参数弄一遍,再调到最高轮数弄一下,对比一下
- 启动
- python webui.py zh_CN