五音不全?用AI唱出你的第一首歌!| 保姆级教程

五音不全?用AI唱出你的第一首歌!| 保姆级教程

一直想知道自己的声音唱歌到底是什么感觉?于是我想到了声音克隆。

So-VITS-SVC,可以通过对较少的人声样本进行训练,进而替换一段音频中人说话的音色,快速实现使用自己声音进行AI唱歌的效果,效果相当逼真。

So-VITS-SVC是一个开源项目,所以接下来,将完整演示这个项目操作流程,你可以完全按照我的这个流程复刻这个项目,实现你的第一首歌。
这个项目的核心主要分为以下七步:

  • 准备声音素材
  • 租用GPU
  • 数据集处理
  • 模型训练
  • 模型加载
  • 声音合成
  • 模型保存

一、准备声音素材

要进行模型的训练,我们需要干净的数据集,你可以选择自己的声音,也可使用其他的声音来源,但无论何种方式,都请自行解决数据集授权问题。

如果你要使用自己的声音训练,就需要录制自己的声音素材,有专业的录音设备效果肯定会更好,当然大部分人可能和我一样没有,那就直接使用手机录音机录制

录制本身没有太多的要求,保证自己所处的位置足够安静即可,保证内容流畅,有可能的话可以使用耳机或者麦克风,录音效果会更好一些,录音之前,记得将自己的录制音频格式设置为wav格式。

图片[1] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

录制的时间长短各异,个人觉得10min即可,录制完成后,发送到电脑即可,注意自己的声音文件的命名,不要使用中文

这样我们的原始数据集就准备完成,我准备的是一份9分半的wav音频文件。

图片[2] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

备注:数据集在整个训练的过程中发挥着决定性的作用,所以质量一定要保证,可以稍微短一些,但一定要足够的清晰,质量要高

此外,为了更好的实现唱歌的效果,尽可能在声音素材中能够有比较宽的音域,否则可能像我使用的普通阅读的声音,最后在训练过程中,高音无法上去一直破音,只能简单做一些音调不那么高的歌曲,这十分十分重要!

二、租用GPU

模型的训练对于电脑的性能要求还是比较高,这里选择AutoDL云服务进行训练,自行注册即可,这里不多赘述

AutoDL官网https://www.autodl.com/home

付费使用,首次使用需要充值,根据自己的使用情况充值即可

打开算力市场,在北京C区下,租一张V100-32GB,GPU可能比较紧张,出现显示无空闲GPU的情况,这里只能疯狂刷新几次,等待空闲的GPU出现。

1. 选择空闲的GPU,开始准备部署

图片[3] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

2. 选择对应的主机,下拉找到镜像-社区镜像,搜索So-VITS-SVC,找到svc-develop-team/so-vits-svc/so-vits-svc-4.1-Stable,选择最新的V13版本,立即创建即可

图片[4] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

3. 耐心等待镜像创建和开机

图片[5] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

4. 开机完成后,点击JupyterLab打开

图片[6] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

三、数据集处理

打开后,默认打开dataset_maker.ipynb文件,直接按照步骤开始处理即可,这里为了演示,也会按照步骤一个一个进行操作

图片[7] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

选中单元格,点击上方运行命令,即可执行单元格代码,后续运行的方式一致。

1. 将项目移动到数据盘节约空间

图片[8] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

2. 运行完成后,即可在autodl-tmp文件夹下看到以下两个文件,分别对应人声提取项目(MVSEP-MDX23-Colab_v2)和声音切割(audio-slicer)项目。

图片[9] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

3. 继续运行命令,进入项目文件夹中

图片[10] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

4. 打开autodl-tmp/MVSEP-MDX23-Colab_v2/input/文件夹,选择上传我们准备的原始音频文件,耐心等待上传完成

图片[11] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

5. 上传完成后继续执行,将声音进行音频分离

图片[12] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

6. 处理完成后,打开output文件,可以看到两个音频文件intrum和vocals,分别对应环境音和人声

图片[13] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

7. 继续执行命令,将已经分离好的音频,转移到声音切割项目文件夹下

图片[14] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

8. 执行音频切割命令

图片[15] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

9. 显示切割完成后,打开文件夹,检查切割数据是否正常

图片[16] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

10.打开audio-slicer文件,可以下载音频试听效果

图片[17] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

注意为了保证后续的工作质量,切割完成后一定自己检查一遍文件的质量,确认切割的没有问题

11. 没有问题,直接右键复制output文件文件到so-vits-svc/dataset_raw/下,并重命名一下文件,这里重命名为sanshi,注意不要使用中文

图片[18] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

这样我们的数据集就准备好了,后续的命令不继续执行

四、模型训练

1. 开始进行数据训练,打开quickly.ipynb文件逐步运行

图片[19] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

2. 移动项目文件夹到数据盘以节约系统盘空间。

图片[20] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

3. 进入到项目文件夹中

图片[21] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

4. 逐步执行重采样,编码器,f0预测器命令

图片[22] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程
图片[23] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程
图片[24] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

5. 等以上命令全部完成,即可开始主模型训练,等待Epoch轮数出现时,表示模型已经开始训练。

图片[25] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

6. 训练的过程中,不需要关注轮数,只要看步数即可,每到指定步数会自动保存模型到44k文件夹下。

图片[26] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

终止后重新开始训练会接上上次的训练位置继续,所以不用担心训练一半后丢失

五、模型加载

关于模型的训练效果,没有绝对的说法,大家可以在训练到一定阶段后,开始测试模型效果

1. 首先进入autodl-tmp/so-vits-svc文件夹,然后再点击加号打开启动页,选择终端进入

图片[27] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

2. 运行命令

python app.py

3. 运行后,会分别给出local URL和public URL的WebUI链接

图片[28] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

4. 先不要着急打开,我们回到控制台,找到租用的GPU,选择自定义服务

图片[29] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

5. 下载Tools文件文件进行,默认安装

图片[30] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

6. 安装成功后打开,分别复制登录指令和密码,端口对应local URL末尾的端口号,默认为6006,点击开始代理

图片[31] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

7. 开始代理打开后,我们再复制Local URL:http://127.0.0.1:6006到浏览器新窗口打开,即可进入下面的页面

图片[32] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

注意:这里没有使用public URL,因为我发现使用public URL会导致后续文件上传超时报错,所以选择local URL。

8. 模型选择最新训练的最好的模型,同时选择config.json

图片[33] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

9. 设置好以后,点击加载模型,等待10s后,显示模型成功加载

图片[34] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

六、声音合成

模型加载完成后,即可开始声音合成,我们需要找到自己想要翻唱的歌曲音频文件,进行声音分离

1. 歌曲的下载这里可以选择歌曲宝等找到自己想要的音乐进行下载,完全免费

歌曲宝https://www.gequbao.com/

MyFreeMP3https://tools.liumingye.cn/music/#/

歌曲下载成功之后,同样需要对音频文件进行人声和伴奏的分离,可以继续使用MVSEP-MDX23-Colab_v2分离

2. 我们继续回到数据处理项目的文件夹下,打开autodl-tmp/MVSEP-MDX23-Colab_v2/input文件夹,上传我们下载好的音频文件

备注:可以将原始的声音素材文件删除,只保留我们的音频文件,注意上传的音乐文件不要使用中文命名

图片[35] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

3. 分别按照顺序执行两个命令

图片[36] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

4. 执行完成后,打开output文件夹,下载分离后的vocals文件即可(vocals对应人声,instrum对应环境音)

图片[37] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

备注:以上步骤为了简便使用项目的分离方式,大家也可以自行选用万兴,剪影等工具进行人声和伴奏分离以获得更好的效果

5. 分离完成后将选择单个音频上传,f0选择器可以先选择rmvpe,其他数据保持默认即可,点击音频转换,即可开始生成

图片[38] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

6. 预计需要2~3mins转换成功,试听效果完成!

图片[39] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

部分情况下,可能出现哑声的情况,就是训练后输出的文件并没有声音,可以通过修改f0预测器,或者更改其他的模型文件,再次尝试

7. 可以自己下载文件,将自己合成的音乐和原来的伴奏结合,重新生成文件,音乐合成也不是我擅长的领域,所以无法分享更多

七、模型保存

由于目前的所有工作都在云服务端完成,面临着数据丢失的风险,所以可以将文件将我们训练好的模型文件保存起来,方便下次使用,这里有两种方式可以选择:

方法一:保存到本地

1. 打开文件夹:autodl-tmp/so-vits-svc/logs/44k

图片[40] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

2.选择需要保存模型,直接右键下载到本地,注意同时保存D_9600.pth文件和G_9600.pth两个文件。

图片[41] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

下次在别的GPU打开时,可以直接使用已经训练好的模型进行声音合成

方法二:保存在网盘

1. 点击AutoPanel

图片[42] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

2. 选择公网网盘,首次访问需要设置一个密码

图片[43] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

3. 设置好之后进入,选择阿里云盘,扫码授权登录

图片[44] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

4. 点击上传,找到模型的存放位置,上传至云盘保存

图片[45] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

5. 传输任务中可查看传输进度

图片[46] - 五音不全?用AI唱出你的第一首歌!| 保姆级教程

模型保存成功之后,我们的整个流程就全部完成了,最后记得在控制台选择关机,释放GPU,否则会一直烧钱。

结语

声音克隆是一个十分有趣的项目,声音是数字生命中不可缺少的一环,或许它不仅仅是帮我们实现唱歌的梦想,还可以借助它来纪念那些我们深爱的已经离我们远去的人,让他们的声音重现,AI给了我们无限的可能!

已经看到这里了,如果这篇文章对你有帮助,欢迎点赞,分享,在看!👇

© 版权声明
THE END
喜欢就支持一下吧
点赞48 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情

    暂无评论内容