一、简介
So-vits-svc(也称Sovits)是由是中国民间歌声合成爱好者Rcell基于VITS、soft-vc、VISinger2等一系列项目开发的一款开源免费AI语音转换软件,现由svc-develop-team接手进行后续维护,也是目前AI换声用的项目。
项目git地址:[https://github.com/svc-develop-team/so-vits-svc](https://github.com/svc-develop-team/so-vits-svc) ,动手能力强的推荐使用git拉取源码使用,这样原作者更新也可以同步,网上的整合包都多多少少有些调整,更新也不方便。
该项目常用的分支有三个:
- 4.0:网上很多教程是基于此分支,也是主分支;
- 4.0-Vec768-Layer12:特征输入更换为 Content Vec 的第12层Transformer输出,更新浅层扩散,可以使用浅层扩散模型提升音质,也是该项目推荐分支;
- 4.0-v2:采用了VISinger2模型,与4.0分支模型不通用,其他和4.0完全一致。
二、前置准备
- Anaconda,python多环境治理神器;
- Pycharm,python编辑器;
- UVR5 (Ultimate Vocal Remover GUI v5.5.0),伴奏与人声分离工具;
- FFmpeg,多媒体处理软件;
- Git,分布式版本控制系统。
三、教程
-
使用git克隆项目到本地,git地址:[https://github.com/svc-develop-team/so-vits-svc](https://github.com/svc-develop-team/so-vits-svc) ;
-
使用Anaconda创建python3.8环境:
conda activate so-vits-svc
-
用Anaconda进入项目根目录,安装依赖,我用的是windows系统:
pip install -r requirements_win.txt
-
依赖安装成功后进入webUI界面:
python webUI.py
5.下载模型,大家可以去网上搜AI孙燕姿模型,下载好之后,在webUI界面选择模型,需要注意的是,4.0-Vec768-Layer12分支需要在config.json添加如下代码以兼容4.0模型,如下;
"model": {
.........
"ssl_dim": 768,
"n_speakers": 200,
"speech_encoder":"vec256l9"
}
然后按照1-4的步骤依次选择对应文件,出现步骤5的内容说明模型加载成功:
<pre class="line-numbers"><br class="Apple-interchange-newline"/></pre>
6、准备一段.wav音乐,这里用的晴天,然后打开UVR5对其进行伴奏与人声分离:
- 分离之后可以在目录看到 Vocals(人声) 和 Instrument(伴奏) 音频文件,如果混响过重可以在进行一次分离:
- 回到webUI界面,选择我们最后分离出来的人声,进行音频转换即可:
- 此时可以试听下AI孙燕姿清唱的晴天,我们进行最后一步,将清唱的和上面分离的伴奏进行合并,这里用的FFmpeg命令,我重命名了以下,省的名字太长,如下:
ffmpeg -i 01.wav -i 02.wav -filter_complex amix=inputs=2:duration=longest output.wav
- 到此我们就得到一首AI孙燕姿唱的晴天。
|