1.本发明涉及自然语言处理技术领域,特别是涉及一种语音合成系统、方法、计算机设备和存储介质及程序产品。
背景技术:2.传统语音合成技术要求建模人员同时具有声学、语言学等知识,合成研究难度较高。随着神经网络等技术的发展,基于深度学习的语音合成技术快速发展,基于深度学习的语音合成技术主要包括将深度学习应用到传统语音合成系统的各个模块中建模。然而深度学习与传统方法结合的合成系统内的模块较多而且各个模块独立建模,导致系统调优比较困难,容易出现累积误差。
技术实现要素:3.基于此,有必要针对基于深度学习与传统方法结合的合成系统调优比较困难,容易出现累积误差的问题,提供一种语音合成系统、方法、计算机设备和存储介质及程序产品。
4.一种语音合成系统,包括编码模块,用于对输入文本进行编码,获取特征编码信息;所述编码模块包括卷积网络单元和双向长短时记忆网络单元,所述卷积网络单元用于对所述输入文本进行特征提取,所述双向长短时记忆网络单元用于对所述卷积网络单元提取的特征进行训练,以获取所述特征编码信息;解码模块,与所述编码模块相连接,用于根据所述编码特征信息的序列进行解码,每一次解码获取一帧预测频谱帧,根据每一帧所述预测频谱帧获取预测目标频谱;声码模块,与所述解码模块相连接,用于根据所述预测目标频谱合成语音信息。
5.上述语音合成系统,使用基于卷积神经网络和双向长短时记忆网络组成的编码模块对输入文本进行编码获取特征编码信息,使用解码模块对特征编码信息进行解码。解码模块根据编码特征信息的序列进行解码,每一次解码获取一帧预测频谱帧,根据每一帧预测频谱帧获取预测目标频谱。本公开提供的语音合成系统模型结构更加简洁、系统鲁棒性和通用性更高,在提高了合成的语音的质量的同时能更好地适应要合成文本有重复字的情况。模型结构中使用了长短时记忆网络,优化了梯度消失的问题,使得模型在反向传播的记忆力上有所提升,提高了合成的语音的质量,使得合成的语音更加接近人声。
6.在其中一个实施例中,所述解码模块包括注意力模块,与所述编码模块相连接,用于对所述特征编码信息进行解码,获取中间预测频谱;所述注意力模块包括注意力机制单元和长短时记忆网络单元;所述注意力机制单元,与所述编码模块相连接,用于根据所述编码特征信息获取注意力向量;预处理网络单元,与所述注意力机制单元相连接,对所述中间预测频谱进行预处理;所述长短时记忆网络单元,与所述预处理网络单元相连接,用于对预处理后的所述中间预测频谱与所述注意力向量拼接后的数据进行训练,获取训练输出;线性投影单元,与所述预处理网络单元相连接,用于对所述训练输出与所述注意力向量拼接
后的数据进行处理,获取预测目标频谱。
7.在其中一个实施例中,所述语音合成系统还包括人声编码模块,与所述解码模块相连接,用于提取声纹信息,将所述声纹信息嵌入到所述解码模块的注意力机制单元中进行训练。
8.在其中一个实施例中,所述语音合成系统还包括卷积后处理网络单元,与所述解码模块相连接,用于对所述预测目标频谱进行后处理,将经过后处理的所述预测目标频谱与后处理前的所述预测目标频谱进行拼接,获取梅尔频谱;所述声码模块用于根据所述梅尔频谱合成语音信息。
9.在其中一个实施例中,所述声码模块包括wavenet模型。
10.在其中一个实施例中,所述卷积网络单元包括3层卷积神经网络,所述双向长短时记忆网络单元包括1层双向长短时记忆网络,所述预处理网络单元包括2层全连接层预处理网络,所述长短时记忆网络单元包括2层单向长短时记忆网络单元。
11.一种语音合成方法,包括对输入文本进行特征提取;对提取的特征进行训练,获取特征编码信息;对所述特征编码信息进行解码,获取中间预测频谱;将所述特征编码信息作为注意力机制单元的输入,获取注意力向量;使用预处理网络单元对所述中间预测频谱进行预处理;将预处理后的所述中间预测频谱与所述注意力向量进行拼接作为长短时记忆网络单元的输入进行训练,获取训练输出;将所述训练输出与所述注意力向量进行拼接作为线性投影单元的输入,获取预测目标频谱;根据所述预测目标频谱合成语音信息。
12.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述实施例中所述的语音合成方法的步骤。
13.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述实施例中所述的语音合成方法的步骤。
附图说明
14.为了更清楚地说明本说明书实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
15.图1为本公开其中一实施例的语音合成系统的结构框图;
16.图2为本公开其中一实施例的语音合成系统的架构图;
17.图3为本公开另一实施例的语音合成系统的架构图;
18.图4为本公开其中一实施例的wavenet模型的架构图;
19.图5为本公开其中一实施例的语音合成方法的方法流程示意图;
20.图6为本公开其中一实施例的语音合成装置或系统的框图。
具体实施方式
21.为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的优选实施方式。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施方式。相反的,提供这些实施方式的目的是为了对本发明的公开内容理解得
更加透彻全面。
22.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
23.传统语音合成技术要求建模人员同时具有声学、语言学等知识,合成研究难度较高。深度学习与传统方法结合的合成系统调优比较困难、容易出现累积误差。
24.端到端的tacotron模型(towards end-to-end speech synthesis,面向端到端语音合成模型)编解码过程中使用了cbhg模块,cbhg模块是由一维卷积滤波器、高速公路网络(highway network)、双向门控递归单元(gru)和循环神经网络(rnn,recurrent neural network)组成的,因此tacotron的模型系统结构相对复杂。解码器输出为原始声谱图可以保留更多的语音信息但是会有大量的冗余信息从而增加模型训练过程的不稳定性。
25.griffin-lim是一种简单声码器,用于在仅已知幅度谱、不知道相位谱的条件下重建语音。因其算法局限性,该方式的mos得分仅高于参数法,略低于传统的拼接法,合成效果不理想。tacotron模型的合成目标声音单一,不具备多声优的语音合成能力,无法应对不同业务场景的语音合成需求。
26.针对以上现存的问题,本公开提出了一种语音合成系统。图1为本公开其中一实施例的语音合成系统的结构框图,在其中一个实施例中,语音合成系统可以包括编码模块100、解码模块200和声码模块300。
27.编码模块100用于对输入文本进行编码,获取特征编码信息。编码模块100可以包括卷积网络单元110和双向长短时记忆网络单元120。卷积网络单元110用于对输入文本进行特征提取,双向长短时记忆网络单元120用于对提取的特征进行训练,以获取特征编码信息。
28.在本实施例中,为了更好地说明编码模块100对输入文本的处理过程,以语音合成系统采用如下的详细参数为例来进行说明,但并不能因此而理解为对发明专利范围的限制。将编码模块100输入的文本表示为512维字符嵌入,将字符嵌入传输至编码模块100中的3个卷积层。每个卷积层包含512个形状为5*1的过滤器(每个过滤器可以跨越5个字符)。对经过卷积层处理后的输入文本进行批归一化和relu函数激活,这些卷积层再根据输入字符序列中模拟长句子上下文。将卷积层的输出传输至包含512个单位(每个方向256个)的双向lstm层(lstm,long short-term memory,长短期记忆网络)中,生成特征编码信息。
29.解码模块200与编码模块100相连接,用于根据编码特征信息的序列进行解码,每一次解码获取一帧预测频谱帧,根据每一帧预测频谱帧获取预测目标频谱。声码模块300与解码模块200相连接,用于根据预测目标频谱合成语音信息。
30.本公开提供的语音合成系统与tacotron模型相比,在编码模块100和解码模块200中使用的是普通的长短时记忆网络(lstm)和卷积层,而不再使用cbhg模块和gru双向循环网络。在本公开的语音合成系统中使用了更通用的lstm和cnn网络模型来替换cbhg,可以达到相同功能下、网络更加简洁明了、需要调整的网络参数类型更少的效果。同时,考虑到了声音的延续性,解码模块200在每一个解码步只解码出一帧,这样可以使得最终合成的语音与人声更贴合。
31.本公开提供的语音合成系统模型结构更加简洁、系统鲁棒性和通用性更高,在提高了合成的语音的质量的同时能更好地适应要合成文本有重复字的情况。模型结构中使用了长短时记忆网络,优化了梯度消失的问题,使得模型在反向传播的记忆力上有所提升,提高了合成的语音的质量,使得合成的语音更加接近人声。
32.图2为本公开其中一实施例的语音合成系统的架构图,在其中一个实施例中,解码模块200可以包括注意力模块210、预处理网络单元220和线性投影单元230。注意力模块210与编码模块100相连接,用于对特征编码信息进行解码,获取中间预测频谱。注意力模块210包括注意力机制单元211和长短时记忆网络单元212。
33.注意力机制单元211与编码模块100相连接,用于根据编码特征信息获取注意力向量。预处理网络单元220与注意力机制单元211相连接,对中间预测频谱进行预处理。长短时记忆网络单元212与预处理网络单元220相连接,用于对预处理后的中间预测频谱与注意力向量拼接后的数据进行训练,获取训练输出。线性投影单元230与预处理网络单元220相连接,用于对训练输出与注意力向量拼接后的数据进行处理,获取预测目标频谱。
34.在本公开的一些实施例中,解码模块200是自回归的循环神经网络。在编码模块100输出了输入文本的编码特征信息后,解码模块200可以将编码特征信息按时间步依次转换为输出帧获取预测目标频谱。注意力模块210的注意力机制单元211可以根据编码模块100输出的特征编码信息确定输入文本的注意力向量。通常输入序列和输出序列之间存在一定的对应关系,在输出时需要重点关注某一些和当前输出有关的信息,因此采用注意力机制可以让模型抽取准确信息达到更好的效果。长短时记忆网络单元212可以用于对注意力向量进行训练,获取中间预测频谱。
35.上述解码模块200中利用注意力机制单元211获取注意力向量,可以使用先前解码模块200时间步长中累积的注意权重作为附加功能,这个注意力机制在输入中始终向前移动,从而减轻了序列被解码器重复或忽略的故障,能更好地适应输入文本有重复字的情况。
36.解码模块200的自回归是通过预处理网络单元220实现的。即,将解码模块200上一步预测的频谱帧中间预测频谱作为下一步预测中的输入,回传至预处理网络单元220。将注意力模块210预测的前一步预测结果输入到预处理网络单元220中,再利用解码模块200预测下一步的预测频谱。预处理网络单元220对中间预测频谱进行预处理,提取中间预测频谱的特征参数,有利于后续进一步的处理。
37.将预处理网络单元220的输出与注意力机制单元211输出的注意力向量拼接成一个矢量输入到长短时记忆网络单元212。将长短时记忆网络单元212对预处理网络单元220的输出与注意力机制单元211输出拼接成的数据进行训练,获得训练输出。训练输出再一次与注意力机制单元211输出的注意力向量进行拼接,通过线性投影单元230将拼接后的矢量投影成预测目标频谱。线性投影单元230可以用于规范解码模块200的每一步输出结果,将输出结果转为一维向量,获取预测帧。解码模块200每一步输出就是一帧目标频谱帧,循环结束后输出的结果即为完整预测目标频谱。
38.在其中一个实施例中,可以设计一个停止标志(stop token)来预测输出序列完成与否的概率,以及时终止解码模块200自回归循环网络的预测帧操作。停止标志与解码模块200中帧预测网络平行,将lstm层的训练输出与注意力向量拼接结果投影成一个标量,再经过sigmoid激活函数来预测输出的序列完成的可能性。sigmoid函数是一个在生物学中常见
的s型函数,也称为s型生长曲线。由于其单增以及反函数单增等性质,sigmoid函数可以被用作神经网络的激活函数,将变量映射到(0,1)之间。根据基于sigmoid函数的概率训练模型动态地决策何时结束频谱生成操作。
39.在本公开的一些实施例中,设置结束概率的阈值为0.5。即,允许推断过程中stop token主动终止程序,当sigmoid激活函数预测输出序列生成结束的概率超过0.5时,终止解码模块200自回归循环网络的预测帧操作。
40.此外,在本公开的一些实施例中,编码模块100中的卷积层可以使用概率为0.5的dropout(丢失,dropout是深度学习中避免过拟合的手段之一,用于随机将某些原始置为0)。lstm层可以使用概率为0.1的zoneout(zoneout是指随机失活一个训练单元,跳过一步训练)正则化。解码模块200中预处理层可以使用概率为0.5的dropout,以引入推断时的输出变化。
41.本公开的语音合成系统采用的模型结构中使用了lstm模型、加入了门控结构,即lstm模型每个单元内部有三个门结构:输入门、输出门、遗忘门,利用门控结构优化了梯度消失的问题,使得模型在反向传播的记忆力上有所提升,提高了合成的语音的质量,使得合成语音更加接近人声,合成效果优于拼接法和参数法。
42.在其中一个实施例中,语音合成系统还包括卷积后处理网络单元400。卷积后处理网络单元400与解码模块200相连接,用于对预测目标频谱进行后处理,将经过后处理的预测目标频谱与后处理前的预测目标频谱进行拼接,获取梅尔频谱。声码模块300用于根据梅尔频谱合成语音信息。
43.在本公开的一些实施例中,卷积后处理网络单元400可以包括5层卷积的后处理网络。将解码模块200输出的预测目标频谱的频谱帧传递给5层卷积的后处理网络获取预测频谱帧的一个残差项,并将该残差项叠加到预测频谱帧中,以对频谱重构的结果做进一步改善。
44.解码模块200将特征编码信息按时间步依次转换为输出帧作为预测帧,将预测帧传递给5层卷积的后处理网络来预测一个残差项,并将该残差项叠加到预测帧中作为上一步的预测结果。解码模块200将上一步的预测结果回传给预处理网络单元220,然后将预处理网络单元220的输出与注意力向量进行拼接,将拼接后的数据传递给2层lstm进行训练。lstm的训练输出再与注意力向量进行拼接,此次拼接结果传输至线性投影单元230,利用线性投影单元230获取目标频谱帧。解码模块200每一步输出就是一帧目标频谱帧,循环结束后输出的结果即为完整的预测目标频谱。
45.图3为本公开另一实施例的语音合成系统的架构图,在其中一个实施例中,语音合成系统还包括人声编码模块500。人声编码模块500与解码模块200相连接,用于提取声纹信息,将声纹信息嵌入到解码模块200的注意力机制单元211中进行训练。语音合成系统通过增加人声编码模块500,可以增加多样声优拟合功能。
46.人声编码模块500的原理是提取说话人声纹,训练时将声纹嵌入到语音合成中预测声谱图,在本实施例中即将声纹嵌入到解码模块200中的注意力机制单元211中训练。人声编码模块500采用通用端到端(ge2e)的说话人识别模型提取说话人的声纹信息。说话人识别模型是一种基于深度学习的端到端的模型,通过训练统一损失函数来提高说话人的声纹信息的识别准确率。通过在语音合成系统中加入人声编码模块500,可以更方便快速地对
人声拟合进行训练、更换合成语音信息采用的声音种类,实现多声优的语音合成。
47.上述语音合成系统针对不同的应用情景下,在分词、停顿、特殊符号解析等方面通过大量数据建模进行预测,可以大幅提高预测准确率。可以建设金融场景自有的高拟人化声优音库体系,全方位覆盖现有业务场景,并根据业务场景需求选择不同声优角色进行语音合成。
48.在其中一个实施例中,声码模块300包括wavenet模型。wavenet模型是一种序列生成模型,可以用于语音生成建模。在语音合成的声学模型建模中,wavenet可以直接学习到采样值序列的映射,因此具有很好的合成效果。
49.wavenet模型直接在音频层面上进行建模,在训练之前,wavenet模型将输入的语音波形序列联合概率x={x1,...,x
t
}分解为各时刻条件概率乘积,如下式所示。
[0050][0051]
式中,p(x)是各时刻条件概率乘积,x是语音波形值序列,x
t
是t时刻的波形值,x
t
的值由之前所有时刻的值决定。
[0052]
训练过程中利用因果卷积和带洞卷积逐点生成语音信号的波形。因果卷积和带洞卷积保证模型按照时间顺序生成语音。生成阶段,模型采用逐采样点自回归方式,按照上式计算每个时刻的波形值。
[0053]
图4为本公开其中一实施例的wavenet模型的架构图。wavenet模型如图4所示具有k个功能层。在对wavenet模型进行训练时,音频输入到因果卷积层,因果卷积层的输出将输入带洞卷积层,带洞卷积层的输出分别经过tanh函数(一种激活函数)和sigmoid函数(一种激活函数)非线性变化后进行门限激活,门限激活后经过1
×
1卷积后得到输出,这个输出就是功能层输出。将功能层输出与因果卷积层的输出进行残差连接,再将残差连接结果输入到下一个功能层。最后,每个功能层的输出连接在一起,经过两次非线性激活和1
×
1卷积后输入到softmax层。softmax层优化最大似然估计后可以得到音频每一个时间点的波形值。在生成阶段,wavenet在每个波形点时刻通过对根据上式计算得到的条件概率进行采样,得到当前时刻波形值,该值会被作为历史信息,计算后续波形点条件概率。
[0054]
在本实施例中,在本实施例中声码模块300采用的是改进版的wavenet模型。改进后的wavenet模型通过自回归方式拟合音频波形的分布以合成语音信息,即通过预测每一个时间点波形的值来合成语音波形。
[0055]
为了更好地说明本公开对wavenet模型结构的改进情况,以改进后的wavenet模型采用如下的详细为例来进行说明,但并不能因此而理解为对发明专利范围的限制。改进后的wavenet模型将梅尔频谱转换为时域的波形样本,为适应梅尔频谱12.5ms的帧跳,调节堆栈中的上采样层只有两层。使用logistic分布(mol)的10元混合逻辑分布来生成频率24khz的16位深的语音样本,代替原始模型中利用softmax层预测离散片段。改进后的wavenet模型的输出通过relu函数(一种激活函数)激活,对激活后的输出进行线性投影,以预测每个分量组的各个参数,损失函数使用标定真实数据的负对数似然函数计算,来计算逻辑混合分布。采用改进后的wavenet模块作为声码模块300可以更好地还原出梅尔频谱丢失的信息。
[0056]
在其中一个实施例中,卷积网络单元110包括3层卷积神经网络,双向长短时记忆网络单元120包括1层双向长短时记忆网络,预处理网络单元220包括2层全连接层预处理网络,长短时记忆网络单元212包括2层单向长短时记忆网络单元。
[0057]
在一些其他的实施例中,卷积网络单元110可以包括其他层数的卷积神经网络,都可以是其他层数,双向长短时记忆网络单元120可以包括其他层数的双向长短时记忆网络,预处理网络单元220可以包括其他层数的全连接层预处理网络,长短时记忆网络单元212可以包括其他层数的单向长短时记忆网络单元。在应用时,卷积网络作为模块网络使用时多为3、5层,预处理网络通常最少具有2层,lstm网络具有2层相对合理。上述网络层数设置过少将无法实现相应的作用,而网络层数设置过多在模型应用中则只会徒增时间,甚至会起到反优化效果。因此,在使用时可以根据实际的应用需求,综合考虑对于优化效果、预测时间等性能选择合理的网络层数。
[0058]
在本实施例中,为了更好地说明解码模块200对输入文本的处理过程,以语音合成系统采用如下的详细参数为例来进行说明,但并不能因此而理解为对发明专利范围的限制。将编码模块100输出的特征编码信息传输至解码模块200中的注意力机制单元211中。注意力机制单元211使用32个长度为31的一维卷积滤波器来计算位置特征,将输入和位置特征投射到128维隐藏表征中,计算出注意力向量。解码模块200从编码模块100的输入序列中一次预测一帧频谱帧,将上一次预测的频谱帧先传输至两层全连接的预处理网络,每层预处理网络中包含256个relu单元。将预处理网络的输出与注意力向量拼接在一起并传输至两层由1024单元组成的单向lstm中进行训练。将lstm的训练输出与注意力向量拼接在一起,拼接结果经过一个线性投影单元230来预测频谱帧。预测频谱帧再通过5层卷积的后处理网络进行残差连接来得到目标频谱帧。后处理网络每层由512个5*1卷积核组成,卷积核与批归一化层相连接,除了最后一层卷积以外,每一功能层都用tanh函数激活。最小化目标频谱帧在输入后处理网络之前和之后的求和均方误差(mse)以帮助收敛。解码模块200每一步输出就是一帧目标频谱帧,循环结束后输出的结果即为完整的预测目标频谱。
[0059]
本公开的语音合成系统基于端到端的语音合成模型提出了一个新的合成模型,使用基于3层卷积神经网络和1个双向长短时记忆网络组成的编码模块100,使用基于32个卷积滤波器的注意权重计算网络、2层循环单向长短时记忆网络和2层全连接层预处理网络的解码器,以及基于改进版wavenet模型的声码模块300,并添加了人声编码模块500。该模型结构与传统的tacotron模型相比结构更为简洁、系统鲁棒性和通用性更高。在提高了合成的语音的质量的同时能更好地适应要合成文本有重复字的情况,此外能方便快速的训练、合成不同种类的声音。语音合成系统的解码模块200输出的梅尔谱图作为改进后wavenet的输入,解决了传统的tacotron模型在每次使用wavenet模型前都需要对前端语言的特征进行调节的问题。
[0060]
上述语音合成系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0061]
基于上述所述的语音合成系统实施例的描述,本公开还提供了一种语音合成方法。图5为本公开其中一实施例的语音合成方法的方法流程示意图,在其中一个实施例中,语音合成方法包括如下步骤s100至步骤s800。
[0062]
步骤s100:对输入文本进行特征提取。
[0063]
利用编码模块100中的卷积网络单元110对输入文本进行特征提取。在其中一个实施例中,将编码模块100输入的文本表示为512维字符嵌入,将字符嵌入传输至编码模块100中的3个卷积层。利用每个卷积层包含512个形状为5*1的过滤器(每个过滤器可以跨越5个字符)对输入文本进行特征提取。
[0064]
步骤s200:对提取的特征进行训练,获取特征编码信息。
[0065]
利用编码模块100中的双向长短时记忆网络单元120对卷积网络单元110提取的特征进行训练,以获取特征编码信息。在其中一个实施例中,对经过卷积层处理后的输入文本进行批归一化和relu函数激活,这些卷积层再根据输入字符序列中模拟长句子上下文。将卷积层的输出传输至包含512个单位(每个方向256个)的双向lstm层中,生成特征编码信息。
[0066]
步骤s300:对特征编码信息进行解码,获取中间预测频谱。
[0067]
利用解码模块200中的注意力模块210对特征编码信息进行解码,以获取中间预测频谱。在其中一个实施例中,注意力机制单元211使用32个长度为31的一维卷积滤波器来计算位置特征,将输入和位置特征投射到128维隐藏表征中,计算出注意力向量。
[0068]
步骤s400:将特征编码信息作为注意力机制单元的输入,获取注意力向量。
[0069]
注意力模块210的注意力机制单元211可以根据编码模块100输出的特征编码信息确定输入文本的注意力向量。利用注意力机制单元211获取注意力向量,可以使用先前解码模块200时间步长中累积的注意权重作为附加功能,这个注意力机制在输入中始终向前移动,从而减轻了序列被解码器重复或忽略的故障,能更好地适应输入文本有重复字的情况。在其中一个实施例中,解码模块200从编码模块100的输入序列中一次预测一帧频谱帧,将上一次预测的频谱帧先传输至两层全连接的预处理网络,每层预处理网络中包含256个relu单元。
[0070]
步骤s500:使用预处理网络单元对中间预测频谱进行预处理。
[0071]
解码模块200的自回归是通过预处理网络单元220实现的。即,将解码模块200上一步预测的频谱帧中间预测频谱作为下一步预测中的输入,回传至预处理网络单元220。将注意力模块210预测的前一步预测结果输入到预处理网络单元220中,再利用解码模块200预测下一步的预测频谱。预处理网络单元220对中间预测频谱进行预处理,提取中间预测频谱的特征参数,有利于后续进一步的处理。在其中一个实施例中,解码模块200从编码模块100的输入序列中一次预测一帧频谱帧,将上一次预测的频谱帧先传输至两层全连接的预处理网络,每层预处理网络中包含256个relu单元。
[0072]
步骤s600:将预处理后的中间预测频谱与注意力向量进行拼接作为长短时记忆网络单元的输入进行训练,获取训练输出。
[0073]
将预处理网络单元220的输出与注意力机制单元211输出的注意力向量拼接成一个矢量输入到长短时记忆网络单元212。长短时记忆网络单元212对预处理网络单元220的输出与注意力机制单元211输出拼接成的数据进行训练,获得训练输出。在其中一个实施例中,将预处理网络的输出与注意力向量拼接在一起并传输至两层由1024单元组成的单向lstm中进行训练。
[0074]
步骤s700:将训练输出与注意力向量进行拼接作为线性投影单元的输入,获取预
测目标频谱。
[0075]
训练输出再一次与注意力机制单元211输出的注意力向量进行拼接,通过线性投影单元230将拼接后的矢量投影成预测目标频谱。线性投影单元230可以用于规范解码模块200的每一步输出结果,将输出结果转为一维向量,获取预测帧。解码模块200每一步输出就是一帧目标频谱帧,循环结束后输出的结果即为完整预测目标频谱。
[0076]
在其中一个实施例中,将lstm的训练输出与注意力向量拼接在一起,拼接结果经过一个线性投影单元230来预测频谱帧。预测频谱帧再通过5层卷积的后处理网络进行残差连接来得到目标频谱帧。后处理网络每层由512个5*1卷积核组成,卷积核与批归一化层相连接,除了最后一层卷积以外,每一功能层都用tanh函数激活。最小化目标频谱帧在输入后处理网络之前和之后的求和均方误差(mse)以帮助收敛。解码模块200每一步输出就是一帧目标频谱帧,循环结束后输出的结果即为完整的预测目标频谱。
[0077]
在其中一个实施例中,可以设计一个停止标志(stop token)来预测输出序列完成与否的概率,以及时终止解码模块200自回归循环网络的预测帧操作。停止标志与解码模块200中帧预测网络平行,将lstm层的训练输出与注意力向量拼接结果投影成一个标量,再经过sigmoid激活函数来预测输出的序列完成的可能性。sigmoid函数是一个在生物学中常见的s型函数,也称为s型生长曲线。由于其单增以及反函数单增等性质,sigmoid函数可以被用作神经网络的激活函数,将变量映射到(0,1)之间。根据基于sigmoid函数的概率训练模型动态地决策何时结束频谱生成操作。
[0078]
步骤s800:根据预测目标频谱合成语音信息。
[0079]
声码模块300可以根据预测目标频谱合成语音信息。在本实施例中,在本实施例中声码模块300采用的是改进版的wavenet模型。改进后的wavenet模型通过自回归方式拟合音频波形的分布以合成语音信息,即通过预测每一个时间点波形的值来合成语音波形。
[0080]
改进后的wavenet模型将梅尔频谱转换为时域的波形样本,为适应梅尔频谱12.5ms的帧跳,调节堆栈中的上采样层只有两层。使用logistic分布(mol)的10元混合逻辑分布来生成频率24khz的16位深的语音样本,代替原始模型中利用softmax层预测离散片段。改进后的wavenet模型的输出通过relu函数(一种激活函数)激活,对激活后的输出进行线性投影,以预测每个分量组的各个参数,损失函数使用标定真实数据的负对数似然函数计算,来计算逻辑混合分布。采用改进后的wavenet模块作为声码模块300可以更好地还原出梅尔频谱丢失的信息。
[0081]
本公开提供的语音合成系统模型结构更加简洁、系统鲁棒性和通用性更高,在提高了合成的语音的质量的同时能更好地适应要合成文本有重复字的情况。模型结构中使用了长短时记忆网络,优化了梯度消失的问题,使得模型在反向传播的记忆力上有所提升,提高了合成的语音的质量,使得合成的语音更加接近人声。针对不同的应用情景下,在分词、停顿、特殊符号解析等方面通过大量数据建模进行预测,可以大幅提高预测准确率。可以建设金融场景自有的高拟人化声优音库体系,全方位覆盖现有业务场景,并根据业务场景需求选择不同声优角色进行语音合成。
[0082]
应该理解的是,虽然图5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图5中的至少一部分
步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0083]
可以理解的是,本说明书中上述方法、装置等的各个实施例均采用递进的方式描述,各个实施例之间相同/相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。相关之处参见其他方法实施例的描述说明即可。
[0084]
图6为本公开其中一实施例的语音合成装置或系统的框图。参照图6,语音合成装置或系统s00包括处理组件s20,其进一步包括一个或多个处理器,以及由存储器s22所代表的存储器资源,用于存储可由处理组件s20的执行的指令,例如应用程序。存储器s22中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件s20被配置为执行指令,以执行上述方法。
[0085]
语音合成装置或系统s00还可以包括:电源组件s24被配置为执行语音合成装置或系统s00的电源管理,有线或无线网络接口s26被配置为将语音合成装置或系统s00连接到网络,和输入输出(i/o)接口s28。语音合成装置或系统s00可以操作基于存储在存储器s22的操作系统,例如windows server,mac os x,unix,linux,freebsd或类似。
[0086]
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器s22,上述指令可由语音合成装置或系统s00的处理器执行以完成上述方法。存储介质可以是计算机可读存储介质,例如,所述计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0087]
在示例性实施例中,还提供一种计算机程序产品,所述计算机程序产品中包括指令,上述指令可由语音合成装置或系统s00的处理器执行以完成上述方法。
[0088]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0089]
需要说明的,上述所述的装置、电子设备、服务器等根据方法实施例的描述还可以包括其它的实施方式,具体的实现方式可以参照相关方法实施例的描述。同时各个方法以及装置、设备、服务器实施例之间特征的相互组合组成的新的实施例仍然属于本公开所涵盖的实施范围之内,在此不作一一赘述。
[0090]
在本说明书的描述中,参考术语“有些实施例”、“其他实施例”、“理想实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特征包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性描述不一定指的是相同的实施例或示例。
[0091]
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0092]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以作出若干变形和改进,这些都属于本发明的保护
范围。因此,本发明专利的保护范围应以所附权利要求为准。