《《ONE-SHOT VOICE CONVERSION USING STAR-GAN》》论文总结

image-20200712160843097

  1. 解决的问题:

    1. 在原本的StarGan-VC中,实现了“未知speaker:source/target 都未知”的转换。称作“One-Shot
    2. 其他文章其实也有做过类似功能:基于“超大数据集的 VC 模型”做自适应adaption调整:比如之前谢磊团队那篇 对WaveNet的改进模型,在处理未知说话人时,采用的是 额外20到50条数据的进一步收敛;
  2. 采用的主要方法:

    1. 把说话人信息看作 embedding。
    2. 但是不同于原本 StarGan-VC 代码实现中(非官方)用 One-Hot来做embedding。
    3. 也不是用的后来咱们讨论中,改用 embedding_lookup()的方式(虽然已经比One-Hot concate 方式要好很多了)
    4. 而是采用2018年google的一篇文章,提取embedding的单独网络;(Global Style Token (GST)),用这个网络提取出来的embedding信息,可以表征说话人身份信息。
    5. 具体细节接下来说:

    image-20200712162827085

  3. 有价值的细节:

    1. 这个GST 训练时,先有一堆说话人,每个人有很多数据(1⃣️);
    2. 然后这个网络的功能就是:能把一个新来的 集合外数据(人/内容),扔进去,照样得到一个 speaker_embedding 信息;
    3. 这个embedding信息怎么来的呢?原来是由模型(1⃣️)训练集中的说话人embedding 融合出来的;所以最终的效果上,会是:新说话人声音特征,由训练集说话人特征组合而成;
    4. 这个GST当中, speaker ID 实现上,同样采用 one-hot 形式。
  1. 以上三点,其实都只是前人的工作,本文拿来创新性应用。

    1. 本文的细节创新:

    image-20200712164236074

    image-20200712164301003

    1. 原本的 StarGan-VC 中,在Generator部分 的BottelNect部分,采用正常的 【Conv,Norm,GLU】结构,其中的Conv采用 5 个channel
    2. 本文作者实验证明,这个 5 channel 太小了,影响了 reconstruction 音频质量;
    3. 但是尝试放大这个channel数,会发现有“信息泄露:information leakage”,有点像信号处理中的“频率泄漏:frequency leak”(后者采用加窗的方式规避这个问题);
    4. 所谓的泄漏,就是出现了无关的信息:Generator 没能把source中的身份信息过滤干净,最后的声音四不像;(频率泄漏则是,在没加窗函数之前,做FFT会出现 本没有的 频率)image-20200712165142509
    5. 最后的效果上:image-20200712165230066
    6. 作者说,用了这种方式(SoftMax 代替 conv-2d 做 BottleNeck),在转换结果上,共振峰频率frequencies of formants)会低一点:显示在能量图上,就是高频部分(上面)颜色会浅一点。
    7. 🌟疑问点:这个 共振峰频率 低一点,能说明什么????这样就能说明 说话内容信息泄漏会少一点吗?没搞懂;

5. 另一个操作改进点:

  1. image-20200712172437528

  2. 在Generator的修改上如图:

  3. 对比原型:image-20200712171657257

  4. 小细节:

    image-20200713175101061

    • 偶数:同时更新 D && G

    • 奇数:只更新 D

    • 特征选用上:由实验经验,由36维 MFCC 改为用 96维 sp 谱包络(96-bin Mel spectral envelope)

    • (这个和合成的应用上也有呼应, Mel 的训练合成,比MFCC reconstrruction 效果要好,更深原理 模糊

6. 结果上:

其实就是 VC 领域两个主观评价指标:Reconstruction 质量 和 Conversion 质量。

  1. 这份Demo里,Reconstruction 的效果也不怎么好,在Conversion 转换效果上还凑合;这个和StarGan-VC 差不多;
  2. Reconstruction 上,target 已知或 “增量式训练”过,数据效果上,提升不少;Conversion 效果也大差不差;image-20200712181557111

7. VC改进思路小结:

image-20200713132210312

  • 在想能否写WorkShop论文
  • 不知还有什么可改进的点,咱们可以接上WaveNet后端,类似谢磊上篇用的;
  • 然后重构损失上,模型结构学习一下网易这篇。
  • embedding 上,为的是实现 one-shot,再考虑是否有其他方法;