诸君,不雅观夫古今之声,曲中有情,声声入耳,悠悠万世。
而今,科技之风席卷,令周杰伦歌喉再现,亦非虚妄。
利用开源模型so-vits-svc,做AI唱歌,你可以让自己,乃至任何人去唱任何人的歌
比如之前非常火的AI孙燕姿,便是利用这个模型,虽然这个项目去年就出来,但彷佛一贯没怎么用过,
以是本日用最大略的办法教你去利用它,目标是用Suno天生一首歌,让周杰伦去唱!
将任何人都能变为“周杰伦”,演绎属于你的专属音乐作品。
本文设计到数据集的搜集,干声处理办法,Uvr的利用,包括云端做事器利用和so-vits-svc演习,AI音乐Suno的利用,以及处理文件的大略脚本利用,希望对大家有有用!
之前写过许多干系AI声音的文章,可一起汇总查看微软Azure新增9个更真实AI语音 - 现实,GoodBye了!
AI声音- ElevenLabs | 克隆马斯克AI声音克隆 | 最全最简教程(威信版)
本文目录:一 提取干声数据集二 干声文件预处理三 唱歌模型演习四 模型推理和保存五 干系工具和开源代码地址六 效果展示
一 提取干声数据集
1 搜集音乐
首先搜集你须要的歌手音乐,如周杰伦(高音质),然后处理成30-60min高质量干声(标准100min),终极输出格式推举WAV格式,
免费音乐链接1https://tools.liumingye.cn/music2https://lxmusic.toside.cn/3http://file.pl.rs/4github.com/sxcool1024/Jay解释:仅供参考,由于版权,有些歌曲是没有的(腾讯音乐版权卡的严,吭叽),如果没有私信我办理哈
2 去除背景乐曲,提取人声
我这里为了大略利用剪映(人声分离)搭配uvr利用(去除混响和和声),但是如果你的显卡牛批的话,全部利用uvr处理就可以
"大众年夜众号回答2024UVR5,在直接获取
UVR5去伴奏干系配置(电脑有GPU的优选)
或者:利用剪映的人声分离处理去伴奏
之后可以开启人声美化(50),响度统一,音频降噪
3 末了利用uvr,去除混响和和声
按照下面的选项,点击处理就可以了
关于设备,有显卡最好,但是没有的话,可以将切割的素材韶光缩短,也可以用,便是比较慢
官方解释:Nvidia RTX 1060 6GB是GPU转换的最低哀求。建议利用至少8 GB V-RAM的NvidiaGPU。此运用程序仅与64位平台兼容。此运用程序依赖于FFmpeg来处理非wav音频文件。
二 干声文件预处理
1 音频切片
公众年夜众号回答2024AudioSlicer在直接获取
音频切片官方指示:将音频切片至5s - 15s, 轻微长点也无伤大雅,实在太长可能会导致演习中途乃至预处理就爆显存一样平常情形下只需调度个中的Minimum Interval,普通陈述素材常日保持默认即可,歌唱素材可以调度至100乃至50切完之夹帐动删除过长过短的音频如果你利用 Whisper-ppg 声音编码器进行演习,所有的切片长度必须小于 30s
按照官方的指示,调度Minimum Interval到100,终极切片时长保障在2s-30s ,把不在这个区间的直接删除既可
2 文件名修正(rename.bat)
对付文件名字没有哀求,但类型必须是wav。为了方便建议,修正为“xxx_编号.wav”(wh_0001.wav)xxx代表说话人,_后面为音频编号我这里大略写了点bat脚本,可根据你自己的原始文件参考修正
修正示例:
@echo offsetlocal enabledelayedexpansionfor %%f in () do (set "filename=%%f"set "newfilename=wh!filename:_=!"ren "%%f" "!newfilename!")endlocal
处理完毕,接下来就开始紧张的模型演习了
三 唱歌模型演习
如果本机显卡牛皮,可以直策应用网络上的一键安装包,建议搭配bilibili@羽毛布团 大佬的整合包利用百度网盘:
https://pan.baidu.com/s/12u_LDyb5KSOfvjJ9LVwCIQ?pwd=g8n4···
这里利用云端演习,利用AutoDL,请查看文章GPU环境篇:利用AutoDL支配StableDiffusion(或其他)
搜了下,看这个镜像还挺详细大略,推举镜像如下
1 创建实例地址:https://www.codewithgpu.com/i/svc-develop-team/so-vits-svc/so-vits-svc-4.1-Stable
进入点击后直接创建实例
解释:镜像版本建议选择14.0,由于我利用最新的14.2,推理的web页面有点问题,须要改代码
看到有空闲的租一台,最好显存24G以上
2 开始实行预处理移动项目文件夹到数据盘以节约系统盘空间进入镜像,打开quickly.ipynb,运行第一个代码块(或者选中后直接shift+enter)
上传素材文件将素材文件夹修正名字并压缩为zip,上传到autodl-tmp/so-vits-svc/dataset_raw,
上传成功后(下方蓝色进度条会显示,大概20s旁边),点击窗口的小+号,在新页面中选择终端,打开
实行命令,解压缩文件
cd /root/autodl-tmp/workdir/so-vits-svc/dataset_rawunzip filename.zip
上传结果终极展示
依次实行所有预处理
实行后结果展示
解释:末了一个实行“f0预测器,默认利用rmvpe且带浅扩散”会慢点,等待100%后(大概2分钟)。表示成功
3 开始主模型演习等待上面显示预处理完后,找到演习代码块,一共有浅扩散模型演习和主模型演习
只能同时演习一个模型,建议先演习下面的主模型,主模型演习好后再去演习浅扩散(浅扩散模型属于扩展模型,能增强效果,但会削弱音色)
这里只进行主模型演习就行(主模型演习好后再去演习浅扩散,可选)
我这里方便查看,可以在刚才打开的终端单独实行,实行如下命令
cd /root/autodl-tmp/workdir/so-vits-svcpython train.py -c configs/config.json -m 44k
开始演习,查看epoch,step,lrEpoch是轮数,1.5w-3w步差不多就可以用了,等待丢失率平滑就可以了演习过多会过拟合,通过耳朵听辨别最好的模型哈
解释:终极演习韶光大概3-10小时,我大概1小时的干声数据,step演习2.5w,RTX 4090(24G显存),大概花费4小时旁边
四 模型推理和保存
1 打开web页面
模型打到1w旁边后开启推理的WebUI界面,推理歌,听一听,看下效果!
打开一个新的终端,实行命令
cd /root/autodl-tmp/workdir/so-vits-svcpython app.py
之后会有两个链接。一个是内部链接,无法浏览器访问的,要回到容器实例,点击自定义做事,挂代理就可以了还有一个是外部链接,复制后可直接访问
2 配置参数,加载模型
配置文件config.json;选择模型,加载模型(10s旁边)
扩散模型和聚类模型是两个扩展模型,聚类模型正常说话有用,增加咬字,浅扩散模型可以修复部分哑音,但有一些音色透露问题,数据集处理好,这两个都可以忽略。
3 上传音乐,推理
上面第一步已经教你处理干声了,处理目标音乐完后上传干声;我这里利用Suno_V3天生一首儿童歌,处理成干声f0预测器选择换成rmvpe,点击音频转换(十秒旁边)
末了再讲分离的背景音乐和转换的干声用剪映叠加起来,就ok了
如果web页面不能推理,可以单独实行此脚本(在项目目录下)
#不能从本地上传直接推理,说话人以dataset/44k内的为准,不然会报错#模型文件位于logs/44kimport os#修正下面的模型名称为你自己的名称model_name='G_31200.pth'#默认rmvpe,可修正f0_predictor='rmvpe'audio_input = []#注释掉以下两行.可手动指定说话人folders = [f for f in os.listdir('dataset/44k') if os.path.isdir(os.path.join('dataset/44k', f))]speaker_folder = folders[-1]for filename in os.listdir('raw'): if filename.endswith('.wav') or filename.endswith('.mp3') or filename.endswith('.flac'): audio_input.append(filename)audio = ' '.join(audio_input)%run inference_main.py \ -m logs/44k/{model_name} \ -c configs/config.json \ -n {audio} \ -t 0 \ -s '{speaker_folder}' \ -f0p {f0_predictor}
4 模型保存
模型记得保存下,免得你的云端丢失默认保存在/root/autodl-tmp/workdir/so-vits-svc/logs/44klogs/44k内的G_xxxx.pth,D_xxxx.pth和config.json文件;
还须要下载logs/44k/diffusion夹内的model_xxxx.pt文件和config.yaml文件(如果做了浅扩散模型演习,没有直接忽略)解释:把这些文件单独下载到本地一个文件夹,下次利用相同镜像,直接上传到相同文件,就可以直接推理了
紧张文件夹解释:/root/autodl-tmp/workdir/so-vits-svc #根目录logs/44k #模型存储目录,包括config.json/raw #上传音乐存储目录/results #推理结果目录/dataset_raw/hw #hw为你上传的素材文件夹
五 干系工具和开源代码地址
这里将利用到了开源模型做一个总结,如果想详细利用细节,都可以点击详情去查看Uvr:https://github.com/Anjok07/ultimatevocalremovergui/Github链接:https://github.com/Anjok07/ultimatevocalremovergui/sovits:https://github.com/svc-develop-team/so-vits-svcAudioSlicer:https://github.com/flutydeer/audio-slicer/blob/main/README.zh-CN.md一键包:https://www.bilibili.com/video/BV1Cc411H74D/
六 效果展示
这里利用gpt天生歌词,利用Suno天生一首深圳的儿童营养歌】
如何用AI让周杰伦翻唱任何歌曲?手把手教程so-vits-svc
原声
康健小太阳,电子灵魂华尔兹,3分钟
原唱干声:
康健小太阳干声,电子灵魂华尔兹,3分钟
周杰伦唱干声:
周杰伦推理干声,电子灵魂华尔兹,3分钟
周杰伦+伴奏:(终极版)
周杰伦版_康健小太阳1,电子灵魂华尔兹,3分钟
末了,希望大家都可以有一个好的演习,好的推理
当然你也可以去录音的地方录1-2小时(包含中高低等各种腔调),演习自己的音乐模型!
末了,如果你以为文章对你有用,记得点赞,再看!
如果想第一韶光收到推送,也可以给我个星标⭐ 感谢!