2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 语音合成(speech synthesis)方向二:鲁棒TTS(Robust TTS)

语音合成(speech synthesis)方向二:鲁棒TTS(Robust TTS)

时间:2020-09-09 15:56:01

相关推荐

语音合成(speech synthesis)方向二:鲁棒TTS(Robust TTS)

声明:工作以来主要从事TTS工作,工程算法都有涉及,平时看些文章做些笔记。文章中难免存在错误的地方,还望大家海涵。平时搜集一些资料,方便查阅学习:TTS 论文列表http://yqli.tech/page/tts_pape.html TTS 开源数据 低调奋进。

如转载,请标明出处:微信公众号,头条号: 低调奋进

目录

1 介绍

2 内容详解

3 总结

4 引用

1 介绍

现有的TTS无论是single speaker model 或者multi-speaker model都需要大量高质量<text, audio>的训练数据,这将大大增加了企业的成本,而且很多小的研究机构很难获取大量高质量数据。因此,使用网络、手机等获取的生活中带有噪声数据进行模型训练引起很多研究者的兴趣。Robust TTS的目的就是使用低质量数据合成高品质音质的TTS。另外,Robust TTS研究很多与少数据量的个性化研究结合在一起,因此本问的Robust TTS研究范围包括使用噪声数据和使用少量带噪数据获取高质量的TTS。 Robust TTS需要解决的两个问题:低质量和少数据。低质量数据,顾名思义就是数据质量不高,存在许多噪音,因此如何处理噪声是首要的难题。少数据就是处理one-shot或few-shots的问题,就是如何使用几句或者几十句复刻说话者的声音,很多文章提出各种方案。

该领域发表的文章很多,我在本文主要选取以下3篇文章进行介绍,我在语音定制实验(20句话复刻声音)中,曾跑过些实验,对该方向的研究还算熟悉。

1)Disentangling correlated speaker and noise for speech synthesis via data augmentation and adversarial factorization

2) Noise Robust TTS for Low Resource Speakers using Pre-trained Model and Speech Enhancement

3) Data-Efficient Voice Cloning from Noisy Samples with Domain Adversarial Training

2 内容详解

首先说下如何处理低质量的问题,其解决方案有两种:使用去噪算法对音频进行去噪和学习噪声的表征。第一种算法这里不做介绍,主要使用DSP中的去噪算法对原始音频进行去噪,该方法主要作为baseline进行对比。这里主要介绍第二种方法,学习噪声的表征。其次,少数据量的问题就是处理one-shot或few-shots的问题。其中one-shot解决方案采用speaker encoder。few-shots的解决方案为speaker embedding学习。

噪声学习的难点在于噪声是无法进行标注的,因此必须设计模块来学习未标注的属性,主要包括说话人特性zs和噪声属性zr。我经过试验证明,在multispeaker模型训练,如果不加任何的模块直接对噪声数据进行noise 特征进行学习,不但无法清除噪声,反而对说话人的音质造成极大伤害。

为了解决音频隐含属性的学习,文章Disentangling correlated speaker and noise for speech synthesis via data augmentation and adversarial factorization[1](如图一所示)增加了speaker encoder 和residual encoder 模块来学习speech的隐含属性zs和噪声属性zr。为了能够学习出上边的属性,在训练阶段,需要添加speaker classifier和augmentation 的DAT,其中data augmentation是使用干净数据进行加噪处理获取,数据处理的信噪比为5-25db。训练阶段,使用acoustic 输入到speaker encoder和residual encoder获取属性zs和zr。其中zs输入到adversarial factorizarion模块,同时zs zr和text输入到decoder输出 acoustic模型 (模型使用的是tacotron,具体细节不做介绍,需要读者自己去做了解)。

该文章进行了很多实验对比,在此不进行详细的介绍,只拿出比较关心的MOS测试。从结果来看,该方法的MOS 4.52比基准的3.22高许多(4.52感觉有点高)。

文章Noise Robust TTS for Low Resource Speakers using Pre-trained Model and Speech Enhancements[2]使用了speech enhancement中noise masks作为条件来去除噪声干扰。该文章主要提出在预训练的模型基础上做少数据低质量音频的个性化语音定制。其训练流程主要分为三步。第一步,基础模型的训练。该步骤使用大量的干净和带噪的数据进行基础模型训练,其中Noise数据可以通过干净数据添加噪声来获取(上篇文章的data augmentation)。该阶段合成speech的条件为text, speaker embedings和noise/clean masks。第二步,自适用阶段。该步骤是使用手机或者互联网等获取少数量带噪数据进行个性化语音定制,请注意speech的输入条件为text, new speaker embedding和noise masks。第三步推理阶段,与第二步自适应训练阶段主要不同之处为把条件noise masks换成clean masks。

以上主要讲述训练流程。该文章也是在tacotron上进行试验,其中speaker embedding和noise表征嵌入方式如下。另外,通过试验,个人感觉speaker embedding拼接在decoder部分效果较好,其它文章也有类似的结论。

试验结果表明,使用本文章方法做出个性化试验比直接对音频去噪的合成音频MOS较高。

文章Data-Efficient Voice Cloning from Noisy Samples with Domain Adversarial Training [3]主要使用domain adversarial training进行噪声特征的学习。具体结构如下,该系统的one shot使用speaker encoder来获取。few shots使用speaker embeding table来学习获取。噪声的学习主要在prenent后边添加一层gru层然后通过DAT模块来分解噪声特征的学习,从而达到去噪的效果。该文章的训练流程跟上篇文章相似,此处不再赘述。

实验结果表明,无论是one shot抑或few shots的个性化定制效果都不错。

3 总结

Robust TTS通过在TTS系统中添加noise tags来提高合成音频质量,其中关键点就是noise的表征学习和嵌入。该方向的实验我已经尝试,并且可以很好的清除噪声。生活场景中存在混响,而且混响的特征不是那么容易学习,我通过添加混响数据,最终的结果并没有提高,因此如何去除混响也是将来研究的重点。

4 引用

[1] Hsu W N, Zhang Y, Weiss R J, et al. Disentangling correlated speaker and noise for speech synthesis via data augmentation and adversarial factorization[C]//ICASSP - IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, : 5901-5905.

[2] Dai D, Chen L, Wang Y, et al. Noise Robust TTS for Low Resource Speakers using Pre-trained Model and Speech Enhancement[J]. arXiv preprint arXiv:.12531, .

[3]Cong J, Yang S, Xie L, et al. Data Efficient Voice Cloning from Noisy Samples with Domain Adversarial Training[J]. arXiv preprint arXiv:.04265, .

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。