声明:语音合成(TTS)论文优选系列主要分享论文,分享论文不做直接翻译,所写的内容主要是我对论文内容的概括和个人看法。如有转载,请标注来源。欢迎关注微信公众号:低调奋进
Towards Natural Bilingual and Code-Switched Speech Synthesis Based on Mix of Monolingual Recordings and Cross-Lingual Voice Conversion
本篇文章主要解决TTS的语言交叉(cross-lingual)问题,同时涉及语音转换(voice conversion)研究领域。文章出自Machine Intelligence Technology, Alibaba Group,更新时间2020.10.16,文章下载链接http://yqli.tech/pdf/tts_paper/Towards%20Natural%20Bilingual%20and%20Code-Switched%20Speech%20Synthesis%20Based%20on%20Mix%20of%20Monolingual%20Recordings%20and%20Cross-Lingual%20Voice%20Conversion.pdf
1 研究背景
TTS合成语音大部分模型只合成一种语言,现在随着国际化,合成的文本往往由多种语言混合,比如中文的文本中包含英文的单词。目前解决TTS跨语言的方案中,初始的方案是分别训练中文和英文的模型,当合成语音时候再切换模型。现在主流的方案是多语言语料混合一起训练多语言模型,这样就不需要进行模型切换。无论上边采用那种方案,都需要该发音人的多种语言的训练语料<speech, text>。一种语言的标注语料都需要几十万开销,况且寻找可以流利标准而且音色优美的发音人是十分困难的。因此,现在许多研究都是使用不同语言不同发音人做语言特征的迁移,该部分的实验需要添加language tag,然后进行跨语言合成。(我在中英发音人的实验,英文发音人可以流利说中文,但中文发音人说英文的质量就不是很好)本文章解决以上跨语言的问题,提出了使用voice conversion 的解决方案。先通过voice conversion 生成需要的训练语料,比如生成中文发音人的英文语料,生成英文发音人的中文语料。然后使用原来的语料和生成的语料来训练cross-lingual的模型。
2 系统结构
2.1 Building bilingual corpora with Tacotron2-VC
本文章主要使用基于tacotron2 来实现vc,具体的结构如图一。该结构先对原发音人的语料进行特征提取,如MFCC和lf0。然后MFCC通过PPG (ASR的AM部分,把声学特征转成跟发音人无关的特征表示)模块生成PPGs。接下来把PPGs和lf0输入到目标发音人tacotron中生成声学特征。最后通过目标发音人的lpcnet把声学特征转成语音。举例来说,要生成中文发音人的英文语料,就要把英文speech作为source speech,中文发音人作为 target speech。英文发音人生成中文语料的过程类似。基于Tacotron2-VC 的训练不需要parallel data,详细的tacotron+lpcnet的结构如图二。(个人感觉主要的麻烦还是ppg,我是做TTS的,还需要ASR提供帮助)
3 实验结构
该文章使用训练数据包括中文32000句差不多30小时,英文27000大约41小时,同时合成17000句中英混合的语料。该文章在tacotron2, transformer和fastspeech上进行效果评估,具体效果语音链接https://alibabasglab.github.io/tts/。对比结果如下:table 1是VC的效果,可以看出合成的语音虽然没有ground truth的好,但可以使用。table2和table3分别是中文发音人和英文发音人在tacotron2,transformer和fastspeech上做的实验,可以看出合成的语音跟groundtruth十分接近,效果非常好。
4 总结
本文章使用基于tacotron2的VC来生成音频并进行TTS模型训练,该方案不需要parallel data进行vc训练,而且生成的音频质量可用。从最终的效果来看,合成的效果基本满足商用。(正在试验,但被PPG耽搁了~)
谢谢关注公众号:低调奋进