!!!说明
:
- 本教程仅为 AI 学习交流
- 为避免侵权,此项目所有数据和模型需要自行解决
- 技术本身没有好坏,但禁止利用技术进行违法犯罪
Intro#
相信这几天一定被各个视频平台的 “冷门歌手”—— 孙燕姿刷屏了吧,AI 合成了逼真的孙燕姿的声音,然后去演唱别的歌曲。没错,上面那个破音版《乌梅子酱》就是利用此技术实现的,今天我们就来简单介绍背后的技术,并教大家如何使用 colab 实现翻唱。
项目介绍#
Sovits
(So-vits-svc)是由是中国民间歌声合成爱好者 Rcell 基于 VITS、soft-vc、VISinger2 等一系列项目开发的一款开源免费 AI 语音转换软件,可以实现音色的重现,可以简单理解为一个很厉害的变声器。
colab 介绍#
为什么用 colab#
电脑性能良好的朋友完全可以用自己的电脑进行训练(必须是 N 卡),我的电脑是轻薄本,跑不了这个项目,于是使用谷歌的 colab 进行翻唱演示
什么是 colab#
简单理解,colab 就是谷歌为广大开发人员提供的在线算力平台,像我这样的平时学习的时候有算力需求,但是个人电脑无法满足时就可以使用 colab。
colab 可以免费使用,也可以付费使用,免费的性能差一点,付费的按算力计费,但也不算贵。以前我用这个来跑stable diffusion
,后来白嫖的人太多了,谷歌就禁止免费用户用 colab 运行 stable diffusion,所以我也不知道谷歌什么时候会限制用这个来进行唱歌训练。
数据与模型准备#
此项目除了 AI 翻唱,也可以让 AI 复述你的话,就当做一个变声器使用。大家可以训练自己的模型,我这里作为演示,就只教大家如何利用模型进行翻唱,以李荣浩的《乌梅子酱为例》
1. 首先需要准备你想要翻唱的歌曲,因为这个项目只是翻唱,所以需要进行人声分离,可以使用这个在线工具进行分离操作
2. 将分离好的人声和背景音乐下载下来,现在只需要用人声进行翻唱,翻唱完成以后再把人声和背景音乐结合在一起就可以了
3. 一首歌通常三到四分钟,显卡性能往往不足,所以需要将歌声切片,每段控制在一分钟以内,然后分别训练,最后再拼在一起
下载别人训练好的孙燕姿的语音模型
数据和模型请自行下载
好了,现在我们开始正式学习如何利用 colab 进行 AI 翻唱。
打开项目#
首先打开 GitHub项目地址,来到最下方找到Colab notebook scripts
,点击翻唱箭头指向的链接,另一个是训练的项目。
可以看到打开 colab 的 note 页面和我之前讲的 jupyter 很像,其实就是一样的。此项目是别人 notebook,所以我们需要点击保存为副本到我们自己的谷歌云盘之中
配置#
保存完成以后,我们需要检查我们的项目是否是用 GPU 运行的,可以先点击连接在运行,相当于运行服务器,也可以直接点击第一个运行。这里的Tesla T4
就是 GPU 的型号,也有可能是别的显卡,谷歌根据此时的算力需求自动分配的。
下面依次运行这两个配置代码,免费的机器运行很慢,要耐心等待,等Setup 1
运行完成以后运行Setup 2
。之后就接着下面的运行下载 ContentVec 和 hugging face,可以看到下载速度非常快.
HF 模型下载完成以后,可以点击列表下载某个具体的模型,我使用的是 AI 孙燕姿的模型,所以我需要上传其他模型
连接云盘与上传数据#
点击左上角的云盘按钮,会提醒你运行连接云盘的代码,根据提示运行和给授权就可以了,这是将此项目与你的云盘连接起来,不是授权给第三方,所以可以放心使用。
接下来打开自己的谷歌云盘,上传自己的模型,然后点击分享按钮,打开权限,让所有收到此分享链接的人都能使用,复制分享链接填到下面的框中,然后运行即可自动下载模型。
接着运行下面一行的解压程序,用来解压我们的模型
训练#
把切片好的人声音频文件上传到 raw 文件夹,设置好参数点击Convert
就可以开始训练了
tips:
每段音频尽可能小一点,不超过 1 分钟,建议 40 秒左右
每次只上传一段音频,训练完成,下载以后再上传下一段进行训练
参数先默认,再根据训练效果慢慢调
总结#
今天我们简单介绍了Sovits
项目,并使用 colab 进行翻唱自己喜欢的歌曲,大家可以自己亲自上手体验,感兴趣的话可以使用 GitHub 项目进行训练自己喜欢的模型,教程 b 站也有,但一定要注意禁止违法犯罪,不要侵权,自己玩玩和学习 AI 就行了。