小白也能听懂的ai音声制作:低配置,易入门
最近看到网上有很多懒羊羊唱歌的视频,略感兴趣,于是就学习了一番,并选出来一个配置最低和最容易入门的项目教给大家,…(以后有空会写其他的)
当当!!!
音声转换项目DDSP的介绍和使用
ddsp-3.0是一款ai合成音频的开源项目,与之前的sovits,rvc,diff-svc不同,DDSP在训练推理速度和配置要求上都可以说是全面优于前面几个项目,并且训练效果有sovits4.0的80~90%,效果还是很不错的,只需要一张2G以上显存的N卡,花上一两个小时就可以训练完成,大大降低了ai变声门槛。
虽然ddsp4.0更新了,但实际体验和3.0并未太大差别,而且由于网上还没有大佬制作一键包,不利于小白入门,所以以3.0为首选项。
下面就介绍ddsp-3.0的用法,首先下载b站up主[羽毛布団]的整合包DDSP-SVC 3.0 一站式整合包使用教程 (qq.com),该整合包使用图形化界面进行训练和推理,以及配备了urv5,au,自动切片工具等,老少皆宜,让我们先感谢赛博佛祖!
下载完毕后解压至电脑文件夹,先解压urv5,按照提示,把urv5模型解压到models文件夹,为以后处理数据集做准备
然后进入ddsp文件夹
下拉,点击
启动项目(注意,启动时最好不要开梯子,不然以后可能会打不开)
预处理
进入这样的界面,由于第一次进入需要先进行模型训练,你需要事先准备半小时到2小时的干净人声(可以到b站搜原神任务语音数据集,有很多)拿来练手,点击智能音频切片,将你人声所在文件夹目录复制到第一个空位:
点击文件夹目录ctrl+c就能复制,选定自己想要输出到的目录,再点击切片就可以自动把半小时的语音切成10~15秒的短音频
训练
接下来就可以开始训练工作了
将你切好的音频全部复制到ddsp的data/train/audio下
并挑出几条效果较好的语音片段复制到
下,数据集中按训练集:验证集=100:1的比例挑选,经测试,前者较少时,后者比例大些也可以,但不能超出太多,下一步,预处理配置可以自己选择,都有提示
训练设置和超参数尽量都不改,可以根据电脑配置适当更改批大小:
最后的fp32,fp16,bf16可以按下边的来:
FP32/BF16/FP16 有什么差别1. FP32(单精度浮点数):它使用 32 位来表示一个浮点数,其中 1 位用于符号位,8 位用于 指数部分,23 位用于尾数部分。FP32 提供了较高的精度和动态范围,适用于大多数深度学 习任务和一般计算需求。(除了慢一些没啥不好的) 2.BF16(BFloat16):它使用 16 位来表示一个浮点数,其中 1 位用于符号位,8 位用于指数 部分,7 位用于尾数部分。BF16 可以看作是 FP32 的一种截断形式,减少了存储空间和内存 带宽的消耗,同时仍具备较高的动态范围,适用于训练和推理任务。(only Nvidia 30/40 series)(相比 FP16 没那么容易 NaN,同时又比 FP32 快,但是损失精度)2. FP16(半精度浮点数):它使用 16 位来表示一个浮点数,其中 1 位用于符号位,5 位用于 指数部分,10 位用于尾数部分。FP16 相比于 FP32 和 BF16,减少了存储空间和内存带宽的 需求,但牺牲了精度和动态范围。因此,FP16 通常用于对模型进行加速或压缩时,例如在 移动设备或低功耗设备上的推理过程中。(相比 FP32/BF16 更容易 NaN,但是精度比 BF16 高,对比 FP32 也损失不多,理论上来说,30/40 系跑 BF16/FP16 运算速度一样) PS:显卡属于哪一系列: A 开头的属于 Ampere 架构,与 30 系同架构,理解成 30 系就好,例:A5000,A100,A10。 T 开头的属于 Turing 架构,与 20 系同架构,常见的就是 T4,理解成 20 系就好。 V 开头(或含 V)的属于 Volta 架构,仅出现在商用领域,接近 20 系,理解成不支持 int4 运算 的 20 系就好,包含 V100,Titan V。 P 开头(或含 P)的属于 pascal 架构,与 10 系同架构,常见的就是 P100,Titan Xp PS: 30/40 系建议优先 BF16,尤其是 A100,尽量不要选 FP32 20 系建议降低一点点 learningrate 然后选 FP16,因为比 FP32 快上不少( 16 系选 FP32,因为 FP16 大概率炸(玄学 10 系随意,看心情
不想看没关系,显存小的默认就行,显存大的选后两个,
(测试3060-6g选后两个在训练时会卡主,自行选择)
之后点击从头开始训练,需要两个模型都训练,之后会大开两个黑窗口,
点击下方监控训练状态可以查看训练情况,对于ddsp模型,当显示
最后趋于稳定就可以收手了,如果线条乱跳就说明模型炸了,重新开始吧
后者扩散模型
如果坐标轴右侧大致呈下降趋势到底,就可以停了
主要是训练ddsp模型,注意
不改设置时,每2000步才会保存一次存档,每10000步保存一次存档并删除2000次的临时存档,所以我们停止训练时,尽量选刚超过2000的倍数,停止后会把我们训练的结果放到
下,这时我们就可以测试是否推理是否成功了
点击推理页:
推理
(注意:当我们开着梯子时,有时是无法找到配置文件的,关了梯子,并重新打开webui.bat!!)
下一步上传推理的数据:(需要干净无噪声,并且只有单人声,以自己训练的模型为准)
这一页设置按需更改,一般只用调第一个变调吗,意思是
当模型为女声,推理数据为男声,需要升调,例如可以先升至12,看结果如果声音很尖,说明高了,降调。同理推理数据为女声可以先为0,看效果,如果声音太尖,可以降为负数试试,如果声音像男声,可以调高;
当模型为男声,推力数据为女声,需要降调,降为12先看效果,同上;
再往下:
f0提取算法正常选第一个,提示都有,第四个算法更适合推低音‘相应阈值是为了应对数据集如果没请干净,可以拉高,将很低的声音一刀切掉;采样不要变;浅扩散步数越大,声音越接近模型声音,但时间也会成比例增加;正常100就不要变。加速倍数不变。
至此,对于单个训练流程我们已经走完了;
注意点
再提几个注意点:
urv5的使用
如果是使用整合包自带的urv5:
导入模型后使用
该连招可以清除人声和混响
需要处理两次
第二次处理要更改输入源;
但是,URV5有新版本了!!!没错,你白学了,嘿嘿,URV5.6有了新的连招,相较于旧版本效果直线上升,具体可以看bfloat16的动态UVR5使用教程和最新连招 – 哔哩哔哩 (bilibili.com),赛博佛祖,受小儿一拜!!!
提几个要点,新模型是需要自己去下载的,点自带的小扳手即使连了梯子也可能会不成功,如果实在找不到文中的几个模型可以私信我:,下图是最新连招,需要处理三次,效果杠杠滴!
制作好的模型以及更换模型
当制作好后,emp文件中会有目前使用模型的模型文件
在models_backup文件夹下也会有一份存档
该存档会把两个模型分开存放,并且有时不会保存,还没搞清楚什么时候会保存,最好不要相信自动存档,
最好的做法是把训练好的模型在该文件夹下新建文件夹并复制进去,以后用的时候直接复制到emp文件夹中。想要发给别人就压缩emp文件夹发送就行了。
推理出的结果存放位置
在ddsp下output文件夹下,保存的是wav格式’
合成成品
进入au或者剪映,将推理出的wav和之前分离的背景wav一起放进去就可以合成啦,你还可以再用剪映添加背景图片各种操作或者使用ae添加背景和特效。
小技巧
有时候不管怎么推我们的效果总是和预想的有些出入;
有时候一首歌前半段像,后半段又不像,歌词平缓的时候像,高潮的时候又不像;
其实这是这首歌跨调太大,但是ai推理出的音乐只能在一个范围内的调变动,程序上目前只能等作者更新出识别歌曲变调功能,但是我们可以在推理时选几个不同的变调,再用au把每首歌像的地方截到一起,操作起来还是很方便的。
12.7 更新
好久没有玩了,学习繁忙阿!~!,不过之前发现的数据集问题还是提一嘴把,数据集影响了之后这个模型推理的所有东西,拿原神为例,数据只有语音,没高音,没低音,怎么办呢,经过我的深度探究,知道了几种方法,不过较为好用的算是在未训练前将部分数据集进行降调和升调处理,具体操作为在au中定义并收藏一个升调的方法,批量将语音进行升调和降调处理,要注意,不能太过头,容易失真,具体网上搜吧
有什么想问的可以在评论区或者私信我,不定时更新;
######################################
参考:
羽毛布団的个人空间-羽毛布団个人主页-哔哩哔哩视频 (bilibili.com)
DDSP-SVC 3.0 一站式整合包使用教程 (qq.com)
UVR5使用教程和最新连招 – 哔哩哔哩 (bilibili.com)
https://github.com/yxlllc/DDSP-SVC