so 您所在的位置:网站首页 小c一键电音唱歌效果好吗 so

so

2023-12-24 15:24| 来源: 网络整理| 查看: 265

最近在玩sovits,试着训练了一下自己的音色模型。摸索出来一点点经验,记录在这里,也分享给大家。

先来一波成果展示。

Tip1:录音时,人声电平最高不宜超过 -6db。Audition 音频图右侧可以看到当前录音的电平范围录音、播放时,下面也会显示这一瞬间的电平

我第一次准备数据集的时候,是顶着上限 0db 录制的。心想借鉴摄影领域的向右曝光,这种录音质量应该是杠杠的。结果训练了一万步,两万步,还一直是电音。后来把声音控制在 -6db 以下,就能训练出比较像的结果了。

Tip2: 直接使用 44100 采样率录制,节省 resample 时间Audition 新建音频文件选择采样率44100

Tip3: 使用 振幅与压限 -> 动态,快速删除话语间噪音选中全部音频后 效果 -> 振幅与压限 -> 动态启用自动门,可以参考这个设置

其中阈值需要注意一下,根据你自己的音频,看一下自己说话最小的声音对应的右边的电平,比如我的大概是 -30db,阈值设置得比这个稍小即可。

Tip4: 配置好的机器,一定要打开 all_in_memconfigs/config.json 里改 all_in_mem 为 true

这个参数官方是默认关闭的。它的说明是只在IO性能很差的机器以及内存比数据集大很多的情况下使用。而我的硬盘是致钛 Ti7100 2TB,PCIe Gen4的盘,按道理IO不算太差。但是不打开这个选项的时候,600条数据,4090 每个 epoch(也就是每200步)竟然要花费 4 分钟左右。而且看到其功耗只有 50W,明显就是IO瓶颈了。想来也是,600多个小文件,反复从硬盘上执行4K读写,跟直接从内存里读取肯定是天壤之别。

这里设置为 true 之后,训练速度大概提升了十倍。

另外,这600条数据,本身wav大小约在2GB左右。所以你的空余内存大于wav训练数据的5倍即可启用这项设置。

Tip5:训练到多少步合适?

我的经验是9000~11000步左右的模型比较合适。过低不太像,过高则过拟合充满电音。

值得注意的是,4090训练到这个程度大概只需要18分钟,B站有不少小伙伴分享的时间都是数小时,甚至整整一天一夜。大家不要被这些数据所误导。sovits的训练还是比较快的。

Tip6: 高质量的训练数据才能生成好听的歌

因为我收集训练数据的时候,处在一个非隐私环境,所以不好意思大声唱歌。所以生成出来的歌声也就适合低吟浅唱,遇到高音、副歌部分,生成的声音穿透力很不够。所以大家要想训练出唱歌好听的模型,打铁一定要自身硬。

原曲的vocal基于我的模型训练出来的歌声vocal

可以看到原曲的vocal频谱图,能量均匀分布在高中低音。而生成的我的歌声,则只在低音部分有能量。这是我训练数据本身的泛音个数就不够足的原因。这会导致,把两个音轨叠在一起,哪怕把我的歌声设置更强的电平,听到的也几乎是原唱的声音。

成果展示里后半段就体现了这个问题。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有