Skip to content

Latest commit

 

History

History
66 lines (41 loc) · 2.95 KB

README_old.md

File metadata and controls

66 lines (41 loc) · 2.95 KB

AI-Tuner (Vocaloid A.I. 调教师)

AI tuner for VOCALOID singer.

AI 调教师,目标是把 Vocaloid 调教门槛降到最低,让更多喜欢 V 家的小伙伴把自己的热情放在创作上,出现更多更多的原创作品。

怎么用呢?我们通过对真人人声的参考自动调整 Vsinger 的声音。这里说的真人人声可以是原声,也可以是自己唱出来的 DEMO (你要是跑调了,调教出来也是跑调的,手动 doge)。输入文件是 Vocaloid 工程文件 (后缀为:.vsqx) 以及真人人声文件 (后缀为:.wav),输出是已经调教好的 Vocaloid 工程文件。

通过调查发现有类似的论文指明之前的这种方法是可行的,但是由于需要手动手动收集大量数据集,我们降低预期,设计无参考模型。

新的模型目标是将一个未调教的版本(未来考虑提高调教水平)调教成比较好的样子。

阶段一:可行性调查

  1. 目标:判断AI可以改变的参数是否和真人原声有相关性
  2. 副作用:得到损失函数的正向预测公式,辅助阶段二快速训练
  3. 预计耗时:准备时间2到5天不等
  1. 目标:判断note样本和评价之间是否存在相关性,需要真人标注
  2. 副作用:得到评价函数的预测公式,辅助阶段二训练

阶段二:模型训练

损失函数构建阶段(优化)

  • 目标:通过PCA寻找评价函数的替代预测方案(后期加速模型训练速度),并使用测试集测试回归线预测的可靠性
    • 提取拥有vocaloid wav 片段的30%的数据进行这一步
    • 重复可行性分析部分的数据集准备工作
    • 取最高的几个PCA的值,得到PCx
    • 进行回归分析,得到简单的损失值预测函数 f(x)

训练阶段

提取50%的数据进行这一步

循环训练过程,直到一个比较小的损失值

正:

  • X 组样本化的原声文件向量以及vocaloid 文件的可调参数向量作为输入
  • X 可以取当前硬件设备所允许的最大值或者数据集的1%
  • 得到vocaloid的项目文件中的可调参数组成的向量的输出

统计:

  • 参考上一次的训练结果得到变化量参数
  • 用于初步筛选模型
  • 可以采用decay的方式(记不清了 @hobart)
  • 通过PCA得到的回归模型构建的损失函数得到损失值

反:

  • 根据规则更新模型参数
  • 我不太记得这里了,应该是因模型而异,需要温习一下 @hobart

模型评估

  • 提取剩下的20%进行这一步
  • 通过输出向量以及修改之前被屏蔽的部分(改成原声文件的参数),得到调教好的音频文件 #高维
  • 人为得评价最终结果

发现

很多神级调音师喜欢拆字调音,而不是一个一个字得调音,这个肯定会影响我们的结果。

我可以考虑使用k mean 分类算法把相关的作为一组,然后一组一组得训练,而不是一个note一个note的训练,这样就可以最小化拆字的影响