-
语音合成技术作为智能人机交互的核心技术之一,是目前研究的一个热点. 语音合成,即根据文本来合成语音(Text-To-Speech,TTS),是一种直接将输入文本信息转换为语音波形输出的技术. 语音合成技术发展主要经历了基于波形拼接的语音合成[1-2]、基于统计参数的语音合成[3-5]以及基于深度神经网络的语音合成[6-9]3个阶段. 传统语音合成分为前端和后端两部分:前端主要对输入文本信息进行处理,包括分词、字素转音素、韵律预测等,提取合成所需的信息;后端主要将前端提取的信息利用某种技术转换为语音. 传统的语音合成系统结构相对复杂,需要花费大量的人力来完成数据准备工作,系统稳定性不高,难以适用于各种复杂场景.
为简化合成系统结构、减少人工干预和对语言学相关背景知识的要求,近年来,百度、谷歌以及Yoshua Bengio等机构相继推出了基于深度神经网络的端到端语音合成系统. 例如:Char2wav[6]、Tacotron[7]、Tacotron2[8]、DeepVoice[9]等,真正实现了直接从文本合成语音,其中谷歌的Tacotron是第一个相对成熟的端到端语音合成系统,该系统可接收字符或者音素作为系统的输入,通过一系列处理,直接生成对应音频的梅尔频谱,然后利用Griffin-Lim[10]重建算法将梅尔频谱转换为语音波形. 而Tacotron2是Tacotron的改进版本,优化了模型的编码器和解码器结构,采用了性能更佳的注意力机制,显著提升了系统的合成效果.
随着深度神经网络的进一步发展,谷歌、百度等机构也在不断地对端到端语音合成系统进行改进和更新,推出多说话人、多语种、多情感的合成系统. 但是,目前语音合成系统研究,还是多集中于英语、汉语等通用语言[11],对于非通用语的研究相对较少[12-13]. 同时,端到端语音合成系统需要大量高质量〈文本,语音〉数据训练模型,以保证得到优质的合成结果. 但通常情况下,所能获取的训练数据往往无法满足端到端语音合成系统要求,因此开发非通用语语音合成系统常会遇到各种问题,导致其合成的语音带有奇怪的韵律甚至是错误的发音.
相较于英语和汉语,印度尼西亚语(简称印尼语)语音合成仍存一些问题,例如对于该语言的语音合成的研究相对滞后,电子资源缺乏,可用训练数据缺乏等等. 针对以上问题,本文设计并实现了一个基于BERT(Bidirectional Encoder Representation from Transformers)[14]预训练语言模型的印尼语语音合成系统,对Tacotron2系统做出以下改进:引入BERT预训练模型优化语音合成系统;采用了两种方法嵌入BERT预训练词向量信息;添加信息提取器进一步提取预训练词向量信息.
-
Tacotron2模型[8]基于序列到序列[15]架构实现,其模型结构由一个编码器和一个带有位置敏感注意力机制的解码器构成. 编码器包括两部分:3层卷积神经网络(Convolutional Neural Networks,CNN)和双向长短时记忆网络(Bidirectional Long-Short Term Memory,Bi-LSTM). 解码器是一个典型的自回归网络,能够利用上一帧信息来预测下一帧信息,逐帧地预测停止符(Stop Token),其结构包括2层的预处理网络(Pre-Net),2层LSTM和5层的后处理网络(Post-Net). 如图1所示,文本信息需要先进行嵌入(Embedding)处理,再被送入包含3层CNN和Bi-LSTM的编码器抽取合成所需的语言学特征. 训练中,声学参数先送入预处理网络,预处理网络的输出会和上一时间步生成的上下文特征进行拼接;然后和编码器提取的特征信息一起输入注意力机制,输出当前时间步的上下文特征;最后利用当前时间步的上下文特征和声学参数预测下一个时间步的声学参数.
-
BERT[14]是一个基于双向Transformer[16]的语言模型. BERT利用大规模的未标记数据进行无监督学习,完成模型的预训练. 对于下游的自然语言处理(Natural Language Processing,NLP)任务,BERT首先利用预训练得到的参数对模型初始化,然后利用各种下游NLP任务标记好的数据进行有监督学习,并对所有模型参数进行微调,显著提高了下游NLP任务的效果. BERT由多层双向的 Transformer编码器组成,结构中有12个Transformer编码器,每个编码器包含一个多头注意力机制(Multi-Head Attention)和一个前馈网络(Feed Forward). 其中,各编码器之间采用残差连接(Res-Net)[17],采用层归一化(Layer Normalization),防止由于网络过深造成的过拟合问题. 注意力机制包含有12头,每个头能够提取不同的信息,以保证充分提取序列中包含的信息.
-
印尼语属于马来−波利尼西亚语族西印度尼西亚语支,广泛流通于整个印度尼西亚群岛. 通用印尼语采用拉丁字母拼写系统,共26个字母,音素是最小的语音单位,共34个音素[18]. 在端到端印尼语语音合成系统中,可以直接将印尼语文本序列作为系统输入来合成语音. 但是对于基于深度神经网络的端到端语音合成系统,由于模型训练的信息只由输入的文本数据提供,当文本数量很少时,提取的信息通常不够丰富,导致系统难以取得好的效果,特别是对于一些集外数据.
针对这一问题,设计了一种基于BERT预训练语言模型的印尼语语音合成系统,系统结构如图2所示,使用了一个能够编码104种语言并可以生成对应词向量的多语言BERT预训练语言模型,同时采用两种不同的方法将BERT预训练模型嵌入合成系统,并添加编码器来充分提取预训练模型包含的信息. 由于BERT利用大规模的无标记文本采用无监督学习方式来训练模型,其生成的词向量包含了丰富的语义信息和句法信息. 因此,通过提取丰富信息作为系统额外信息输入,解决训练数据不足造成的问题,提高系统的合成效果,使合成结果具有正确的发音,更富有韵律.
-
本文使用了两部分的文本信息用于语音合成:一部分是印尼语字符序列通过Tacotron2的编码器得到的信息,另一部分是从BERT预训练模型提取出的信息. Tacotron2模型可以直接将音素序列
$ \left\{{p}_{1},{p}_{2},\cdots ,{p}_{n}\right\} $ 作为系统输入,sil表示文本单词间的空格. 在使用BERT预训练模型生成词向量时,需要先将文本序列$ \left\{{t}_{1},{t}_{2},\cdots ,{t}_{m}\right\},m < n $ 转换为子词(WordPiece)序列$ \left\{{w}_{1},{w}_{2},\cdots ,{w}_{k}\right\},k\leqslant n $ ,同时在子词序列开头和结尾分别添加[CLS]和[SEP]标记,生成序列$ \left\{\left[{\rm{CLS}}\right],{w}_{1},\right. $ $ \left.{w}_{2},\cdots ,{w}_{k},\left[{\rm{SEP}}\right]\right\} $ ,而且子词序列不考虑词间的空格. 此外,[CLS]标记经过BERT预训练模型处理,可用于NLP下游各种任务,如句子分类;[SEP]标记放在两个句子之间,用来标识一个句子的结束. 印尼语字符序列和子词序列示例如图3所示. -
上下文拼接方法将印尼语音素序列
$ {\boldsymbol{p}}=\left\{{p}_{1},{p}_{2},\cdots ,{p}_{n}\right\} $ 和子词序列$ {\boldsymbol{w}}=\left\{{w}_{1},\right. $ $ \left.{w}_{2},\cdots ,{w}_{k}\right\} $ 同时输入系统,将印尼语的梅尔谱参数$ {y}_{t} $ 作为系统目标[19]. 如图2(a)所示为上下文信息拼接法的模型结构图,输入的文本序列信息分成两路,分别经过相应处理,再参与最终解码过程.音素序列
$ {\boldsymbol{p}} $ 经过词嵌入处理生成对应词向量$ {{\boldsymbol{p}}}' $ ,词向量输入编码器提取出对应的信息$ {\boldsymbol{e}}^{{\bf{p}}} $ ,其中$ {\boldsymbol{e}}^{{\rm{p}}} $ 的维度为512,上标p代表处理音素序列产生的信息. 编码器输出的信息$ {\boldsymbol{e}}^{{\rm{p}}} $ 被送入位置敏感注意力机制网络,注意力网络根据编码器的输出$ {\boldsymbol{e}}^{{\rm{p}}} $ 、上一时刻的解码输出$ {q}_{t-1} $ 以及上一时刻的注意力权重3部分信息,生成当前解码时刻的注意力上下文信息$ {a}_{t}^{{\rm{p}}} $ 和注意力权重即注意力的对齐信息.${{\boldsymbol{e}}^{\rm{p}}} = {{{E}}^{\rm{p}}}({\boldsymbol{p}}'),{\boldsymbol{p}}' \in {\mathbb{R}^{n \times 512}},{{\boldsymbol{e}}^{\rm{p}}} \in {\mathbb{R}^{n \times 512}},$ $a_t^{\rm{p}} = {{{A}}^{\rm{p}}}({q_{t - 1}},{{\boldsymbol{e}}^{\rm{p}}},h_{t - 1}^{\rm{p}}),$ 其中,
${{E}}^{\mathrm{p}}$ 和${{A}}^{\mathrm{p}}$ 分别表示处理音素序列的编码器和注意力机制网络,n 为音素序列的长度.在完成音素序列信息的提取后,下一步需要提取BERT预训练模型所包含的信息. 首先将输入的文本序列转换为子词序列
$ {\boldsymbol{w}} $ ,子词序列的形式见图3所示;其次将子词序列$ {\boldsymbol{w}} $ 输入BERT预训练模型即可生成对应的词向量信息$ {\boldsymbol{B}}^{{\rm{w}}} $ ,其中词向量$ {\boldsymbol{B}}^{{\rm{w}}} $ 的维度是768,上标w代表处理字词序列产生的信息. 同时还需要通过一个全连接层将 $ {\boldsymbol{B}}^{{\rm{w}}} $ 的维度映射为512; 再次将维度为512的词向量$ {\boldsymbol{b}}^{{\rm{w}}} $ ,送入编码器进行可用的信息提取; 最后输出信息$ {\boldsymbol{e}}^{{\rm{w}}} $ 同样被送入一个位置敏感注意力机制网络,生成当前时刻的注意力上下文信息$ {a}_{t}^{{\rm{w}}} $ 和注意力对齐信息.${{\boldsymbol{B}}^{\rm{w}}} = {{B}}({\boldsymbol{w}}),{\rm{ }}{{\boldsymbol{B}}^{\rm{w}}} \in {\mathbb{R}^{k \times 768}},$ $ {{\boldsymbol{b}}}^{{\rm{w}}}={{L}}({{\boldsymbol{B}}}^{{\rm{w}}}),{{\boldsymbol{b}}}^{{\rm{w}}}\in {\mathbb{R}}^{k\times 512},$ ${{\boldsymbol{e}}^{\rm{w}}} = {{{E}}^{\rm{w}}}({{\boldsymbol{b}}^{\rm{w}}}),{\rm{ }}{{\boldsymbol{e}}^{\rm{w}}} \in {\mathbb{R}^{k \times 512}},$ $a_t^{\rm{w}} = {{{A}}^{\rm{w}}}({q_{t - 1}},{{\boldsymbol{e}}^{\rm{w}}},h_{t - 1}^{\rm{w}}),$ 其中,
$ {B}$ 表示BERT预训练模型,$ {L}$ 表示一个线性层,进行维度变换处理,$ {{E}}^{\mathrm{w}} $ 和$ {{A}}^{\mathrm{w}}$ 分别表示处理子词序列的编码器和注意力机制网络,k 为子词序列的长度.将提取的注意力上下文信息
$ {a}_{t}^{{\rm{p}}} $ 和$ {a}_{t}^{{\rm{w}}} $ ,进行拼接处理,将两种信息进行融合得到总的上下文信息$ {a}_{t} $ ;再参与最终的解码过程,解码器根据上下文信息和上一时刻的解码输出,预测当前时刻的声学信息$ {q}_{t} $ .${a_t} = {{C}}(a_t^{\rm{p}},a_t^{\rm{w}}),$ ${q_t} = {{D}}({a_t},{q_{t - 1}}),$ 其中,
$ {C}$ 表示对两种信息进行拼接处理,即对两个矢量进行拼接,$ {D} $ 表示一个解码器网络.印尼语同英语一样,为拼音文字,文字中包含了发音信息,Tacotron2系统的编码器(
$ {{E}}^{\mathrm{p}} $ )所提取的文本信息,实际上包含了部分发音信息. 但是BERT模型采用子词序列的输入形式,所提取的信息主要是词与词之间的语义信息. 因此,希望通过加入一个编码器($ {{E}}^{\mathrm{w}} $ )来转换BERT预训练模型所输出的信息,使这一部分信息可以有助于系统合成优质语音. -
如图2(b)所示,该方法即词向量拼接法[20]. 相比于上下文信息融合方法,该方法先将两种信息进行拼接融合,再送入注意力机制.
${{\boldsymbol{u}}^{\rm{w}}} = {{U}}({{\boldsymbol{e}}^{\rm{w}}}),{\rm{ }}{{\boldsymbol{u}}^{\rm{w}}} \in {\mathbb{R}^{n \times 512}},$ ${\boldsymbol{c}} = {{C}}({{\boldsymbol{e}}^{\rm{p}}},{{\boldsymbol{u}}^{\rm{w}}}),{\rm{ }}{\boldsymbol{c}} \in {\mathbb{R}^{n \times 512}},$ ${a_t} = {{A}}({q_{t - 1}},c,h{}_{t - 1}),$ 其中,
$ {U}$ 表示进行上采样处理,目的是保证BERT输出词向量$ {\boldsymbol{e}}^{{\rm{w}}} $ 的维度和字符词向量$ {\boldsymbol{e}}^{{\rm{p}}} $ 的维度相同,确保两者正确无误的完成信息的拼接融合,$ {C} $ 表示对两种信息进行拼接处理,$ {A}$ 表示一个位置敏感注意力机制网络.上采样处理方法如图4所示,例如:单词“bicaranya”,中文翻译为“说话”,其音素形式输入为“b”,“i”,“c”,“a”,“r”,“a”,“ny”,“a”,子词形式输入为“bi”,“##cara”,“##nya”. 两部分输入信息分别经过编码器处理后,输出对应的词向量,然后将“bi”的词向量分别与“b”和“i”的词向量进行拼接. 同理,“##cara”的词向量则需要分别与“c”,“a”,“r”,“a”的词向量进行拼接. 对于音素序列的词间空格sil,统一采用拼接全零向量的方法,以保证两部分的词向量维度相同.
-
实验中使用的印尼语数据集时长8 h,为专业的播音员录音,播音员口音为纯正的印度尼西亚音. 平行语料共有4768对〈文本,音频〉,划分为训练集4611对,验证集107对,测试集50对. 其中,音频语料采样率为22050 Hz,前后含有50 ms的静音段,音频的帧长和帧移分别设置为46.4 ms和11.6 ms. 整个实验基于Pytorch深度学习框架搭建模型,使用一块英伟达V100显卡来训练模型,为防止显卡内存溢出,模型的训练批次(batch)设置为16. 此外,模型采用Adam[21]优化器,学习率设为0.0001. 实验中使用了WaveGlow[22]声码器将声学参数转换为语音波形.
-
为了衡量系统性能,选取几个能够反映音频质量和韵律的指标,并对测试集的50句印尼语进行评测,同时选取模型训练15万步时的结果进行评测,保证变量一致. 为了让合成音频和参考音频能进行比较,先对合成音频和参考音频进行了对齐处理,即动态时间归整(Dynamic Time Warping,DTW)[23]. 此外,基频信息提取,实验中使用了Yin[24]算法.
梅尔倒谱失真(Mean Cepstral Distortion,MCD)[25]:
${D_{{\rm{MCD}}}} = \frac{1}{T}\sum\limits_t^T {\sqrt {\sum\limits_{k = 1}^K {{{\left( {{c_{t,k}} - c_{t,k}^*} \right)}^2}} } }, $ 其中,
$ {c}_{t,k} $ 和$ {c}_{t,k}^{*} $ 为第t帧的第k维梅尔频谱倒谱系数(Mel-Frequency Cepstral Coefficient,MFCC),$ {c}_{t,k} $ 为参考音频,$ {c}_{t,k}^{*} $ 为合成音频,参数k为MFCC的维数,T为所有音频的总帧数.音高错误率(Gross Pitch Error,GPE)[26]:
${E_{{\rm{GPE}}}} = \frac{{{N_{{\rm{FOE}}}}}}{{{N_{{\rm{VV}}}}}} \times 100\%, $ 其中,
${N}_{{\rm{VV}}}$ 代表预测值和真实值都为浊音(Voiced)时的帧数,$ {N}_{{\rm{FOE}}} $ 表示满足$ \left|\frac{{F0}_{\text{估计值}}}{{F0}_{\text{参考值}}}-1\right|>\delta $ 条件的帧数,$\delta $ 是一个阈值,通常设置为20%.F0帧错误率(F0 Frame Error,FFE)[27]:
${E_{{\rm{FFE}}}} = \frac{{{N_{{\rm{UV}}}} + {N_{{\rm{VU}}}} + {N_{{\rm{FOE}}}}}}{N} \times 100\%, $ 其中,
$ N $ 代表帧的总数,${N}_{{\rm{UV}}}$ 表示真实值为清音(Unvoiced)被预测为浊音时的帧数,${N}_{{\rm{VU}}}$ 表示浊音被预测为清音时的帧数. -
BERT模型利用大规模的无标记文本数据进行无监督训练,其生成的词向量包含了丰富的句法和语义信息. 本文使用两种方法将BERT预训练词向量作为附加信息输入,表1给出了实验结果,3个评测指标数值越小表示模型效果越佳. 此外,本文将结构不作修改、采用印尼语音素序列输入的Tacotron2系统作为基线语音合成系统. 3个实验模型,除结构不同外,其他变量全部保持一致. 根据表1数据,可以看到,将BERT预训练模型信息作为系统附加的信息输入,确实可以提高系统的合成效果,两种方法在各个指标上都明显优于基线系统,而且3个指标中梅尔倒谱失真值降低了约15%,音高错误率和F0帧错误率也有近8%的降低.
方法 MCD GPE FFE 基线系统 14.71 34.7 43.1 上下文信息拼接 13.06 33.0 41.4 词向量拼接 12.75 31.4 40.0 表 1 基线系统、上下文信息拼接法和词向量拼接法的评测结果对比
Table 1. The comparison results of three metrics with different methods
% Tacotron系统中采用过两种结构的编码器,其中CBHG编码器应用于Tacotron 1代系统,CNN编码器作为CBHG的改进被应用于Tacotron 2代系统. CBHG编码器由一个卷积神经网络,一个高速网络(Highway Network)和双向的门控循环单元(GRU)组成,采用残差连接. 而CNN编码器结构相对简洁,包括一个卷积神经网络和一个双向LSTM. CBHG编码器结构相比CNN编码器更复杂,其优点是在采用字符输入时,效果要优于CNN编码器. 而CNN编码器学习重音、语调的能力要好于CBHG编码器. 针对两种编码器,本文进行了几组实验,表2给出了对应的实验结果. 根据实验数据可以看到,对印尼语音素序列和BERT预训练信息的处理,两路信息同时采用相同结构编码器时系统效果最佳. 针对两种信息拼接方法,上下文信息拼接法采用两种编码器都可以得到较好的结果,词向量拼接法采用CNN编码器效果明显好于CBHG编码器. 而且通过对结果的总体分析,上下文拼接法的效果要优于词向量拼接法,造成这一现象的主要原因为上下文信息拼接法是将经过注意力机制筛选后的上下文信息进行融合,系统对这一部分信息的处理充分,只提取了有助于合成的那一部分信息. 而词向量拼接法是直接将经过编码器处理后的信息进行融合,由于上采样的处理方式以及BERT预训练模型包含了大量高级信息,信息筛选不完全,导致系统合成结果要逊色一些.
编码器 上下文信息拼接 词向量拼接 MCD GPE FFE MCD GPE FFE CNN 13.06 33.0 41.4 12.75 31.4 40.0 CBHG 12.24 31.5 39.2 15.67 40.5 47.6 CNN+ CBHG 18.16 48.4 56.0 17.80 38.1 46.1 表 2 采用不同编码器的上下文信息拼接法和词向量拼接法的评测结果对比
Table 2. The comparison results of three metrics with different encoders
% -
注意力对齐结果的好坏直接影响合成结果. 图5为可视化注意力对齐结果,注意力对齐结果呈对角线状,表示在生成音频序列时,解码器集中在正确的音素上,保证了每个字符的发音正确. 通过观察,注意力对齐结果与合成音频质量之间密切相关,但是目前暂时无法用一种简单的方法去量化这种相关性,未来会继续进行探究. 另一方面,如图5(c)和图5(d)所示,可以看到两张结果图都有很高的注意力值,呈明显对角线,且无明显间断点. 相比之下,图5(b)词向量拼接法的注意力值要低一些,而且对齐结果的开头和结尾处存在明显的对齐错误. 根据注意力对齐结果,也可以得出上下文信息拼接法要优于词向量拼接法的结论.
此外,实验中发现在预测停止令牌(Stop Token)时,基于Tacotron2的基线印尼语语音合成系统无法正确预测停止令牌,导致不能结束解码过程,最终产生乱码,特别是在预测长句的时候. 但是文中使用的上下文信息拼接和词向量拼接方法,在实验中并没有出现这一情况,尽管会出现合成效果不佳情况,但是都能够正确预测出停止令牌.
图6为上述对齐结果对应的合成语音梅尔频谱图. 相比基线系统,上下文信息拼接法和词向量拼接法合成的语音时长更接近原音,对于停顿和语调的预测更准确. 结合图5和图6,可以明显看到,本文所阐述的两种方法相比基线系统性能有所提升,确实有着更好的合成效果.
-
合成语音主观评测采用了语音质量评价中常用的平均意见得分(Mean Opinion Score,MOS),即依靠人的听觉印象来对听到的语音进行评价打分. 评测中,邀请了实验室研究语音信号处理的10同学以及2位印尼语专业的同学对合成的测试集50句语音进行了评测. 主观评测的评分细则如表3所示.
等级 MOS值 语音满意度 优 $ 5.0 $ 十分自然 良 $ 4.0 $ 比较自然 中 $ 3.0 $ 可以接受 差 $ 2.0 $ 不自然 劣 $ 1.0 $ 不能接受 表 3 语音主观评测标准
Table 3. Subjective evaluation criteria for speech
在合成语音主观评测中,对文中介绍的上下文信息拼接、词向量拼接以及基线系统分别进行了MOS评分,然后对获得的数据进行了分析处理,得到如表4所示的结果.
方法 MOS值 原始语音 4.56 基线系统 3.72 上下文拼接(CNN) 4.03 上下文拼接(CBHG) 4.15 上下文拼接(CNN+CBHG) 2.98 词向量(CNN) 4.09 词向量(CBHG) 3.32 词向量(CNN+CBHG) 3.05 表 4 语音主观评测结果
Table 4. Subjective evaluation results of speech
根据上述主观评测结果,相比于基线系统,文中介绍方法取得平均意见得分达到4.15,远高于基线系统的3.72,有很大的数值提升,但该评测方法主观影响过重. 所以,综合主观和客观两方面的评测结果分析,本文介绍的基于BERT预训练词信息的方法相比于基线系统,有一定的性能提升,但合成语音质量与原始音频仍有较大差距,仍具有很大的优化空间.
-
本文围绕印尼语语音合成系统,提出了基于BERT预训练语言模型的印尼语语音合成系统. 该系统将BERT预训练的词向量信息作为系统额外输入,并且使用了两种方法来将BERT预训练信息嵌入原系统. 在有限语料条件下,该系统可以提高合成语音质量,而且该系统也可应用于其他低资源语言. 通过合成语音的客观评测和主观评测结果进一步证明了该方案的有效性,两种方法相对于基线系统都有显著的性能提升,但合成语音质量与原始音频仍有提升空间. 未来的工作,将继续改进系统,解决合成中出现的不正确停顿问题,以及合成中预测停止符不确定造成音频时长变短,语速过快的现象,进一步提高合成语音的质量.
基于BERT预训练语言模型的印尼语语音合成
Indonesian speech synthesis based on BERT pre-trained language model
-
摘要: 基于深度神经网络并利用大规模高质量“〈文本,音频〉”语料库训练的端到端语音合成系统已能够合成出高质量的语音,因受限于语料库规模,低资源非通用语言端到端语音合成系统性能仍有待提升. 近年来,自然语言处理领域实现了利用海量无标记文本数据以弱监督方式训练语言模型,BERT等预训练的语言模型被证明显著改进了许多自然语言处理任务. 论文基于预训练语言模型探索提升印尼语端到端语音合成系统性能的方法,首先利用上下文信息拼接和词向量拼接方法将BERT预训练词向量信息嵌入语音合成系统,然后在此基础上进一步研究编码器结构对语音合成性能的影响,最后从主观和客观两方面对文中阐述的各种方法所合成的语音进行测评. 实验结果表明,新方法与基线语音合成系统相比,客观评测结果显示系统性能提升近15%,有效降低了合成语音的梅尔倒谱失真和基频帧错误率,主观评价平均意见得分达到4.15,远高于基线系统的3.72.Abstract: The end-to-end speech synthesis system based on deep neural network and using large-scale high-quality corpus training has been able to synthesize high-quality speech. Due to the limited size of the corpus, the performance of the end-to-end speech synthesis system for low-resource non-generic languages still needs to be improved. In the field of Natural Language Processing (NLP), language models are trained in a weakly supervised way using massive unmarked text data. The pre-trained language models have been proved to significantly improve many NLP tasks. We explore a method to improve the performance of Indonesian end-to-end speech synthesis system based on the pre-trained language model. Firstly, we use contextual information Mosaic and word vector Mosaic methods to embed BERT pre-trained word vector information into the speech synthesis system. Then, we further investigate the influence of encoder structure on the performance of speech synthesis. In the end, the speech synthesized by different methods is evaluated from subjective and objective directions. Experimental results show that compared with the baseline speech synthesis system, the performance of the proposed method is improved by nearly 15% according to the objective evaluation results, and the Mel-cepstrum distortion and the base frequency frame error rate of the synthesized speech are effectively reduced. The mean opinion score is 4.15 VS 3.72 which is baseline synthesis system.
-
Key words:
- Indonesian /
- speech synthesis /
- end-to-end /
- pre-trained language model
-
表 1 基线系统、上下文信息拼接法和词向量拼接法的评测结果对比
Table 1. The comparison results of three metrics with different methods
% 方法 MCD GPE FFE 基线系统 14.71 34.7 43.1 上下文信息拼接 13.06 33.0 41.4 词向量拼接 12.75 31.4 40.0 表 2 采用不同编码器的上下文信息拼接法和词向量拼接法的评测结果对比
Table 2. The comparison results of three metrics with different encoders
% 编码器 上下文信息拼接 词向量拼接 MCD GPE FFE MCD GPE FFE CNN 13.06 33.0 41.4 12.75 31.4 40.0 CBHG 12.24 31.5 39.2 15.67 40.5 47.6 CNN+ CBHG 18.16 48.4 56.0 17.80 38.1 46.1 表 3 语音主观评测标准
Table 3. Subjective evaluation criteria for speech
等级 MOS值 语音满意度 优 $ 5.0 $ 十分自然 良 $ 4.0 $ 比较自然 中 $ 3.0 $ 可以接受 差 $ 2.0 $ 不自然 劣 $ 1.0 $ 不能接受 表 4 语音主观评测结果
Table 4. Subjective evaluation results of speech
方法 MOS值 原始语音 4.56 基线系统 3.72 上下文拼接(CNN) 4.03 上下文拼接(CBHG) 4.15 上下文拼接(CNN+CBHG) 2.98 词向量(CNN) 4.09 词向量(CBHG) 3.32 词向量(CNN+CBHG) 3.05 -
[1] Black A, Campbell N. Optimising selection of units from speech databases for concatenative synthesis[C]// Proceedings of Euro Speech, Madrid, Spain, 1995: 581-584. DOI: 10.1007/BF02945137. [2] 张斌, 全昌勤, 任福继. 语音合成方法和发展综述[J]. 小型微型计算机系统, 2016, 37(1): 186-192. DOI: 10.3969/j.issn.1000-1220.2016.01.035. Zhang B, Quan C Q, Ren F J. Review of speech synthesis methods and development[J]. Journal of Chinese Computer Systems, 2016, 37(1): 186-192. [3] Tokuda K, Nankaku Y, Toda T, et al. Speech synthesis based on hidden Markov models[J]. Proceedings of the IEEE, 2013, 101(5): 1 234-1 252. DOI: 10.1109/JPROC.2013.2251852. [4] Zen H, Senior A, Schuster M. Statistical parametric speech synthesis using deep neural networks[C]//IEEE International Conference on Acoustics, Speech and Signal Processing, Vancouver, Canada, 2013: 7 962-7 966. DOI: 10.1109/ICASSP.2013.6639215. [5] 胡郁, 凌震华, 王仁华, 等. 基于声学统计建模的语音合成技术研究[J]. 中文信息学报, 2011, 25(6): 127-137. DOI: 10.3969/j.issn.1003-0077.2011.06.016. Hu Y, Ling Z H, Wang R H, et al. Research on speech synthesis technology based on acoustic statistical modeling[J]. Journal of Chinese Information Processing, 2011, 25(6): 127-137. [6] Sotelo J, Mehri S, Kumar K, et al. Char2Wav: End-to-end speech synthesis[C]//Proceedings of the International Conference on Learning Representations, Toulon, France, 2017: 1-5. [7] Wang Y, Skerry-Ryan R, Stanton D, et al. Tacotron: Towards end-to-end speech synthesis[C]//Proceedings of Conference of the International Speech Communication Association, Stockholm, Sweden, 2017: 4 006-4 010. DOI: 10.21437/Interspeech.2017-1452. [8] Shen J, Pang R, Weiss R J, et al. Natural tts synthesis by conditioning wavenet on mel spectrogram predictions[C]//IEEE International Conference on Acoustics, Speech and Signal Processing, Calgary, Canada, 2018: 4 779-4 783.DOI: 10.1109/ICASSP.2018.8461368. [9] Arik S, Chrzanowski M, Coates A, et al. Deep voice: Real-time neural text-to-speech[C]//Proceedings of the 34th International Conference on Machine Learning (ICML), Sydney, Australia, 2017: 195-204. DOI: 10.5555/3305381.3305402. [10] Griffin D, Lim J. Signal estimation from modified short-time Fourier transform[C]//Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing, Boston, Massachusetts, USA, 1983: 804-807. DOI: 10.1109/TASSP.1984.1164317. [11] 王国梁, 陈梦楠, 陈蕾. 一种基于Tacotron2的端到端中文语音合成方案[J]. 华东师范大学学报: 自然科学版, 2019(4): 111-119. DOI: 10.3969/j.issn.1000-5641.2019.04.011. Wang G L, Chen M N, Chen L. An end-to-end Chinese speech synthesis scheme based on Tacotron2[J]. Journal of East China Normal University: Natural Science, 2019(4): 111-119. [12] Li J D, Zhang H, Liu R, et al. End-to-end mongolian text-to-speech system[C]//Proceedings of the 11th International Symposium on Chinese Spoken Language Processing (ISCSLP), Taipei, China, 2018. DOI: 10.1109/ISCSLP.2018.8706263. [13] 都格草, 才让卓玛, 南措吉, 等. 基于神经网络的藏语语音合成[J]. 中文信息学报, 2019, 33(2): 75-80. DOI: 10.3969/j.issn.1003-0077.2019.02.010. Du G C, Cairang Z M, Nan C J, et al. Tibetan speech Synthesis based on neural network[J]. Journal of Chinese Information Processing, 2019, 33(2): 75-80. [14] Devlin J, Chang M W, Lee K, et al. BERT: pre-training of deep bidirectional transformers for language understanding[J]. arXiv: 1810.04805, 2018. [15] Sutskever I, Vinyals O, Le Q V. Sequence to sequence learning with neural networks[C]//Proceedings of the International Conference on Neural Information Processing Systems, Cambridge, USA, 2014: 3 104-3 112. DOI: 10.5555/2969033.2969173. [16] Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[C]//Proceedings of the Conference on Neural Information Processing Systems, Long Beach, USA, 2017: 5 998-6 008. DOI: 10.5555/3295222.3295349. [17] He K M, Zhang X Y, Ren S Q, et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Las Vegas, USA, 2016: 770-778. DOI: 10.1109/CVPR.2016.90. [18] 朱刚琴. 基础印度尼西亚语[M]. 北京: 世界图书出版社, 2011. Zhu G Q. Basic Indonesian[M]. Beijing: World Book Publishing, 2011. [19] Hayashi T, Watanabe S, Toda T, et al. Pre-trained text embeddings for enhanced text-to-speech synthesis[C]//Proceedings of Conference of the International Speech Communication Association, Graz, Austria, 2019: 4 430-4 434. DOI: 10.21437/Interspeech.2019-3177. [20] Chung Y A, Wang Y X, Hsu W N, et al. Semi-supervised training for improving data efficiency in end-to-end speech synthesis[C]//Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing, Brighton, UK, 2019: 6 940-6 944. DOI: 10.1109/ICASSP.2019.8683862. [21] Kingma D, Ba J. Adam: A method for stochastic optimization[J]. Computer Science, arXiv: 1421.6980, 2014. [22] Prenger R, Valle R, Catanzaro B. Waveglow: A flow-based generative network for speech synthesis[C]//Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing, Brighton, UK, 2019: 3 617-3 621. DOI: 10.1109/ICASSP.2019.8683143. [23] Vintsyuk T K. Speech discrimination by dynamic programming[J]. Cybernetics, 1968, 4(1): 52-57. DOI: 10.1007/BF01074755. [24] Cheveigne A, Kawahara H. YIN, a fundamental frequency estimator for speech and music[J]. Proceedings of the Journal of the Acoustical Society of America, 2002, 111(4): 1 917-1 930. DOI: 10.1121/1.1458024. [25] Kubichek R. Mel-cepstral distance measure for objective speech quality assessment[C]//Proceedings of IEEE Pacific Rim Conference on Communications Computers and Signal Processing, Victoria, Canada, 1993: 125-128.DOI: 10.1109/PACRIM.1993.407206. [26] Nakatani T, Amano S, Irino T, et al. A method for fundamental frequency estimation and voicing decision: Application to infant utterances recorded in real acoustical environments[J]. Speech Communication, 2008, 50(3): 203-214. DOI: 10.1016/j.specom.2007.09.003. [27] Chu W, Alwan A. Reducing F0 frame error of F0 tracking algorithms under noisy conditions with an unvoiced/voiced classification frontend[C]//Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing, Taipei, China, 2009: 3 969-3 972. DOI: 10.1109/ICASSP.2009.4960497. -