ai孙燕姿什么意思?一夜之间“AI孙燕姿”火遍全网,由此引发了大家对ai音频转换工具的相关探讨,ai孙燕姿是使用GitHub上面的一个开源项目SO-VITS-SVC制作而来,用户可以在此项目中通过ai智能工具收集孙燕姿的音色,从而生成目标音色模型来翻唱作品,ai孙燕姿怎么做的?不知道的朋友赶紧来看看!
ai孙燕姿什么意思
一夜之间“AI孙燕姿”火遍全网。在B站上,AI孙燕姿翻唱的林俊杰《她说》、周董《爱在西元前》、赵雷《成都》等等,让一众网友深陷无法自拔。网友表示,听了一晚上AI孙燕姿,出不去了......
这些翻唱作品基于一个叫做so-vits-svc的开源项目。仅凭数段音频,就可用一个生成式模型来合成目标音色的音频,训练出用户想要的声学模型。这个模型可以保留音高和音调,也可以用不同的语言来翻唱。
ai孙燕姿下载:【点击下载】
ai孙燕姿怎么做的
方法一:
一、准备工作
训练数据很关键,越多高质量的音频数据,效果越好,建议至少准备一个小时以上的音频。
显卡建议使用 N 卡且显存 8G 以上。
我将项目所需要的代码、工具整理了出来,如有需要可以在评论区留言或者通过下方链接联系我。
当然,也可以直接用开源代码直接部署,地址如下
GitHub - svc-develop-team/so-vits-svc: SoftVC VITS Singing Voice Conversion
二、环境安装
1.安装pytorch深度学习框架
需要安装pytorch,torchaudio,torchvision三个库
参考我之前写的https://yunlord.blog.csdn.net/article/details/129812705?spm=1001.2014.3001.5502
2.安装相关依赖
可以看到下载的项目中包含两个requirements.txt,以windows为例,
进入到项目中,通过prompt输入以下指令,
pip install -r requirements_win.txt
三、数据处理
训练音频、还有需要预测,或者说转换的音频都必须是人物的干声。换句话说音频中不能包含背景音、伴奏、合声等,所以无论是训练和预测,都需要对数据进行处理。
1.提取人声
我们可以通过UVR5 这个软件实现伴奏与人声分离。
在 Windows 下可以直接使用。打开软件,按照如下配置
运行即可分离人声和伴奏。
然后再按照如下配置,去除合声,
经过提取出的干净人声音频就可以用来训练。
2.切割音频
不过因为音频太长,不要超过三十秒,很容易爆显存,需要对音频文件进行切片。
我们通过 Audio Slicer这个工具实现音频切分 。
直接运行 slicer-gui.exe。
填写输入路径,填写输出路径,其它参数都默认即可,这样就会得到切分好的音频段。
建议切完之后逐段听下,将效果不好的删除,高质量的音频比数量多的效果更好。并且如果还有时长超过30s的可以通过写的python音频切割代码进行截切。
在项目的 so-vits-svc-4.0/dataset_raw 目录下创建一个文件夹,比如我的是 wang_processed,将处理好的数据放到里面。
四、训练模型
在训练模型前,我们需要下好原始模型,并将其放到对应位置
将checkpoint_best_legacy_500.pt放入hubert文件夹下
将D_0.pth和G_0.pth放入logs/44k目录下
1.数据预处理
接下来可以直接运行项目里面的1.数据预处理.bat。
这个脚本就是按照步骤,运行各个 py 脚本
重采样至44100Hz单声道
python resample.py
自动划分训练集、验证集及自动生成配置文件
python preprocess_flist_config.py
生成hubert与f0
python preprocess_hubert_f0.py
处理完毕后会在 datset/44k 下生成一个文件夹。里面的数据如下图所示
可以删除 dataset_raw 文件夹了。
2.模型训练
直接运行项目中的2.训练.bat即可开启训练。
python train.py -c configs/config.json -m 44k
如果显卡够好可以增加 batch_size 提高训练速度对应的配置文件在 configs/config.json 文件里。
这个训练时间很长,个人觉得如果数据较好的话,训练到30000轮以上就有一个不错的效果。
3.聚类模型训练
直接运行项目中的3.训练聚类模型.bat即可开启训练,这个比较快,几分钟即可跑完。
这个主要是可以减小音色泄漏,使得模型训练出来更像目标的音色,但其实不是特别明显,但是单纯的聚类方案会降低模型的咬字,会口齿不清,这个很明显,本模型采用了融合的方式,可以线性控制聚类方案与非聚类方案的占比,也就是可以手动在像目标音色和咬字清晰之间调整比例,找到合适的折中点。
使用聚类前面的已有步骤不用进行任何的变动,只需要额外训练一个聚类模型,虽然效果比较有限,但训练成本也比较低。
训练过程,
执行python cluster/train_cluster.py,模型的输出会在logs/44k/kmeans_10000.pt
推理过程,
inference_main.py中指定cluster_model_path
inference_main.py中指定cluster_infer_ratio,0为完全不使用聚类,1为只使用聚类,通常设置0.5即可
4.推理预测
准备干声
准备一首歌的干声,干声可以按上述音频素材准备那样处理,通过UVR5提取一段不超过90s的干声素材。
修改模型名
修改 app.py 里的这一行
训练好的模型存放在了 logs/44k 目录下这里改为训练好的模型地址。以及对应的配置文件,最后是第三步生成的 pt 文件路径。
运行web
直接运行项目中的4.推理预测.bat。
程序会直接开启一个 webui,将开启的 url,直接复制到浏览器地址栏中打开即可。
就是一个简单的 Web 页面,里面的参数,可以直接使用默认的,放入一个音频,即可转换音色。
方法二:
下载GitHub app,按照如下教程进行操作
GitHub下载:【点击下载】
github可以很方便地让我们参与开源项目中,并贡献自己的代码.那么,我们怎么去参与一个开源的github项目呢?
首先,去访问你要参与的github主页,点击“Fork” => create Fork.
2. 然后,这样就把这份项目拷贝到了你的远程仓库,用你自己的账号登录查看你的仓库,会发现你的仓库已经有了这个项目,点击Code,copy你的github地址,一定要注意,要在自己的github账号上进行,不要在项目作者的仓库上,因为你木有权限,你是不能进行推送和修改的.
3.如图,在git里利用命令git clone + copy的github地址把仓库克隆到你的工作区上,
clone完成后你就可以在你的工作区看到这个项目文件,然后你就可以开始干活了,
干完活后,先把你的代码提交到你的仓库中里:
git add test.md;
gti commit -m something
git push origin,远程仓库, -u master,本地分支,
注push 加上 -u 参数 是为了让你的远程仓库与你的本地分支建立连接,以后push的时候就可以不必加上这个参数了.
然后在你的账号下进行 Pull requests贡献你的代码了
至于对方是否接受你的代码,要看对方的心情了