首页 > 乐器声学 专利正文
语音合成模型训练方法、语音合成方法和装置与流程

时间:2022-02-17 阅读: 作者:专利查询

语音合成模型训练方法、语音合成方法和装置与流程

1.本发明涉及人工智能技术领域,尤其涉及一种语音合成模型训练方法、语音合成方法和装置。


背景技术:

2.语音合成(text to speech,tts)是一种将文本转换为语音的技术。现有的基于深度学习的语音合成方法主要分为两大类:自回归语音合成方法和非自回归语音合成方法。
3.其中,自回归语音合成方法存在训练和生成不匹配、生成效率和生成的准确率都较低。而非自回归语音合成方法虽然解决了自回归语音合成方法中存在的问题,但非自回归语音合成方法引入了时长模型,在时长模型训练过程中,预测时长和真实时长之间存在误差,存在着时长误差累积的问题,导致训练完成的语音合成模型在实际应用中性能和准确率也因此受限。


技术实现要素:

4.本发明提供一种语音合成模型训练方法、语音合成方法和装置,用以解决现有技术中语音合成模型在实际应用中性能和准确率不高的缺陷。
5.本发明提供一种语音合成模型的训练方法,包括:
6.确定初始合成模型,所述初始合成模型包括时长预测模块,所述时长预测模块用于预测文本中各音素在合成语音中的时长;
7.基于所述初始合成模型,确定样本文本的合成语音,基于所述样本文本的样本语音和所述合成语音之间的差距,对所述时长预测模块的参数进行迭代更新,得到训练完成的语音合成模型。
8.根据本发明提供的一种语音合成模型训练方法,所述基于所述初始合成模型,确定样本文本的合成语音,包括:
9.基于所述初始合成模型中的编码模块,对所述样本文本进行语言学特征编码,得到所述样本文本的音素序列中各音素的特征;
10.基于所述时长预测模块和所述各音素的特征,对所述各音素在合成语音中的时长进行预测,得到所述各音素的预测时长;
11.基于所述初始合成模型中的上采样模块,将所述各音素的特征上采样,得到各音素的上采样特征,所述上采样特征的长度基于所述预测时长确定;
12.基于所述初始合成模型中的解码模块,对所述各音素的上采样特征进行声学解码,得到所述合成语音。
13.根据本发明提供的一种语音合成模型训练方法,所述基于所述初始合成模型中的上采样模块,将所述各音素的特征上采样,得到各音素的上采样特征,包括:
14.基于所述初始合成模型中的上采样模块,以及任一音素在对应预测时长中各时刻的权重,对所述任一音素的特征上采样,得到所述任一音素的上采样特征;
15.所述任一音素在对应预测时长中各时刻的权重基于所述任一音素在对应预测时长中的分布情况确定。
16.根据本发明提供的一种语音合成模型训练方法,所述任一音素在对应预测时长中的分布情况基于如下步骤确定:
17.基于所述任一音素的预测时长,以及所述音素序列中所述任一音素之前的各音素的标签时长,确定所述任一音素的分布中心位置;
18.基于所述任一音素的预测时长、所述任一音素的分布中心位置以及所述任一音素的分布离散参数,确定所述任一音素的分布情况。
19.根据本发明提供的一种语音合成模型训练方法,所述分布离散参数基于所述任一音素的特征和预测时长确定。
20.根据本发明提供的一种语音合成模型训练方法,所述任一音素在对应预测时长中各时刻的权重基于如下步骤确定:
21.基于所述任一音素在对应预测时长中的分布情况,确定所述任一音素在对应预测时长中任一时刻的分布值;
22.基于所述任一时刻的分布值,以及所述任一音素在对应预测时长中各时刻的分布值总和,确定所述任一时刻的权重。
23.本发明还提供一种语音合成模型训练装置,包括:确定模块,用于确定初始合成模型,所述初始合成模型包括时长预测模块,所述时长预测模块用于预测文本中各音素在合成语音中的时长;
24.训练模块,用于基于所述初始合成模型,确定样本文本的合成语音,基于所述样本文本的样本语音和所述合成语音之间的差距,对所述时长预测模块的参数进行迭代更新,得到训练完成的语音合成模型。
25.本发明还提供一种语音合成方法,包括:
26.确定待合成的文本;
27.基于语音合成模型,确定所述文本的合成语音,所述语音合成模型是基于如上述任一项所述语音合成模型的训练方法训练得到的。
28.本发明还提供一种语音合成装置,包括:
29.确定模块,用于确定待合成的文本;
30.合成模块,用于基于语音合成模型,确定所述文本的合成语音,所述语音合成模型是基于如上述任一项所述语音合成模型的训练方法训练得到的。
31.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的任一种语音合成模型的训练方法的步骤或者如上所述的任一种语音合成方法的步骤。
32.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上所述的任一种语音合成模型的训练方法的步骤或者如上所述的任一种语音合成方法的步骤。
33.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的任一种语音合成模型的训练方法的步骤或者如上所述的任一种所述语音合成方法的步骤。
34.本发明提供的语音合成模型训练方法、语音合成方法和装置,通过使用初始合成模型中的时长预测模块对预测文本中各音素在合成语音中的时长进行预测,并根据样本文本的样本语音和初始合成模型输出的合成语音之间的差距,对时长预测模块的参数进行迭代更新,避免了时长预测模型训练时的时长误差累积,提高了语音合成模型在实际应用中的性能和准确率。
附图说明
35.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
36.图1是本发明提供的一种语音合成模型训练方法的流程示意图之一;
37.图2是本发明提供的一种确定样本文本的合成语音方法的流程示意图;
38.图3是本发明提供的确定任一音素在对应预测时长中的分布情况方法的流程示意图;
39.图4是本发明提供的确定任一音素在对应预测时长中各时刻的权重方法的流程示意图;
40.图5是本发明提供一种语音合成模型的训练方法之二;
41.图6是本发明提供的一种语音合成模型的训练方法的框架图;
42.图7是本发明提供的语音合成方法的流程示意图;
43.图8是本发明提供的语音合成模型的训练装置的结构示意图;
44.图9是本发明提供的语音合成装置的结构示意图;
45.图10是本发明提供的电子设备的结构示意图。
具体实施方式
46.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
47.现有的基于深度学习的语音合成方法主要为自回归语音合成方法和非自回归语音合成方法。
48.现有的自回归语音合成模型会出现训练和生成不匹配的问题,并且现有的非自回归语音合成模型采用时长预测模型对样本文本的时长进行预测,其中,预测时长和真实时长之间会存在误差,这个误差会随着不断的训练而逐渐累积,导致后续的训练因为时长误差的累积不会向着最优化的方向优化,进而导致训练的性能和准确率降低。
49.因此,如何提高语音合成模型在实际应用中的性能和准确率是本领域亟待解决的问题。
50.图1是本发明提供的一种语音合成模型训练方法的流程示意图之一。如图1所示,本发明实施例提供的一种语音合成模型训练方法,包括:
51.步骤110,确定初始合成模型,初始合成模型包括时长预测模块,时长预测模块用于预测文本中各音素在合成语音中的时长;
52.步骤120,基于初始合成模型,确定样本文本的合成语音,基于样本文本的样本语音和合成语音之间的差距,对时长预测模块的参数进行迭代更新,得到训练完成的语音合成模型。
53.通常,在应用语音合成模型进行语音合成的过程中,语音合成模型可以对样本文本的音素序列进行语言学编码,并应用语音时长预测模型基于语言学编码所得的每一音素的特征,对每一音素在合成语音中的时长进行预测,随后语音合成模型可以对每一音素的特征进行解码,从而得到每一音素在对应预测时长下的声学特征,至此语音合成完成。
54.考虑到语音时长预测模型无论是属于语音合成模型的子模型还是独立于语音合成模型之外的模型,都需要将预先标注的时长作为标签,对语音时长预测模型做有监督训练,但是由于人工标注的时长本身的可靠性欠佳,语音时长预测模型在将标注的时长作为标签的监督训练下并不能得到可靠的引导,导致语音时长预测模型预测所得的时长和真实时长的时长误差积累。因此,本发明实施例不再使用人工标注的时长作为语音时长预测模型训练时的样本标签,而是在初始合成模型中集成时长预测模块,通过对初始合成模型进行训练,推动初始合成模型内部时长预测模块的参数更新迭代。
55.具体地,首先可以确定一个包含有时长预测模块的初始合成模型,并基于预先收集所得到样本文本,以及样本文本对应的样本语音,对初始合成模型进行训练,从而实现初始合成模型中包含的模块,尤其是时长预测模块的更新迭代,进而得到训练完成的语音合成模型。此处,对初始合成模型进行训练时,可以将样本文本输入到初始合成模型中,从而获取初始合成模型输出的样本文本的合成语音,再此基础上,通过分析样本文本的合成语音与样本文本的样本语音之间的差距,对时长预测模块的参数迭代更新,直到初始合成模型训练完成,得到语音合成模型。
56.上述训练过程中,时长预测模块作为初始合成模型中的一个模块,参与了基于样本文本的语音合成,时长预测模块输出的预测时长也会直接影响初始合成模型输出的合成语音与作为标签的样本语音之间差距的大小。因此,合成语音和样本语音之间的差距,亦可以引导初始合成模型中时长预测模块往预测时长接近样本语音中各音素的实际时长的方向更新迭代,且这一过程中,无需参考人为标注的时长,也就避免了在时长预测模块的训练过程中引入可靠性欠佳的标签,有助于提高时长预测模块训练的效果,从而保证训练完成的语音合成模型的可靠性。
57.本发明提供的语音合成模型训练方法,通过使用初始合成模型中的时长预测模块对预测文本中各音素在合成语音中的时长进行预测,并根据样本文本的样本语音和初始合成模型输出的合成语音之间的差距,对时长预测模块的参数进行迭代更新,避免了时长预测模型训练时的时长误差累积,提高了语音合成模型在实际应用中的性能和准确率。
58.基于上述实施例,图2是本发明提供的一种确定样本文本的合成语音方法的流程示意图。如图2所示,步骤120中,基于所述初始合成模型,确定样本文本的合成语音,包括:
59.步骤210,基于初始合成模型中的编码模块,对样本文本进行语言学特征编码,得到样本文本的音素序列中各音素的特征;
60.具体地,音素是根据语音的自然属性划分出来的最小语音单位,依据音节里的发
音动作来分析,一个动作构成一个音素,本发明实施例中,音素序列指从样本文本中按顺序提取音素所组成的序列,具体是对样本文本进行音素分割以及对分割后的音素进行位置编码得到。音素序列中的音素的顺序是根据样本文本中文字的顺序排列得到。
61.初始合成模型中的编码模块,用于对音素序列中的各个音素进行编码,以提取得到各音素在语言学上的特征。需要说明的是,输入编码模块的可以是样本文本,由编码模块对样本文本进行音素分割得到音素序列并进行语言学编码,输入编码模块的还可以是样本文本的音素序列,由编码模块直接对音素序列进行语言学编码,本发明实施例对此不作具体限定。
62.步骤220,基于时长预测模块和各音素的特征,对各音素在合成语音中的时长进行预测,得到各音素的预测时长;
63.具体地,初始合成模型中时长预测模块可以根据单个音素的特征对该音素的时长进行预测,还可以根据单个音素及其相邻的多个音素特征对该音素的时长进行预测。在时长预测时,可以将步骤210中得到的各音素的特征进行二次编码,使得各音素的特征中包含有更多的时长信息,然后根据包含有时长信息的各音素的特征对各音素的时长进行预测,得到各音素的预测时长。
64.步骤230,基于初始合成模型中的上采样模块,将各音素的特征上采样,得到各音素的上采样特征,上采样特征的长度基于预测时长确定;
65.具体地,初始合成模型中,上采样模块根据步骤220中得到的各音素的预测时长对各音素的特征上采样,以获取各音素的上采样特征。需要说明的是,此处的上采样可以是硬性上采样,还可以是柔性上采样。其中,硬性上采样为根据音素的预测时长将音素特征复制预测时长份得到该音素的上采样特征,例如,音素特征为[d],该音素的预测时长为3,则该音素的上采样特征为[d,d,d];柔性上采样则为根据各音素的预测时长在各时刻的权重,对该音素特征上采样,例如,音素特征为[d],该音素预测时长为3,该音素在其预测时长中第一时刻权重为0.3、第二时刻权重为0.8、第三时刻权重为0.4,则该音素的上采样特征为[0.3
×
d,0.8
×
d,0.4
×
d]。其中,各音素的预测时长在各时刻的权重可以通过各音素的预测时长及与权重的映射关系确定,还可以通过各音素在其预测时长中的各时刻的分布情况确定,本发明实施例对此不作限制。
[0066]
步骤240,基于初始合成模型中的解码模块,对各音素的上采样特征进行声学解码,得到合成语音。
[0067]
具体地,初始合成模型中的解码模块,根据各音素的上采样特征以及各音素在音素序列中的位置进行逐帧声学解码,以得到样本文本的合成语音。
[0068]
基于上述实施例,步骤230包括:
[0069]
基于初始合成模型中的上采样模块,以及任一音素在对应预测时长中各时刻的权重,对该音素的特征上采样,得到该音素的上采样特征;
[0070]
该音素在对应预测时长中各时刻的权重基于该音素在对应预测时长中的分布情况确定。
[0071]
考虑到硬性上采样的方式,其包含在一个音素内部的语言学信息是相同的,两个相邻音素边界会有一个不连续的突变,会导致在音素边界的合成效果并不理想。因此,本发明实施例使用柔性上采样的方式进行音素特征的上采样。
[0072]
并且考虑到如果各音素的预测时长及其与权重的映射关系确定权重,则会因音素及其对应预测时长的随机性出现映射关系覆盖不够全面,导致在音素合成时候边界依旧会产生不连续的情况,进而也会导致在音素边界的合成效果不理想。因此,本发明实施例使用音素在对应预测时长中的分布情况来确定权重。
[0073]
具体地,初始合成模型中的上采样模块对样本文本的音素序列中的每一个音素基于其所预测的时长定义一个分布,该分布的分布情况可以用来表示该音素在其对应的预测时长中的各个时刻的分布值,在此基础上,即可根据各个时刻的分布值确定该音素在各个时刻的权重,然后根据每个音素在其对应的预测时长中的各个时刻的权重对该音素进行上采样,得到该音素的上采样特征。需要说明的是,此处的分布可以为高斯分布。音素在各个时刻的权重,可以基于每一个时刻该音素的分布值与该时刻音素序列所有音素分布值之和的比值确定,还可以基于分布值与权重的映射关系确定,本发明实施例对此不作限制。
[0074]
本发明提供的语音合成模型训练方法,通过音素在其预测时长中的分布情况,计算音素在其预测时长中的各时段的权重,并基于音素在其预测时长中的各时段的权重对该音素进行上采样,实现了音素之间的柔和过渡,不会产生音素间的不连续突变,提升了语音合成的效果,合成的语音自然度更高。
[0075]
基于上述实施例,图3是本发明提供的确定任一音素在对应预测时长中的分布情况的流程示意图。如图3所示,任一音素在对应预测时长中的分布情况基于如下步骤确定:
[0076]
步骤310,基于任一音素的预测时长,以及音素序列中该音素之前的各音素的标签时长,确定该音素的分布中心位置;
[0077]
为了减少因前面音素预测时长的误差累积,导致后续音素分布中心位置的偏离,本发明实施例提供了一种音素的分布中心位置的计算方法,具体是根据该音素的预测时长和音素序列中在该音素位置之前的所有的音素的标签时长,定位该音素在合成语音中所占据的时间区段,并由此计算得到的。
[0078]
需要说明的是,音素序列中在该音素位置之前,音素序列的音素个数为n,当前的音素在音素序列中的位置为i,1≤i≤n,则音素序列中在该音素位置之前的位置为1~i

1。标签时长为该音素的目标时长,目标时长为根据音素特性设定的标准时长。其中,当前音素的分布中心位置具体是通过当前音素的预测时长除以2和当前音素位置之前的音素序列中的所有音素的标签时长和的值求和得到的,例如,音素序列的音素个数为n,当前的音素在音素序列中的位置为i,1≤i≤n,则其中,1≤j<i,d
i
为当前音素的预测时长,t
j
为音素序列中的第j个音素的标签时长。
[0079]
步骤320,基于该音素的预测时长、该音素的分布中心位置以及该音素的分布离散参数,确定该音素的分布情况。
[0080]
考虑到高斯分布的特征是由分布的位置参数和分布的离散参数决定的。因此,本发明实施例中通过音素的分布中心位置和分布离散参数确定该音素在其预测时长中分布情况。
[0081]
具体地,任一音素的分布情况,是通过该音素的预测时长可以得到该音素的分布中心位置以及该音素的分布离散参数后,再通过该音素的分布中心位置以及该音素的分布离散参数确定的。需要说明的是,分布离散参数是可以是预先设定的,还可以是基于音素的
特征以及预测时长计算得到,本发明实施例对此不作限制。
[0082]
本发明提供的语音合成模型训练方法,通过当前音素的预测时长以及当前音素在音素序列中之前的音素的标签时长计算当前音素在其预测时长中的分布中心位置,消除了因当前音素在音素序列中之前的音素的预测时长会出现误差累积的音素,使得每个音素在其预测市场中的分布中心位置大致准确,提高了模型训练的鲁棒性。
[0083]
基于上述实施例,分布离散参数基于该音素的特征和预测时长确定。
[0084]
考虑到语音合成时提高生成语音的自然度也是提升用户体验度的必要音素,而预设的分布离散参数无法很好的应对音素在各语境下的特征和时长不相同的情况,会导致生成的语音自然度不高。因此,本发明实施例通过音素特征及其预测时长联合对该音素在其预测时长中的分布离散参数进行计算,得到该音素的分布离散参数。例如,可以将音素的特征和该音素的特长拼接后进行双向lstm(long short

term memory,长短期记忆网络)编码,再将该编码通过一个前馈神经网络进行预测,以得到该音素的分布离散参数。
[0085]
基于上述实施例,图4是本发明提供的确定任一音素在对应预测时长中各时刻的权重方法的流程示意图。如图4所示,步骤230中,任一音素在对应预测时长中各时刻的权重基于如下步骤确定:
[0086]
步骤410,基于任一音素在对应预测时长中的分布情况,确定该音素在对应预测时长中任一时刻的分布值;
[0087]
步骤420,基于该时刻的分布值,以及该音素在对应预测时长中各时刻的分布值总和,确定任一时刻的权重。
[0088]
具体地,根据任一音素的分布情况,获取该音素在其对应的预测时长的任一时刻的分布值,并根据该音素在其对应预测时长的各时刻的分布值的总和,将该音素的某一时刻的分部值除以该音素在各时刻的分部值的总和,得到任一音素在该时刻的权重。
[0089]
任一音素在对应预测时长中任一时刻的权重的计算公式如下:
[0090][0091]
式中,t表示当前时刻,i表示音素序列中第i个音素,j表示音素序列中第j个音素,n为音素序列中音素的个数,为第i个音素在t时刻的分布值,c
i
为第i个音素的分布中心位置,为第i个音素的分布方差,为第j个音素在t时刻的分布值,c
i
为第j个音素的分布中心位置,为第j个音素的分布方差j的取值范围为1到n。
[0092]
基于上述实施例,图5是本发明提供一种语音合成模型的训练方法之二。如图5所示,本发明实施例提供一种语音合成模型的训练方法,包括:
[0093]
步骤510,初始合成模型中,编码模块对样本文本的语言学信息进行编码建模。此处,输入的语言学信息可以是音素id序列,也可以是通过前端分析得到的包含上下文标记的特征序列,编码模块可以通过一个多层多头自注意力(multi

head self attention)网络对语言学信息进行非线性编码,从而得到样本文本的音素序列中各音素的特征。
[0094]
步骤520,初始合成模型中,时长预测模块可以根据编码模块的输出,预测出每个音素所对应的时长。该模块首先通过一个三层双向lstm网络对编码模块的输出进行二次编
码,使得编码后的隐层矢量包含更多的有关时长的信息,然后再通过一个前馈神经网络预测每一个音素的时长。需要注意的是,该模块并不存在一个目标时长,因此也不会通过一个时长的误差来驱动更新该模块。为了解决误差累积的问题,时长预测模块的预测时长直接输入到后续的上采样模块和解码模块,用最终的声学特征的误差来驱动更新时长预测模块。
[0095]
步骤530,初始合成模型中,上采样模块根据时长预测模块的输出,将编码模块的输出上采样到声学特征的尺度,使每一帧声学特征都能获取其对应的语言学信息。
[0096]
大部分非自回归语音合成模型的上采样模块很简单,根据每个音素的目标时长,对编码模块输出直接进行复制。例如,编码模块输出序列为[h1,h2,h3],目标时长为[1,2,2],上采样后的输出则为[h1,h2,h2,h3,h3]。这种直接复制的方式虽然简单,但是由于在一个音素内部的语言学信息是相同的,音素边界会有一个不连续的突变,会导致在音素边界的合成效果并不理想。而之前提到的注意力机制则可以看作一种软的上采样方式,上采样后的序列的每一帧都是编码模块输出的一种加权和,因此相邻帧之间是相对连续的,音素边界的合成效果更好。
[0097]
本发明实施例采用高斯上采样的方式,该方式对每个音素定义了一个单高斯分布。对于第i个音素,其对应的高斯分布的均值c
i
为其中心位置,其计算公式为:
[0098][0099]
其中,d
i
为第i个音素的预测时长,t
j
为第j个音素的标签时长。
[0100]
高斯分布的方差则是通过一个方差预测模块得到的,该方差预测模块的输入为时长和编码模块输出,将两者拼接后过双向lstm编码,再过一个前馈神经网络去预测方差。值得注意的是,高斯上采样方式是一种类似注意力机制的柔性上采样方式,因此第t个时刻上采样所得的特征u
t
是编码模块输出h
i
的加权和,其计算公式如下:
[0101][0102]
其中,ω
ti
是在第t时刻、编码模块第i个音素输出的权重,该权重是根据当前时刻在每个单高斯分布的值进行计算得到的,计算公式如下:
[0103][0104]
其中,t表示当前时刻,i表示音素序列中第i个音素,j表示音素序列中第j个音素,n为音素序列中音素的个数,为第i个音素在t时刻的分布值,c
i
为第i个音素的分布中心位置,为第i个音素的分布方差,为第j个音素在t时刻的分布值,c
i
为第j个音素的分布中心位置,为第j个音素的分布方差,j的取值范围为1到n。
[0105]
高斯上采样使得音素边界的语言学信息相对连续,同时可以根据声学特征所对应的时间得到其对应的编码模块输出的加权权重,进而得到其对应的语言学信息。但由于时
长模型的预测并不完全准确,并且存在着一个是时长误差累计的问题,所以每个音素的中心位置并不准确,尤其是对于句末的音素,其误差会尤其大,而误差太大时有可能会导致模型直接跑偏。为了防止出现这一问题,我们引入从切分模型中提取的时长,在求取一个音素中心位置时,将当前音素的历史音素时长都换成提取的时长。使用提取的时长可以保证每个高斯分布的中心位置大致准确,避免了时长误差累积的问题,使模型不容易跑偏,可以正常稳定的训练。
[0106]
步骤540,解码模块建立帧级的语音学特征序列(即上采样模块的输出)和声学特征的转换关系。模型通过一个三层lstm对语言学特征进行再编码,然后过一个前馈神经网络预测声学特征,用声学特征的最小均方误差(mean square error,mse)准则来训练模型。
[0107]
图6为与图5对应的框架图,即图6是本发明提供的一种语音合成模型的训练方法的框架图。如图6所示,input embedding表示输入编码,即将输入的样本文本text编码成为文本向量。positional encoding表示位置编码,用于表示文本中的每个字在文本中的位置。结合文本向量和位置编码,即可得到样本文本的音素序列。
[0108]
multi

head attention和add&norm以及ffn和add&norm构成初始合成模型中的编码模块,add&norm表示归一化的残差连接网络,其中add表示残差连接(residual connection)用于防止网络退化,norm表示layernormalization,用于对每一层的激活值进行归一化。fnn为feed

forward neural network前馈神经网络。gaussian upsampler为高斯上采样。通过编码模块,可以得到音素序列中每个音素的特征。
[0109]
duration predictor即时长预测模块。phone duration为音素的标签时长。时间预测模块基于每个音素的特征预测所得的预测时长,与预先标注的每个音素的标签时长,可以一并输入到高斯上采样模块gaussian upsampler中。
[0110]
gaussian upsampler可以根据任一音素的预测时长,以及该音素之前各音素的标签时长,确定该音素的分布中心位置,并据此构建该音素的高斯分布,从而确定该音素在对应时长内各时刻的权重值,据此进行上采样。
[0111]
3lstm为三层双向lstm网络。projection为用于预测声学特征的前馈神经网络。filterbank为滤波器。此三者构成解码模块,用于对上采样后的特征进行解码,从而实现语音合成。
[0112]
本发明提供的语音合成模型训练方法,通过使用初始合成模型中的时长预测模块对预测文本中各音素在合成语音中的时长进行预测,并根据样本文本的样本语音和初始合成模型输出的合成语音之间的差距,对时长预测模块的参数进行迭代更新,避免了时长预测模型训练时的时长误差累积,提高了语音合成模型在实际应用中的性能和准确率。
[0113]
图7是本发明提供的语音合成方法的流程示意图。如图7所示,本发明实施例提供的一种语音合成方法,包括:
[0114]
步骤710,确定待合成的文本;
[0115]
步骤720,基于语音合成模型,确定该文本的合成语音,语音合成模型是基于上述任一实施例提供的语音合成模型的训练方法训练得到的。
[0116]
具体地,根据上述任一实施例提供的语音合成模型的训练方法训练得到的语音合成模型,完成待合成的文本的语音合成。需要说明的是,待合成的文本可以是单一语种的文本或者多语种混合文本,还可以包括阿拉伯数字等,本发明实施例对此不作限制。
[0117]
本发明提供的语音合成方法,通过使用上述任一实施例提供的语音合成模型的训练方法训练得到的语音合成模型,完成文本的语音合成,在提升了合成效率以及合成语音自然度的同时,避免了时长误差积累,进而提供了合成效率和准确度。
[0118]
下面对本发明提供的语音合成模型的训练装置进行描述,下文描述的语音合成模型的训练装置与上文描述的语音合成模型的训练方法可相互对应参照。
[0119]
图8是本发明提供的语音合成模型的训练装置的结构示意图。如图8所示,该装置包括:确定模块810,训练模块820。
[0120]
其中,
[0121]
确定模块810,用于确定初始合成模型,初始合成模型包括时长预测模块,时长预测模块用于预测文本中各音素在合成语音中的时长;
[0122]
训练模块820,用于基于初始合成模型,确定样本文本的合成语音,基于样本文本的样本语音和合成语音之间的差距,对时长预测模块的参数进行迭代更新,得到训练完成的语音合成模型。
[0123]
在本发明实施例中,通过确定模块810,用于确定初始合成模型,初始合成模型包括时长预测模块,时长预测模块用于预测文本中各音素在合成语音中的时长;训练模块820,用于基于初始合成模型,确定样本文本的合成语音,基于样本文本的样本语音和合成语音之间的差距,对时长预测模块的参数进行迭代更新,得到训练完成的语音合成模型,实现了使用初始合成模型中的时长预测模块对预测文本中各音素在合成语音中的时长进行预测,并根据样本文本的样本语音和初始合成模型输出的合成语音之间的差距,对时长预测模块的参数进行迭代更新,避免了时长预测模型训练时的时长误差累积,提高了语音合成模型在实际应用中的性能和准确率。
[0124]
基于上述任一实施例,训练模块820,包括:
[0125]
编码子模块,用于基于初始合成模型中的编码模块,对样本文本进行语言学特征编码,得到样本文本的音素序列中各音素的特征;
[0126]
时长预测子模块,用于基于时长预测模块和各音素的特征,对各音素在合成语音中的时长进行预测,得到各音素的预测时长;
[0127]
上采样子模块,用于基于初始合成模型中的上采样模块,将各音素的特征上采样,得到各音素的上采样特征,上采样特征的长度基于预测时长确定;
[0128]
解码子模块,用于基于初始合成模型中的解码模块,对各音素的上采样特征进行声学解码,得到合成语音。
[0129]
基于上述任一实施例,上采样子模块,包括:
[0130]
权重计算子模块,用于基于初始合成模型中的上采样模块,以及任一音素在对应预测时长中各时刻的权重,对任一音素的特征上采样,得到任一音素的上采样特征;
[0131]
任一音素在对应预测时长中各时刻的权重基于该音素在对应预测时长中的分布情况确定。
[0132]
基于上述任一实施例,权重计算子模块,包括:
[0133]
分布中心确定子模块,用于基于任一音素的预测时长,以及音素序列中任一音素之前的各音素的标签时长,确定任一音素的分布中心位置;
[0134]
分布情况确定子模块,用于基于任一音素的预测时长以及该音素的分布中心位
置,确定该音素的分布情况。
[0135]
基于上述任一实施例,分布情况确定子模块,具体用于基于任一音素的预测时长、该音素的分布中心位置,以及该音素的分布离散参数,确定该音素的分布情况;
[0136]
分布离散参数基于任一音素的特征和预测时长确定。
[0137]
基于上述任一实施例,权重计算子模块,包括:
[0138]
分部值计算子模块,用于基于任一音素在对应预测时长中的分布情况,确定该音素在对应预测时长中任一时刻的分布值;
[0139]
权重值计算子模块,用于基于任一时刻的分布值,以及该音素在对应预测时长中各时刻的分布值总和,确定该时刻的权重。
[0140]
图9是本发明提供的语音合成装置的结构示意图。如图9所示,该装置包括:确定模块910,合成模块920。
[0141]
其中,
[0142]
确定模块910,用于确定待合成的文本;
[0143]
合成模块920,用于基于语音合成模型,确定文本的合成语音,语音合成模型是基于上述实施例中提供的任一项语音合成模型的训练方法训练得到的。
[0144]
在本发明实施例中,通过确定模块910,用于确定待合成的文本;合成模块920,用于基于语音合成模型,确定文本的合成语音,语音合成模型是基于上述实施例中提供的任一项语音合成模型的训练方法训练得到的,实现了使用上述任一实施例提供的语音合成模型的训练方法训练得到的语音合成模型,完成文本的语音合成,在提升了合成效率以及合成语音自然度的同时,避免了时长误差积累,进而提供了合成效率和准确度。
[0145]
图10示例了一种电子设备的实体结构示意图。如图10所示,该电子设备可以包括:处理器(processor)1010、通信接口(communications interface)1020、存储器(memory)1030和通信总线1040,其中,处理器1010,通信接口1020,存储器1030通过通信总线1040完成相互间的通信。处理器1010可以调用存储器1030中的逻辑指令,以执行语音合成模型的训练方法或者语音合成方法,其中,语音合成模型的训练方法包括:确定初始合成模型,初始合成模型包括时长预测模块,时长预测模块用于预测文本中各音素在合成语音中的时长;基于初始合成模型,确定样本文本的合成语音,基于样本文本的样本语音和合成语音之间的差距,对时长预测模块的参数进行迭代更新,得到训练完成的语音合成模型。语音合成方法包括:确定待合成的文本;基于语音合成模型,确定文本的合成语音,语音合成模型是基于上述实施例中任一项所述语音合成模型的训练方法训练得到的。
[0146]
此外,上述的存储器1030中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0147]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机
程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的语音合成模型的训练方法或者语音合成方法,其中,语音合成模型的训练方法包括:确定初始合成模型,初始合成模型包括时长预测模块,时长预测模块用于预测文本中各音素在合成语音中的时长;基于初始合成模型,确定样本文本的合成语音,基于样本文本的样本语音和合成语音之间的差距,对时长预测模块的参数进行迭代更新,得到训练完成的语音合成模型。语音合成方法包括:确定待合成的文本;基于语音合成模型,确定文本的合成语音,语音合成模型是基于上述实施例中任一项所述语音合成模型的训练方法训练得到的。
[0148]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的语音合成模型的训练方法或者语音合成方法,其中,语音合成模型的训练方法包括:确定初始合成模型,初始合成模型包括时长预测模块,时长预测模块用于预测文本中各音素在合成语音中的时长;基于初始合成模型,确定样本文本的合成语音,基于样本文本的样本语音和合成语音之间的差距,对时长预测模块的参数进行迭代更新,得到训练完成的语音合成模型。语音合成方法包括:确定待合成的文本;基于语音合成模型,确定文本的合成语音,语音合成模型是基于上述实施例中任一项所述语音合成模型的训练方法训练得到的。
[0149]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0150]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0151]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。