LPCNET: Improving Neural Speech Synthesis through Linear Prediction
这篇文章主要是提出了一个基于线性预测的高质量声码器
主要贡献:
- 改进了wavernn的训练,更换了特征,使用了线性预测,同时减小模型,更容易训练
- 修正采样的过程,使得8bit的输出也能得到高音质的音频
- 训练中加入噪音,减小训练和生成之间的gap
- 稀疏化,向量化矩阵,对核心代码进行优化,代码开源
总结:
这篇文章开源了代码,而且跑出来的效果真的很不错,力推!
Phonemic-level Duration Control Using Attention Alignment for Natural Speech Synthesis
这篇文章主要是为了解决tacotron在生成的时候不能局部的控制时长的问题以及训练时alignment比较难训好
主要贡献:
- 使用SPPAS得到phone序列的时长,把时长信息拼到encoder的convolution层的输出(包括起始点,终止点,时长)最后再过lstm,从而更容易的训练,合成的时候也能够控制时长
- 可以根据得到的时长信息生成alignment矩阵,和tacotron2预测的alignment之间算一个loss,相当于有一个hard align的teacher,更快的学到alignment的信息
不足:
- baseline实在太差
- 比较的时候应该是用的手动设置的时长,并没有单独的时长模型,结果不一定可靠
Disentangling Correlated Speaker and Noise for Speech Synthesis via Data Augmentation and Adversarial Factorization
这篇文章目的在于利用带noise的数据训练tacotron使得最后出来的是clean的音频,一般噪音没有label,同时和说话人极度相关,因此很难建模,本文利用了factorized latent variables分别建模说话人和其他声学信息(噪音等等)从而分离信息,最后可以用clean的信息来合成音频,基本架构可以参考之前的GMVAE
主要贡献:
- 提出了基于factorized latent variables的条件生成模型,分离说话人信息和其它信息
- 使用了说话人不相关的说话人数据增广,当然noise必须要有想要的label
- 对抗训练来更有效的分离信息
Representation Mixing for TTS Synthesis
这篇文章主要提出了兼容character和phoneme序列作为输出的思想,解决发音不对的问题。给两个sequence,一个字符序列,一个phoneme序列,然后一个mask序列,控制最后encoder的输入。同时提出了一个基于 L-BFGS 的合成方法。
主要贡献:
- 主要融合了character和phoneme两种序列
- 新的vocoder,虽然实时率不高,有效提升gl的质量
Robust and Fine-grained Prosody Control of End-to-end Speech Synthesis
这篇文章主要介绍了端到端语音合成中怎么在某个时刻变化韵律的问题。之前的很多文章比如gst,gmvae等等等都是global的embedding,不能做到对生成的声音的局部控制。文章中介绍了两种方法,分别在encoder端和decoder端加入prosody embedding。
在encoder端,需要用prosody embedding和encoder outputs算一个attention来解决长度不匹配的问题。
在decoder端,其实训练时reference audio和target audio sequece长度是一样的,但是作者使用了tacotron1的模型,一次decode r 帧,因此可以在reference encoder上加入stride或者做一个pooling保持长度一致。
主要贡献:
- 提出了局部控制韵律的方法,两种控制的方式,encoder和decoder端都可以
Neural Source-filter-based Waveform Model for Statistical Parametric Speech Synthesis
并行声码器,相比之前的很多的单独训练student模型,这里由f0产生激励信号,最后算多个stft loss。
利用pytorch复现实验,demo.
主要贡献:
- 简化了之前训练student的难度,相比之前迭代的次数更少,训练的更快