1987WEB视界-分享互联网热点话题和事件

您现在的位置是:首页 > 人工智能AI > 正文

人工智能AI

如何准备AI声音训练所需素材?喂饭级教程

1987web2023-08-07人工智能AI190
↑↑ ↑点击上方

↑ ↑ ↑ 点击上方名片,关注数字鲨

如对我们的内容感兴趣,欢迎置顶星标


本文较长,嫌文章太长的天赋型选手的可以自动跳到文末查看工作流程图与软件下载链接。


目录:

Part 1:前言

Part 2:本教程涉及的软件

Part 3:Ultimate Vocal Remover (UVR5) 使用教程

Part 4:Audio Slicer(音频切分)使用教程

Part 5:LosslessCut(音频切分辅助) 使用教程

Part 6:素材文件批量改名、去括号方法

Part 7:工作流程图与下载地址


Part 1:前言

最近大家都听到了很多AI翻唱的歌曲吧?特别是著名的冷门歌手孙燕姿AI版本。孙燕姿凭借干净清晰的嗓音、极具辨识度的声线,稳居被AI训练的歌手当中的头把交椅。从冷门到再度翻红,本人一首歌没唱,简直是躺红。

目前大家普遍使用的AI声音训练软件叫做so-vits-svc-4.0(也称Sovits),是由是中国民间歌声合成爱好者Rcell基于VITSsoft-vcVISinger2等一系列项目开发的一款开源免费AI语音转换软件。只需准备几十分钟到几个小时不等的语音或歌声数据(歌曲建议至少准备2小时以上的素材),就能训练出属于自己的AI声音库(训练时间根据你显卡性能而定),可以将一段语音或歌声转换为你想要的音色。比如你可以让特朗普唱你吃火锅,老子吃火锅底料


Part 2:本教程涉及的软件

so-vits-svc-4.0的安装以及使用方法,本文不深入讲解。大家可以去B站看Cui哥(Jack-Cui)的视频教程(我也是从Cui哥那儿学的)。本文主要给大家分享一下声音训练前,对所需素材进行处理过程中,所需软件的使用方法以及一些实操经验。1个月的实践经验喂到嘴边哦~~保证不翻车

所需软件如下:

1.Ultimate Vocal Remover(人声伴奏分离)

2.Audio Slicer(音频切分)

3.LosslessCut(音频切分补充)

4.ChatGpt自制批量去除括号小程序


Part 3: Ultimate Vocal Remover (UVR5)使用教程

我们以歌声训练为例。首先我们会用到UVR5这个软件来将素材当中的伴奏、和声、人声(干声)进行分离。歌曲有不同的格式,常见的有MP3WMAWAVAPEFLACOGGAAC等。选择无损格式(APE,WAV ,FLAC等)的素材会得到更好的训练效果。由于WAV格式容量过大,用起来不方便,推荐使用FLAC


第一步:选择素材(Input)和输出(OUTput)路径。

注意:这里可以同时选择多个文件


第二步:人声与伴奏分离。

将歌曲中的演唱部分(人声+和声)与伴奏进行分离。

1.PROCESS METHOD(处理方法)选择Demucs

2.STEM(主目标)选择Vocals

3.SEGMENT(分段)选择DEFAULT就行了,不用改它。

4.选择DEMUCS所对应的模型v3UVR Model_1

5.这个地方选择GPU ConversionVocals Only,下面两个选项不要勾选。勾选了VOCALS ONLY,就不会生成伴奏文件,后面声音的训练是不需要伴奏音的。如果勾选了Instrumental Only,只会生成伴奏文件,将不会生成人声+和声的文件。

6.点击Start Processing开始处理。看到Process Complete后,表示已经处理完成。


第三步:导入分离后的人声文件文件名末尾会带有VOCALS)。


第四步:调整处理的模式,进行干声与和声的分离。

1.选择VR Architecture

2.WINDOWS SIZE选择320Windows Size越小,效果就越好较小的Windows Size意味着越长的转换时间和越大的资源占用,我们毫不犹豫的选择320.

3.Aggression Setting (力度设置):这个选项允许你设置去除声音的力度。数值越大提取深度越大,为了得到最纯净的干声,我们选择20.

4.微调模型选择5 HP-Karaoke-UVR

5.最后这里我们勾选GPU ConversionVocals Only第就行了。

6.点击Start Processing开始处理。看到Process Complete后,表示已经处理完成。第二次处理后的文件名末尾会有带有VOCALS_VOCALS。至此,我们就得到了纯净干声素材


Part 4: Audio Slicer使用教程

so-vits-svc-4.0进行声音训练,需要将素材分成较短的片段,根据多次实践的经验(基于2080/3060ti),每个音频片段控制在3-10是比较理想的我们用Audio Slicer这个软件来进行切分工作。

Audio Slicer主要是消除音频中的空白部分,并进行初步的音频分段切割。

第一步:导入要切分的文件,选择切分后文件的储存路径。

第二步:参数设置。先给大家解释一下各个参数代表什么意思。

Threshold(dB):以分贝表示的RMS阈值,默认值40dB。所有RMS值都低于此值的区域将被视为静音。通俗来讲就是低于这个分贝时就会切割如果音频有噪音,请增加此值。

Minimum Length(ms):每个切片音频剪辑所需的最小长度,默认值为 5000毫秒。也就是说切割后音频长度不小于5秒钟。(实测还是会产生一些5秒以内的音频)。

Minimum Interval(ms):音频中静音部分的最小长度,默认值300毫秒。解释一下一段音频中出现了300毫秒以上的中断(无声),就会发生切割。低于300毫秒,则不会切割。举个例子,如果要切割说唱歌曲当中的快嘴部分,就要把这个参数设置得更小。否则rapper们一秒钟10几个字的不停发声,是没法切割的。请注意,此值必须小于 minimum length 且大于hop size。

Hop Size(ms):每个RMS帧的长度,默认值10毫秒。增加此值将提高切片的精度,但会降低处理速度。大家根据自己设备性能而定。

Maximum Silence Length(ms):在切片音频周围保持的最大静音长度,默认值1000毫秒。该算法用于搜索要切片的最佳位置。举例来说,你的干声部分虽然去掉了伴奏,但周围可能是有静默时间的,比如前奏、尾奏。如果这个参数比较大,音频就会沉默一段时间再放干声。我们肯定希望这个时间短一点好,直接上来就是干声,因此可以把这个值调低一点。可以点单理解为最大沉默(无声)时间。大家可能会疑惑,上面Minimum Interval设置了中断300毫秒就会切割,但这里设置允许保持1000毫秒的静默时间,岂不是矛盾了??其实这一点我也有一些疑惑,根据官方解释是设置此值并不意味着切片音频中的静音部分具有完全给定的长度。我大概理解的意思就是说这个1000毫秒只是一个相对值,不是完全意义的1000毫秒。期待有更专业的大佬评论区留言给大家解释一下。

第三步:第二、三、四次·····切分

第一次切分后,打开文件夹,按照时长排序将0-2秒的文件删除,将≥11秒的文件再次导入Audio Slicer,进行第二次切分。第二次切分时,可以将Minimum Interval、Maximum Silence Length两个参数改小(可减半),以达到更大强度的切分。并新建一个文件夹,储存第二次切分的文件。第三次、第四次切分过程以此类推,每次都可以将参数减半

每次建议切分三到四次以后,切割效果就基本没啥变化了,还是会留下一些时间较长的音频文件的。

将几个切分文件夹中的文件汇总,删掉所有0-2秒的文件,并把剩下的长时间文件汇总起来,留给下一个软件来处理


Part 5: LosslessCut 使用教程

本软件的作用,是将Audio Slicer无法处理的长时间音频文件,进行组合并且指定时长均分。

第一步:千里之行,始于汉化。修改界面语言如下图所示

第二步:合并长时间素材文件。

将长时间的素材文件全部拖入本软件,点击工具,点击合并/链接文件,将所选文件合并成一个文件。

合并后的文件会自动存放在原素材文件夹中,文件名中会出现merged。

第三步:固定时间分割片段。

将合并后的文件再次导入,依次点击编辑、片段、创建固定持续时间的片段。

将时间设置为10秒,点击OK

分割好后点击导出

在弹出的窗口中选择导出路径,点击导出

最后得到整整齐齐的一列10秒选手



Part 6:素材文件批量改名、去括号方法

第一步:重命名

将Audio Slicer与LosslessCut两个软件处理好的所有文件汇总放在一个文件夹内,全选后点击右键重命名。新文件名一定要是英文(sovits不能识别中文名的文件),演示案例就改成dengziqi。

第二步:去除文件名中的括号

在sovits进行文件预处理时,文件名中含有括号的时候,会提示错误,但实测过后发现此错误并不影响训练。有强迫症的同学们,可以让CHATGPT帮忙写一个去除括号的小程序代码,来批量去除括号。


至此,AI声音训练所需素材的准备工作就大功告成了!看似步骤繁琐,但熟悉过后还是很快的。

感谢朋友们关注、分享、收藏、点赞


Part 7:工作流程图与软件下载

软件下载链接:

关注公众号后留言AI声音获取下载链接