- 和推理不相关的代码全部精简掉了
基于vits与softvc的歌声音色转换模型,通过SoftVC内容编码器提取源音频语音特征,与F0同时输入VITS替换原本的文本输入达到歌声转换的效果。同时,更换声码器为 NSF HiFiGAN 解决断音问题
- 当前分支是sovits3.0 32khz版本的分支,32khz模型推理更快,显存占用大幅减小,数据集所占硬盘空间也大幅降低,推荐训练该版本模型
- 如果要训练sovits3.0 48khz的模型请切换到main分支
- 目前已更新sovits4.0 https://github.com/innnky/so-vits-svc/tree/4.0 (3.0模型和4.0不通用!)
python下载安装3.8版本 安装程序记得勾选ADD TO PATH
安装项目环境:
点那个绿色的CODE按钮下载本仓库的代码压缩包并解压,打开cmd命令行,跳转到解压的文件夹位置,运行:
pip install -r requirements.txt
- 建议pip install -r requirements.txt之前,把requirements.txt里面“torch” “torchaudio”删了去pytorch官网 参照自己的cuda版本下载对应的pytorch
如果感觉pip下载速度慢就改清华源再运行上面一条代码(改完之后若运行pip install命令出现黄色字体的报错,就把梯子关了重新运行)
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
- soft vc hubert:hubert-soft-0d54a1f4.pt
- 放在
hubert
目录下
- 放在
- 模型文件 G_XXXXX.pth (本仓库不提供)
- 放在
logs/32k
目录下
- 放在
- 配置文件 config.json
- 放在
config
目录下
- 放在
python inference_main.py
- 更改
model_path
为你自己训练的最新模型记录点 - 将待转换的音频放在
raw
文件夹下 clean_names
写待转换的音频名称trans
填写变调半音数量spk_list
填写合成的说话人名称
- 新建文件夹:checkpoints 并打开
- 在checkpoints文件夹中新建一个文件夹作为项目文件夹,文件夹名为你的项目名称(这里以lulu为例)
- 将你的模型更名为model.pth,配置文件更名为config.json,并放置到刚才创建的文件夹下
so-vits-svc-32k
├───checkpoints
│ └───lulu
│ ├───model.pth
│ └───config.json
└───...
python sovits_gradio.py
自行下载vst插件并搜索常用宿主软件的安装教程,宿主软件尽量装在c盘,反正不必要的bug
https://github.com/zhaohui8969/VST_NetProcess-/releases/tag/v1.2
目前经验,一定装在 C:\Program Files\Common Files\VST3\NetProcess.vst3(这是解压出的文件夹名字)
这样au、studio设置相应路径就能识别了,D盘不知道为什么不识别
c盘根目录新建/temp/vst文件夹,创建文件netProcessConfig.json,内容为:
{
// 记得删注释
// 适配的版本号
"configVersion": "1.1",
// 触发音量阈值
"fSampleVolumeWorkActiveVal": 0.05,
// 多角色的配置列表
"roleList": [
{
// HTTP服务的地址
"apiUrl": "http://127.0.0.1:6842",
// 角色ID
"speakId": "0",
// 角色别名(可随意修改)
"name": "猫雷"
},
{
"apiUrl": "http://127.0.0.1:6842",
"speakId": "4",
"name": "奕兰秋"
}
]
}
首先运行:
python flask_api.py
待出现运行网址127.0.0.1:6842后,再打开vst插件(项目的采样率一定要和麦克风的一样)
插件有个小bug,必须等python的http成功运行后,才能调节插件的参数;不是大问题,自行注意即可
给某音轨挂载vst插件,打开录音准备(R)、监听(I),录音输入增益可以调高一些,即可使用
插件的音调调到中间左右,默认是-30,正常使用是-15~+15;音频最小切片时间调到0,响应速度会更快