AdaSpeech 3: Adaptive Text to Speech for Spontaneous Style
论文地址:https://arxiv.org/abs/2107.02530
合成样例:https://speechresearch.github.io/adaspeech3/
1、简介
本文主要解决的问题是语音合成中,难以生成自然发音中富含韵律的语音问题。韵律一般指发音中的语速、语调、重音、停顿等构成的特定发音风格。目前的TTS主要合成的都是播音腔的音频,对于自然完成模拟自然对话下的发音,还是面临很多难题,一方面是由于语料的缺乏,另外一方面则是发音韵律本身就是难以建模的。作者从三个方面着手解决韵律学习问题,(1)引入发音停顿预测模块,对发音停顿进行预测;(2)引入时长预测模块,对发音节奏进行预测;(3)在解码器模块进行少量参数fine-tune,解决音色模拟问题;另外,作者还构造了一个自然发音数据集,用于自然发音语音合成研究。
AdaSpeech3的几个优点:
(1)数据高效性:AdaSpeech3模型用播音腔语音数据进行基础模型训练,然后再用自然发音的语音进行fine-tune,无需很多高质量含韵律标注数据;
(2)可控性:可以方便的调节参数,控制停顿的数量;
(3)易迁移性:只需要少量目标发音人语音就可进行个性化语音学习;
2、模型方法
作者从网络上爬取了30集的视频进行数据集构造,采用ASR、SPON-RHYTHM等工具进行文本标注及节奏的标注,最终构造了大约28小时数据。
AdaSpeech3 网络结构如图1所示。
AdaSpeech3 网络结构图整个模型由三个部分组成,分别为(1)AdaSpeech作为骨架TTS模型;(2)用于进行停顿预测的模块FP Predictor;(3)基于mixture of experts (MoE)的多种(低、中、高)语速的时长预测模块;其中,AdaSpeech网络可以参考之前的文章。FP模块网络结构由2层Conv1D加一个全连接层组成,卷积层后加了LN、ReLU和Dropout。FP的难点在于带停顿发音数据的稀疏性(很少有语料是带发音停顿的,也就是在说话中有uh、um这种发音的),作者的解决办法是,一方面只用含停顿符号的数据训练该模块,另外就是引入了权重交叉熵损失函数;发音的节奏主要由音高和语决定,音高由单独的Pitch Predictor模块进行预测,语速则由MoE模块进行预测。MoE由三个语速预测器组成,分别用于预测低速,中速和高速语音。这么做的主要原因是由于作者发现自然发音的语音的发音语速范围比播音腔的语速范围大很多,需要多模块分别进行预测,才能准确预测语速;
3、实验
作者使用了LibriTTS和自建数据集进行基础模型和fine-tune。实验结果可以参看合成样例,结果统计如下表所示。
AdaSpeech 实验结果微软在个性化语音合成方面做的还是很好的,只是目前商业化的产品好像还不是很多。本文作者在AdaSpeech的基础上,分别针对低资源问题和韵律合成问题,提出了AdaSpeech2和AdaSpeech3,有很多创新点可以借鉴、使用,比如非成对数据集的模型训练、调优方案、结合数据特点,定制MoE模块等,我觉得这不限于TTS这一领域。
网友评论