项目地址
系统环境
- WSLv2 Ubuntu-20.04 (其他系统版本liunx同理)
- AMD R9 7900X
- NVIDIA RTX4090
- CUDA 11.8
下载底模
- checkpoint_best_legacy_500.pt (必须) 下载地址 放在./hubert目录下
- 预训练底模文件 G_0.pth D_0.pth (推荐使用)下载地址 放在./logs/44k目录下
# 使用预训练底模需要修改config文件 1改为200
# 需要启动一次生成config.json后再进行修改
./logs/44k/config.josn
第44行
"n_speakers": 200
安装conda、启用虚拟环境与所需pip包
# conda安装
https://blog.wuzuxi.com/200.html
# 创建新虚拟环境
conda create -n sovits python=3.10
# 激活虚拟环境
source activate sovits
# 开启tensorboard
tensorboard --logdir=logs/44k
pip install librosa
pip install tqdm
pip install torch
pip install fairseq
pip install pyworld
pip install tensorboard
pip install matplotlib
pip install gradio
pip install praat-parselmouth
pip install edge_tts
pip install tensorboard
数据集处理
# 数据集放在./dataset_raw/speakersname 文件夹下 speakersname 为说话人名字
# 将数据集重采样至44100Hz单声道
python resample.py
# 自动划分训练集、验证集,以及自动生成配置文件
python preprocess_flist_config.py
# 生成hubert与f0
python preprocess_hubert_f0.py
推理
./logs/44k/config.josn
# 修改最大显存使用量 修改第13行代码"batch_size"的数值
"batch_size": 20,
# 修改最大epoch数 第6行
"epochs": 10000,
# 训练
python train.py -c configs/config.json -m 44k
生成
vim inference_main.py
model_path = "logs/32k/G_10000.pth" # 这里改成你最新训练出来的G模型路径
config_path = "configs/config.json"
svc_model = Svc(model_path, config_path)
infer_tool.mkdir(["raw", "results"])
# 支持多个wav文件,放在raw文件夹下
clean_names = ["vocals_01", "vocals_02","vocals_03"] # 这里修改成你要处理的干声片段的文件名,支持多个文件
trans = [0] # 音高调整,支持正负(半音)
spk_list = ['Sucial'] # 这里是说话人的名字,之前准备训练样本的文件夹名字
slice_db = -40 # 默认-40,嘈杂的音频可以-30,干声保留呼吸可以-50
wav_format = 'wav' # 音频输出格式
# 如果下一步推理生成时出现错误,请尝试以下修改:
# inference_main.py line35 第35行,
wav_path = Path(raw_audio_path).with_suffix('.wav')
# 改为
wav_path = str(Path(raw_audio_path).with_suffix('.wav'))
# 修改完成后保存代码,在so-vits-svc文件夹内运行终端,执行下面命令开始推理生成
# 生成的音频文件在.\results文件夹下
python inference_main.py
webUI
安装chrome
sudo apt-get update
sudo apt-get install gdebi-core
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo gdebi google-chrome-stable_current_amd64.deb
# 启动chrome
google-chrome --no-sandbox