张小峰 谢钧 罗健欣 俞璐
摘要:语音合成在人机交互中扮演着重要角色,伴随着深度学习的发展,语音合成也进入新的发展阶段。文章对基于深度学习的语音合成系统进行研究,总结分析深度学习语音合成特点,并详细介绍四个深度学习语音合成系统。这四个系统包含了单说话人、多说话人和任意说话人的语音合成,分析这些系统可以学习基于深度学习语音合成系统的原理,为研究人员提供重要的参考价值。
关键词:语音合成;生成式语音合成;端到端语音合成;迁移学习
中图分类号:TP183
文献标识码:A
文章编号:1006-8228(2020)09-24-05
Research on deep learning speech synthesis technology
Zhang Xiaofeng, Xie Jun, Luo Jianxin, Yu Lu
(Command and Contml Engineering College, Army Engineering University of PLA, Nanjing, Jiangsu 210007, China)
Abstract: Speech synthesis plays an important role in human-machine interaction. With the development of deep learning, speechsynthesis has entered a new stage. This paper studies deep leaming based speech synthesis systems, summarizes and analyzes thecharacteristics of deep learning speech synthesis, and introduces in detail four deep learning based speech synthesis systems. Analyzingthese systems can learn the theory of deep learning speech synthesis systems, providing researchers with important reference.
Key words: speech synthesis; generative speech synthesis; end to end speech synthesis; transfer learning
0引言
语音合成也叫文本转语音,是将文本转化成自然语音的技术,在人机沟通之间扮演着重要角色。
早期语音合成方法主要有拼接法[1]和参数法[]。拼接法通过从事先录制的语音中选择所需基本单元拼接合成语音。拼接法最大限度保留了原始发音人音色,自然度和清晰度都很高。参数法是数据驱动的语音合成方法,有声学模型和声码器两部分。声学模型将文本特征映射到声学特征,声码器根据声学模型的输出重构语音波形。
拼接法和参数法一般要求建模人员同时具有声学、语言学等知识,这提高了语音合成研究的难度。深度学习中常见的语音合成方法是端到端语音合成,直接建立起从文本到语音的合成,简化了人为对中间环节的干预,降低了语音合成的研究难度。
本文首先介绍几种常见基于深度学习的语音合成系统,然后介绍Wavenet[3] Tacotron-1[4]、Tacotron-2[5]和基于迁移学习多说话人语音合成系统[6]。
1相关语音合成系统
Deep Voice-1[7]和Deep Voice-2[8]将深度学习引入传统语音合成各个模块中,比如文本到音素模块、预测时长模块和波形合成模块等。Deep Voice-1是单说话人语音合成系统,一次只能合成单说话人语音,该系统优势是合成语音速度较快,比Wavenet至少快400倍。Deep Voice-2引入说话人嵌入矢量合成多说话人语音,训练时,将说话人编码嵌入到系统中训练。合成时,调整说话人编码就可以合成不同说话人语音。
Char2Wav[9]是Bengio等人提出的基于深度学习的端到端语音合成系统,该系统有阅读器和声码器两部分。阅读器由编码器和解码器组成,编码器是一个双向循环神经网络,解码器是基于注意力机制的循环神经网络。Char2Wav声码器是SampleRNN[10],SampleRNN可以在较长序列数据上建模,并且获得较好的效果。
Tacotron-1、Tacotron-2原理和Char2Wav相似:将文本转化成中间表征,然后将中间表征还原成语音波形。Tacotron-1和Tacotron-2由编码器、解码器和声码器组成。编码器和解码器将文本转化成中间表征。声码器将中间表征还原成语音波形,Tacotron-1声码器是Griffin-Lim算法而Tacotron-2声码器是Wavenet。
Deep Voice-3[11]同样采用文本到中间表征,中间表征到波形的语音合成方式。但是,Deep Voice-3同时采用了线性声谱图和梅尔频谱作为中间表征,声码器也对应采用了Griffin-Lim算法和Wavenet。DeepVoice-3訓练速度较快且可以合成多说话人语音。实验显示,Deep Voice-3在半小时内就可学习2500种声音,而对于之前的语音合成系统,要达到同等的语音合成效果,每个说话人声音至少需要20小时训练。
VoiceLoop[12]在文本到中间表征过程中在编码解码基础上添加了固定大小的缓存机制,这样可以减少模型复杂度。VoiceLoop声码器是WORLD[13]。VoiceLoop优势是能够在具有一定背景噪音的数据集上进行训练,并且获得较好的效果。
2 Wavenet
Wavenet是由卷积神经网络构成的生成式语音合成模型,既可以单独作为语音合成模型也可以作为声码器。Wavenet通过自回归方式拟合音频波形的分布合成语音,即Wavenet通过预测每一个时间点波形的值来合成语音波形。
2.1 Wavenet模型
Wavenet直接在音频层面上进行建模,洲练之前,Wavenet将输入的语音波形序列联合概率x={x1,…,xt}分解为各时刻条件概率乘积,如公式(1)所示:
(1)
x是语音波形值序列,xt是一个时刻的波形值,xt值由之前所有时刻的值决定。
图1是Wavenet模型,模型有k个功能层。训练时,音频输入到因果卷积,因果卷积的输出输入到带洞卷积,带洞卷积的输出分别经过tanh和sigmoid非线性变化后进行门限激活,门限激活后经过1x1卷积后得到输出,这个输出就是功能层输出。功能层输出和因果卷积输出进行残差连接,残差连接结果输入到下一个功能层。最后,每个功能层输出连接在一起,经过两次非线性激活和1x1卷积后输入到softmax层。Softmax层优化最大似然估计得到音频每一个时间点的波形值。在生成阶段,Wavenet在每个波形点时刻通过对公式(1)中条件概率进行采样,得到当前时刻波形值,该值会被作为历史信息,计算后续波形点条件概率。
2.2因果卷积和带洞卷积
音频采样点通常比较大,采用普通卷积方式计算量非常大。对此,Wavenet引入了因果卷积,如图2所示,因果卷积可以在不增加计算复杂度同时增加卷积所关联的时间范围。
因果卷积增大了卷积感受野,但需要较多的卷积层,这增大模型规模和计算复杂度。为此,Wavenet进一步采用了带洞卷积,如图3所示,带洞卷积每隔几个输入卷积,这样既增加卷积感受野也减少了卷积层数。
2.3Wavenet声码器
Wavenet可以通过中间表征合成语音波形。中间表征可以是梅尔频谱、线性声谱图等音频特征,也可以是文字、说话人编码等。这时,输入到模型的是<音频,中间表征>。公式(2)是Wavenet作为声码器时的预测公式,h是中间特征。训练时,h和目标说话人语音同时输入模型。合成时,只需要调整h就可以合成不同的语音。Xt是音频序列。
(2)
表1是几种语音合成方法在英文和中文上合成语音MOS得分[14]。从表1可以看出Wavenet得分大于拼接法和参数法。
3Tacotron-1
Tacotron-1采用文本到中间表征,中间表征到语音波形的合成方式。
文本到中间表征由编码器和解码器完成。编码器将文本编码成特征矢量。解码器根据特征矢量预测音频帧,第t步预测的r个帧会作为第t+l步输入预测t+l步的r个帧,直至完成。第一步预测的输入为0。当需要预测音频总共有T帧,解码器需要预测T/r次。预测结束后,解码器将预测的总帧拼接在一起得到中间表征。后处理网络和Griffin-Lim算法将中间表征还原成音频波形。图4是Tacotron-1系统架构。
3.1编码器
编码器(Encoder)提取文本序列表征。图4左侧所示,编码器首先将文本嵌入成句子矢量输入到预处理网络中(pre-net),然后输入到CBHG模块。CBHG模块中的双向GRU循环网络会结合注意力机制[15]输入到解码器。
3.2解码器
解码器(Decoder)根据编码器的输出预测音频帧,图4右侧所示。Tacotron-1采用基于内容的非线性(tanh)注意力解码器,循环层在解码的每一个时间步都会生成一个注意力询问[16]。解码器将上下文矢量和注意力循环神经网络单元输出拼接输入到解码器循环神经网络。解码器循环神经网络由一组GRU单元和垂直残差连接组成,最后通过两层全连接直接解码出结果。
3.3后处理网络和声码器
后处理网络由CBHG模块和全连接层组成,解码器输出经过后处理网络转化成线性声谱图。Griffin-Lim算法将线性声谱图还原成语音波形。
Tacotron-1MOS得分如表2所示,Tacotron-1得分大于参数法但小于拼接法。
4Tacotron-2
Tacotron-2是Tacotron-1改進版,工作原理相同。Tacotron-2改进如下:
(1) Tacotron-2在编码器和解码器中使用普通的长短时记忆网络和卷积层,没有使用Tacotron-1中CBHG模块和GRU双向循环网络;
(2)Tacotron-2每个解码步只解码出一帧;
(3)Tacotron-2声码器是Wavenet;
(4) Tacotron-2中间表征是低层次的梅尔频谱,而不是线性声谱图。
4.1编码器
图5左侧所示Tacotron-2编码器,有3组卷积神经网络和一个双向长短时记忆网络层组成。双向长短时记忆网络层直接输出中间表征。
4.2解码器
解码器是自回归循环神经网络,网络结合注意力机制预测音频每一帧。每一步预测结果输入到两层全连接层预处理网络,预处理网络输出和注意力机制网络输出的上下文矢量拼接成一个矢量输入到两层单向循环长短时记忆网络,长短时记忆网络的输出再一次和注意力机制网络输出的上下文矢量拼接,拼接后的矢量通过线性转化投影成预测频谱。最后,预测频谱通过5层卷积后处理网络和预测频谱进行残差连接得到梅尔频谱。
Tacotron-2的声码器是改进版的Wavenet,原理和上述相同。Tacotron-2合成语音已经接近人声,表3所示,Tacotron-2MOS评分大于拼接法和参数法,并且超过加语言学模型的Wavenet。
5基于遷移学习多说话人语音合成
基于迁移学习多说话人语音合成系统可以合成任意说话人语音,原理是提取说话人声纹,将声纹嵌入到语音合成中预测声谱图,声码器将声潜图还原成语音波形。由于该系统拥有声纹提取功能,所以该系统可以合成任意说话人语音。
图6所示,该系统有说话人编码系统、语音合成模块和声码器。说话人编码系统提取目标说话人声纹,语音合成模块根据输入的音素和声纹预测梅尔频谱,声码器将梅尔频谱还原成语音波形。
5.1说话人编码
本系统采用通用端到端(GE2E)说话人识别模型[17]提取说话人声纹,该模型是一种基于深度学习端到端说话人识别模型,原理是:同一个说话人的不同语音相似度较高,不同说话人的语音相似度较低,通过训练统一损失函数提高说话人识别准确率。模型提取的音频特征就是声纹。
5.2语音合成模块
该模块使用Tacotron-2中预测梅尔频谱的编码解码部分。洲练时,将声纹嵌入到注意力机制和解码器中训练。图7所示是语音合成模块架构。
5.3声码器
本系统的声码器是Wavenet,和Tacotron-2的声码器相同。
6研究展望
深度学习的发展极大促进了语音合成发展。Wavenet是生成式语音合成系统,可以合成高质量的语音,后续很多端到端语音合成系统将Wavenet作为声码器使用。Wavenet缺点是合成语音速度较慢,对此研究人员做出了很多改进,比如提出WaveRNN、Parallel WaveNet和WaveGlow等系统,这些系统都在一定程度上提高了语音合成速度。Tacotron-1和Tacotron-2是端到端语音合成系统,思想是将文本转化成声学特征,然后将声学特征还原成语音波形。这两个系统减少了人为对中间环节的干预,同时提高了合成语音的质量。这两个系统有漏音问题,这个问题和洲练集有很大关系,在合成时,使用训练集里没有的文本就会出现这种错误。基于迁移学习多说话人语音合成系统在语音合成中引入了声纹提取的模型,通过提取说话人的声纹,可以合成任意说话人语音,该系统同样存在着漏音问题。
语音合成作为人机交互的重要手段,必然会面临着各种需求限制,比如长时间高质量个性化语音合成、小样本训练语音合成系统、模型轻量化等。因此,语音合成的发展任重而道远。
参考文献(References):
[1]X. Gonzalvo,S.Tazari,C.-a. Chan,M.Becker,A.Gutkin,and H. Silen. Recent advances in google real-timehmm-driven unit selection synthesizer[C] // In procinterspeech,2016.
[2]Zen.H,Y.Agiomyrgiannakis,N.Egberts,F.Henderson,and P. Szczepaniak. Fast, compact, and high qualitylstm-rnn based statistical parametric speech synthesiz-ers for mobile devices[C] // in proc interspeech,2016.
[3]Aaron van den Oord, Sander Dieleman, ZenH G,KarenSimonyan, Oriol Vinyals, Alex Graves, NaIKalch-brenner. Andrew Senior,
and KorayKavukcuoglu.Wavenet: a generative model for raw audio[J]. CoRR abs/1609.03499,2016.
[4]Wang Y,SkerW-Ryan R,Stanton D,et al.Tacotron:towards end-to-end speech synthesis[J]. 2017.
[5]Jonathan Shen, Ruoming Pang, Ron J.Weiss, MikeSchuster, Navdeep Jaitly,YangZ H,ChenZ F,ZhangY,Wang,Y X,RJ Skerry-Ryan, Rif A.Saurous, YannisAgiomyrgiannakis. and WuY H.Natural tts synthesis byconditioning wavenet on mel spectrogram predictions[C] //In Proc. IEEE International Conference on Acoustics.Speech, and Signal Processing (ICASSP),2018.
[6]JiaY, ZhangY, Ron J.Weiss, WangQ, Jonathan Shen,Ren F,ChenZ F,Patrick Nguyen, PangR M,IgnacioLopez Moreno, WuY H. Transfer Learning fromSpeaker verification to multispeakertext-to-speech syn-thesis[C] //32nd Conference on Neural InformationProcessing Systems(NeurIPS 2018), Montr e al, Canada.
[7]Arik S O, Chrzanowski M, Coates A, et al. Deep voice:real-time neural text-to-speech[J]. 2017.
[8]Arik S, Diamos G, Gibiansky A, et al. Deep voice 2: multi-speaker neural text-to-speech[J].2017.
[9]Jose Sotelo, Soroush Mehri, Kundan Kumar, Joao FelipeSantos, Kyle Kastner, Aaron Courville, and YoshuaBengio. Char2wav: end-to-end speech synthesis[J]. InICLR workshop,2017.
[10] Soroush Mehri. Kundan Kumar, Ishaan Gulrajani,Rithesh Kumar, Shubham Jain, Jose Sotelo, AaronCourville, and Yoshua Bengio. Samplernn: anunconditional end-to-end neural audio generationmodeI[C] // In ICLR.2017.
[11]Ping W, Peng K, Gibiansky A, et al. Deep voice 3:scaling text-to-speech vvith convolutional sequencelearning[J]. Published as a conference paper at ICLR2018.
[12] Yaniv Taigman, Lior Wolf, Adam Polyak, andEliyaNachmani. Voiceloop: voice fitting and synthesisvia a phonological loop[C] // In Proc. InternationalConference on Learning Representa-tions (ICLR),2018.
[13] Masanori Morise, Fumiya Yokomori, and Kenji Ozawa.WORLD: a vocoder-based high-quality speechsynthesis system for real-time applications[J]. IEICETransactions on Information and Systems,2016.
[14]S. Shirali-Shahreza and G. Penn. Mos naturalness andthe quest for human-like speech[J]. In 2018 IEEESpoken Language Technology Workshop (SLT),pages 346{352, Dec 2018.
[15]Bahdanau D , Cho K, and Bengio Y . Neural machinetranslation by jointly leaming to align and translate[J].Computer Science,2014.
[16] Oriol Vinyals, Lukasz Kaiser, Terry Koo, Slav Petrov, IlyaSutskever, and Geoffrey Hinton. Grammar as a for-eign language[J]. In Advances in Neural InformationProcessing Systems,2015:2773-2781
[17] WanL, WangQ, Alan Papir, and Ignacio Lopez Moreno.Generalized end-to-end loss for speaker verification[C] // In Proc. IEEE International Conference onAcoustics, Speech, and Signal Processing (ICASSP),2018.
收稿日期:2020-04-24
基金項目:国防科技基金项目(No.3602027);江苏省自然科学基金青年基金项目(No.BK20150722)
作者简介:张小峰(1992-),男,江苏东海人,硕士研究生,主要研究方向:计算机网络、语音合成。
通讯作者:谢钧(1973-),男,江苏南京人,博士,教授,主要研究方向:智能信息处理、计算机网络等。