语音合成模型的训练及语音合成方法、装置、设备和介质与流程



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


背景技术:



2.语音合成技术是一种文本转语音的技术(text to speech,简称tts)。现有技术采用一种基于x-vector的声纹识别模块用于说话人向量嵌入,该说话人向量输入到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.图1为本技术一实施例中语音合成模型的训练方法的流程示意图;
30.图2为本技术一实施例中语音合成模型的训练装置的结构框图;
31.图3为本技术一实施例中计算机设备的内部结构框图。
32.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
33.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
34.图1为本技术一实施例中语音合成模型的训练方法的流程示意图。参考图1,该语音合成模型的训练方法包括以下步骤s100-s600。
35.s100:获取数据集,数据集包括多个文本语音对,每个文本语音对包括样本语音及对应的样本文本。
36.具体地,数据集中每个文本语音对的样本文本为对应样本语音中的说话内容。
37.数据集可以全部为目标用户语音构建的用户数据集。数据集还可以包括第一数据集和第二数据集。其中,第一数据集为开源数据集,是现有技术中已有的数据集。第二数据集为目标用户语音构建的用户数据集。第一数据集所包含的样本数量远大于第二数据集所包含的样本数量。由于第二种方案使用开源数据集,因此可以节省训练样本的构建成本。
38.s200:利用数据集对待训练语音合成模型进行训练,获取每个目标训练节点待训练合成模型预测的合成语音。
39.具体地,获取数据集中任意一个文本语音对中的样本文本及对应的样本语音。通过单调对齐搜索获取样本文本及对应样本语音之间的对齐关系。根据对齐关系获取样本文本所包含的音素的第一时长信息。
40.通过文本编码器或图编码器对样本文本进行编码得到对应的隐藏表示。将隐藏表示作为随机时长预测器的输入,利用随机时长预测器对样本文本所包含的音素的时长进行预测,得到音素的第二时长信息。
41.根据第一时长信息和第二时长信息之间的差异计算第一损失函数,根据第一损失函数对随机时长预测器的模型参数进行迭代更新。
42.利用后验编码器对样本语音对应的第一线性频谱进行编码,得到后验隐变量。
43.通过解码器对后验隐变量进行解码,得到合成语音对应的合成波形。
44.获取模型的第二损失函数,根据第二损失函数对解码器及后验编码器等模块的模型参数进行迭代更新。第二损失函数包括重构损失函数。获取样本语音对应的第一mel谱图,将合成语音的合成波形转换为第二mel谱图,根据第一mel谱图和第二mel谱图的差异计算得到重构损失函数。
45.任意选取下一个文本语音对执行上述步骤对随机时长预测器、解码器、后验编码器的模型参数不断优化,直至达到收敛条件。
46.在模型训练过程中每一次迭代训练即为一个训练节点。每次迭代训练解码器都会生成合成语音对应的合成波形。
47.s300:计算每个目标训练节点对应的样本语音与合成语音之间的重构损失和特征差距。
48.具体地,重构损失是根据第一mel谱图和第二mel谱图的差异计算得到的。特征差距是指样本语音与对应的合成语音之间的特征差距。特征差距具体为语音特征差距,例如可以为mfcc特征之间的差距,即mcd(mel cepstral distortion)。
49.s400:判断每个目标训练节点对应的合成语音是否存在高频噪声。
50.具体地,高于采样率一半的音频即视为高频噪声,例如采样率为22k,那么大于11k
的频段即视为噪声。合成语音是否包含高频噪声可以通过现有技术来检测。
51.s500:根据重构损失和特征差距对目标合成语音的合成效果进行排序,其中,目标合成语音为不存在高频噪声的合成语音或存在的高频噪声在预设范围内的合成语音。
52.具体地,目标合成语音是所有合成语音中不存在高频噪声,或存在的高频噪声的比重在预设范围内的合成语音。如果合成语音中所包含的高频噪声的时长占合成语音总时长的比重超过预设范围,则判定为非目标合成语音。
53.重构损失和特征差距以及是否包含高频噪声是用来评价每次训练节点生成的合成语音的合成效果的多个维度。理论上,存在的高频噪声越少、重构损失越小以及特征差距越小,则合成效果越好。
54.对于目标合成语音,重构损失和特征差距越小,则合成效果越好。排序可以是根据合成效果进行升序排序也可以是降序排序。
55.s600:根据排序结果及附加筛选规则确定合成效果最优的目标合成语音对应的语音合成模型为已训练的语音合成模型。
56.具体地,附加筛选规则可以是听测人员对目标合成语音的合成效果的人为评价。根据排序结果和附加筛选规则综合筛选出最优的目标合成语音,将最优的目标合成语音对应的语音合成模型作为最终已训练的语音合成模型。
57.当然也可以直接根据排序结果从目标合成语音中选出合成效果最好的一个目标合成语音对应的语音合成模型作为最终已训练的语音合成模型。
58.本技术实现了通过每个训练节点的模型的重构损失、特征差距以及合成语音是否存在高频噪声多个维度来综合筛选出最优语音合成模型。
59.在一个实施例中,步骤s600具体包括:
60.根据排序结果选取合成效果排序不超过预设名次的目标合成语音作为候选语音;
61.获取听测人员对候选语音的合成效果的听测评估结果;
62.根据听测评估结果选取合成效果最优的候选语音对应的语音合成模型作为已训练的语音合成模型。
63.具体地,按照合成效果对目标合成语音进行降序排序。选取出不超过预设名次的目标合成语音作为候选语音。例如不超过前5名的目标合成语音,即选取在降序排序中前5名的目标合成语音作为候选语音。
64.将选取出的候选语音发送给听测人员来进行听测评价,接收听测人员对候选语音的听测评估结果。选取听测评估结果最优的候选语音对应的语音合成模型作为最终已训练的语音合成模型。
65.最终得到的已训练的语音合成模型不一定是最终模型收敛时的语音合成模型,可能是在某个训练节点调节模型参数得到的一个中间语音合成模型,虽然该中间语音合成模型没有达到收敛条件,但是其合成效果是经过多个维度综合评选出来的,因此,将其作为最终已训练的语音合成模型。
66.在一个实施例中,数据集包括第一数据和第二数据集;
67.步骤s200具体包括:
68.获取第一数据集,其中,第一数据集包括第一数量的第一文本语音对,每个第一文本语音对包括第一样本语音及对应的第一样本文本,
69.利用第一数据集对待训练语音合成模型进行第一迭代训练,直至达到第一收敛条件,得到基础语音合成模型,
70.获取由目标用户语音生成的第二数据集,其中,第二数据集包括第二数量的第二文本语音对,每个第二文本语音对包括第二样本语音及对应的第二样本,第一数量大于第二数量,
71.利用第二数据集对基础语音合成模型进行第二迭代训练,直到达到第二收敛条件,获取第二迭代训练过程中每个目标训练节点基础合成模型预测的合成语音。
72.具体地,第一数据集为开源数据集,是现有技术中已有的数据集。更具体地,第一数据集为开源数据集中目标语种、目标性别的标准化语料。第一数据集包括至少10小时在安静环境下录制的语音数据。
73.第二数据集为目标用户语音构建的用户数据集。更具体地,给定录制文本,采集目标说话人(目标用户)的语料数据若干条,例如至少30条、40条等,具体数量本技术不做限制。
74.第一数据集所包含的样本数量远大于第二数据集所包含的样本数量。由于第二种方案使用开源数据集,因此可以节省训练样本的构建成本。
75.在第一训练阶段:
76.获取第一数据集中任意一个第一文本语音对中的第一样本文本及对应的第一样本语音。通过单调对齐搜索获取第一样本文本及对应第一样本语音之间的对齐关系。根据对齐关系获取第一样本文本所包含的音素的第一时长信息。
77.通过待训练语音合成模型中的文本编码器或图编码器对第一样本文本进行编码得到对应的隐藏表示。将隐藏表示作为待训练语音合成模型中的随机时长预测器的输入,利用待训练语音合成模型中的随机时长预测器对第一样本文本所包含的音素的时长进行预测,得到音素的第二时长信息。
78.根据第一时长信息和第二时长信息之间的差异计算第一损失函数,根据第一损失函数对待训练语音合成模型中的随机时长预测器的模型参数进行迭代更新。
79.利用待训练语音合成模型中的后验编码器对第一样本语音对应的第一线性频谱进行编码,得到后验隐变量。
80.通过待训练语音合成模型中的解码器对后验隐变量进行解码,得到第一合成语音对应的合成波形。
81.获取模型的第二损失函数,根据第二损失函数对解码器及后验编码器等模块的模型参数进行迭代更新。第二损失函数包括重构损失函数。获取第一样本语音对应的第一mel谱图,将第一合成语音的合成波形转换为第二mel谱图,根据第一mel谱图和第二mel谱图的差异计算得到重构损失函数。
82.任意选取下一个第一文本语音对执行上述步骤对待训练语音合成模型中的随机时长预测器、解码器、后验编码器的模型参数不断优化,直至达到第一收敛条件,得到基础语音合成模型。
83.在第二训练阶段:
84.获取第二数据集中任意一个第二文本语音对中的第二样本文本及对应的第二样本语音。通过单调对齐搜索获取第二样本文本及对应第二样本语音之间的对齐关系。根据
对齐关系获取第二样本文本所包含的音素的第一时长信息。
85.通过基础语音合成模型中的文本编码器或图编码器对第二样本文本进行编码得到对应的隐藏表示。将隐藏表示作为基础语音合成模型中的随机时长预测器的输入,利用基础语音合成模型中的随机时长预测器对第二样本文本所包含的音素的时长进行预测,得到音素的第二时长信息。
86.根据第一时长信息和第二时长信息之间的差异计算第一损失函数,根据第一损失函数对基础语音合成模型中的随机时长预测器的模型参数进行迭代更新。
87.利用基础语音合成模型中的后验编码器对第二样本语音对应的第一线性频谱进行编码,得到后验隐变量。
88.通过基础语音合成模型中的解码器对后验隐变量进行解码,得到第二合成语音对应的合成波形。
89.获取模型的第二损失函数,根据第二损失函数对解码器及后验编码器等模块的模型参数进行迭代更新。第二损失函数包括重构损失函数。获取第二样本语音对应的第一mel谱图,将第二合成语音的合成波形转换为第二mel谱图,根据第一mel谱图和第二mel谱图的差异计算得到重构损失函数。
90.任意选取下一个第二文本语音对执行上述步骤对基础语音合成模型中的随机时长预测器、解码器、后验编码器的模型参数不断优化,直至达到第二收敛条件。
91.获取在第二训练阶段模型训练过程中每次迭代训练基础语音合成模型中的解码器生成的合成语音对应的合成波形。即,目标训练节点为第二训练节点的训练节点。
92.其中,模型的损失函数最大对数似然函数如下公式(1)所示:
[0093][0094]
其中,m为样本点数量,pg为根据基础生成模型来生成样本点的概率,为高斯的对数似然函数,|wk|为变量变换定理得到的对数似然函数,#layers为层数,det为行列式,wk为模型参数。
[0095]
本实施例在基础语音生成模型的基础上,采集目标说话人较少语料,即可快速克隆目标说话人的声音,实现了较好的迁移学习,使得模型快速收敛,实现了小数据量的语音合成系统。提供目标说话人的任意文本的tts服务;且模型训练时长短,以达到对新说话人快速部署上线的目的;且可以复用到任意说话人,即可实现多说话人的音快速克隆和复制。
[0096]
另外,在迁移学习过程中,模型的迁移情况一般与模型的损失函数并非直接相关,因此本技术能够通过重构损失、mcd以及是否产生高频噪声等多个维度来综合评价训练过程中得到的语音合成模型,以实现最优模型的智能选择。
[0097]
另外,使用不同目标用户语音生成的第二数据集对基础语音合成模型进行训练,可以生成用于合成不能目标用户语音的最终语音合成模型。实现了任意目标说话人的语音
合成模型的训练。
[0098]
在一个实施例中,步骤s200具体包括:
[0099]
获取样本文本的图嵌入向量;
[0100]
利用待训练语音合成模型所包含的图编码器对图嵌入向量进行编码,得到隐藏表示;
[0101]
将隐藏表示作为投影层的输入,利用投影层构造先验分布的均值和方差;
[0102]
获取样本文本对应的样本语音的第一线性频谱;
[0103]
通过待训练语音合成模型所包含的后验编码器对第一线性频谱进行编码,得到后验隐变量;
[0104]
利用待训练语音合成模型所包含的解码器对后验隐变量进行解码,得到合成语音对应的合成波形;
[0105]
利用标准化流对后验隐变量进行参数化,得到参数化的隐变量;
[0106]
利用单调对齐搜索对参数化的隐变量与先验分布的均值和方差之间进行对齐估计,得到样本文本与对应的样本语音之间的对齐关系;
[0107]
根据对齐关系获取样本文本对应音素的第一时长信息;
[0108]
将隐藏表示作为待训练语音合成模型所包含的随机时长预测器的输入,利用随机时长预测器对样本文本对应音素的时长进行预测,得到音素的第二时长信息;
[0109]
根据第一时长信息与第二时长信息计算第一损失函数,根据第一损失函数迭代更新随机时长预测器的模型参数,直至达到收敛条件。
[0110]
具体地,投影层为线性投影层,用于利用隐藏表示构建先验分布的均值和方差。更具体地,投影层包含仿射函数,利用仿射函数对隐藏表示进行投影,得到样本文本对应的先验分布的均值和方差。
[0111]
使用后验隐变量中的部分序列作为待训练语音合成模型所包含的解码器的输入,利用解码器对后验隐变量的部分序列进行解码,得到合成语音对应波形域的合成波形。合成波形即合成语音。
[0112]
对齐关系即对齐矩阵,表征文本和声谱的对齐。标准化流即normalizing flow,通过标准化流可以增加编码器的表达能力。通过单调对齐搜索算法(mas)(一种对齐搜索算法),获得文本编码后预测的先验分布的均值和方差与后验隐变量通过flow(流)后的正态分布的最优对齐矩阵。根据对齐关系可以获取样本文本所包含音素的时长标签,时长标签即音素的第一时长信息。
[0113]
本实施例还训练随机时长预测器,使得随机时长预测器对文本所包含的音素时长进行预测,以用来匹配从对齐关系计算出的时长标签。随机时长预测器的音素时长预测能力是根据单调对齐搜索得到的对齐关系来校正训练的。
[0114]
另外,根据第一mel谱图和第二mel谱图可以计算得到重构损失函数,根据重构损失函数得到梯度,根据梯度可以对模型的其他模块的模型参数进行迭代更新。
[0115]
另外,本实施例使用线性频谱作为后验编码器的输入,相对梅尔频谱(mel谱图)来说为线性频谱为高分辨率的信息,高分辨率的信息能够提升语音合成模型的表现。
[0116]
在一个实施例中,该方法还包括:获取所述样本文本对应的样本语音的第一mel谱图,获取所述合成波形对应的第二mel谱图;
[0117]
步骤s300具体包括:
[0118]
根据样本语音的第一mel谱图与对应的合成语音的第二mel谱图计算重构损失,
[0119]
获取样本语音的第一mfcc特征序列,以及根据对应的合成语音的合成波形获取合成语音的第二mfcc特征序列,
[0120]
对第一mfcc特征序列与第二mfcc特征序列进行对齐,得到样本语音与对应合成语音之间的特征差距。
[0121]
具体地,语音转换的客观评测标准是mcd(mel cepstral distortion),它表示的是转换后语音的mfcc特征与原始语音的mfcc特征的差距。测量mcd,需要把转换后语音和原始语音的mfcc特征序列进行对齐得到。
[0122]
本实施例的重构损失函数具体如公式(2)所示:
[0123][0124]
其中,表示预测的mel频谱即第二mel谱图,m表示为真实mel频谱即第一mel谱图,||表示l1正则损失,||||表示l2正则损失。
[0125]
在一个实施例中,图嵌入向量包括多个结点;
[0126]
利用待训练语音合成模型所包含的图编码器对图嵌入向量进行编码,得到隐藏表示包括:
[0127]
对每个结点进行消息计算,得到每个结点对应的消息计算信息,
[0128]
对每个结点对应的所有邻居结点的消息计算信息进行消息聚合,得到对应结点的结点聚合信息,将结点聚合信息作为隐藏表示。
[0129]
具体地,图编码器使用文本图嵌入作为输入,由gat、gcn或ggnn这一类gnn网络构成,图编码器的编码过程分为消息计算、消息聚合两个步骤。以本提案所采用的gcn模型为例:
[0130]
(1)消息计算
[0131]
对每一个结点进行消息计算,得到每个结点的消息计算信息如公式(3)所示:
[0132][0133]
(2)消息聚合
[0134]
将每个结点对应的所有邻居节点的消息计算信息相加,再应用非线性激活函数,得到该结点的结点聚合信息如公式(4)所示:
[0135][0136]
gcn模型的数学表达形式如公式(5)所示:
[0137][0138]
其中,为当前结点的结点聚合信息,σ为sigmoid激活函数,u为邻居结点,n(v)为当前结点的邻居结点的集合,w
(l)
为模型学习的gcn模型参数,为当前结点的前一结点的结点聚合信息,当前结点的消息计算信息。
[0139]
本技术还提供了一种语音合成方法,该方法包括:
[0140]
获取待合成文本的图嵌入向量作为目标图嵌入向量;
[0141]
利用根据前面任一项语音合成模型的训练方法得到的已训练的语音合成模型所包含的图编码器对目标图嵌入向量进行编码,得到目标隐藏表示;
[0142]
将所目标隐藏表示输入至已训练的语音合成模型所包含的随机时长预测器进行音素时长预测,得到目标音素的目标预测时长;
[0143]
通过已训练的语音合成模型所包含的投影层将目标隐藏表示转换为目标先验分布的均值和方差;
[0144]
结合目标预测时长从目标先验分布的均值和方差中采样目标隐变量;
[0145]
通过已训练的语音合成模型所包含的基于流的解码器对目标隐变量进行编码并行合成目标合成波形,以得到目标合成语音。
[0146]
具体地,在推理过程中,图编码器和随机时长预测器对先验分布和对齐的统计信息进行预测。然后,从先验分布中采样潜变量,通过基于流的解码器对潜变量进行变换,并行生成合成语音对应的目标合成波形,根据目标合成波形即得到目标合成语音。本实施例可构建目标说话人的tts系统,对于任意指定文本,可以完成目标说话人的tts语音合成。
[0147]
本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
[0148]
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
[0149]
图3为本技术一实施例中语音合成模型的训练装置的结构框图。参考图3,该装置包括:
[0150]
数据获取模块100,用于获取数据集,数据集包括多个文本语音对,每个文本语音对包括样本语音及对应的样本文本;
[0151]
训练模块200,用于利用数据集对待训练语音合成模型进行训练,获取每个目标训练节点待训练合成模型预测的合成语音;
[0152]
计算模块300,用于计算每个目标训练节点对应的样本语音与合成语音之间的重构损失和特征差距;
[0153]
噪声判断模块400,用于判断每个目标训练节点对应的合成语音是否存在高频噪声;
[0154]
排序模块500,用于根据重构损失和特征差距对不存在高频噪声的合成语音的合成效果进行排序;
[0155]
选择模块600,用于根据排序结果及附加筛选规则确定合成效果最优的目标合成语音对应的语音合成模型为已训练的语音合成模型。
[0156]
在一个实施例中,选择模块600具体包括:
[0157]
第一筛选模块,用于根据排序结果选取合成效果排序不超过预设名次的目标合成
语音作为候选语音;
[0158]
听测评估模块,用于获取听测人员对候选语音的合成效果的听测评估结果;
[0159]
第二筛选模块,用于根据听测评估结果选取合成效果最优的候选语音对应的语音合成模型作为已训练的语音合成模型。
[0160]
在一个实施例中,数据集包括第一数据和第二数据集;
[0161]
训练模块200具体包括:
[0162]
第一数据获取模块,用于获取第一数据集,其中,第一数据集包括第一数量的第一文本语音对,每个第一文本语音对包括第一样本语音及对应的第一样本文本,
[0163]
第一训练模块,用于利用第一数据集对待训练语音合成模型进行第一迭代训练,直至达到第一收敛条件,得到基础语音合成模型,
[0164]
第二数据获取模块,用于获取由目标用户语音生成的第二数据集,其中,第二数据集包括第二数量的第二文本语音对,每个第二文本语音对包括第二样本语音及对应的第二样本,第一数量大于第二数量,
[0165]
第二训练模块,用于利用第二数据集对基础语音合成模型进行第二迭代训练,直到达到第二收敛条件,获取第二迭代训练过程中每个目标训练节点基础合成模型预测的合成语音。
[0166]
在一个实施例中,训练模块200具体包括:
[0167]
第一转换模块,用于获取样本文本的图嵌入向量;
[0168]
第一编码模块,用于利用待训练语音合成模型所包含的图编码器对图嵌入向量进行编码,得到隐藏表示;
[0169]
第一投影模块,用于将隐藏表示作为投影层的输入,利用投影层构造先验分布的均值和方差;
[0170]
第二转换模块,用于获取样本文本对应的样本语音的第一线性频谱;
[0171]
第二编码模块,用于通过待训练语音合成模型所包含的后验编码器对第一线性频谱进行编码,得到后验隐变量;
[0172]
解码模块,用于利用待训练语音合成模型所包含的解码器对后验隐变量进行解码,得到合成语音对应的合成波形;
[0173]
第一标准流模块,用于利用标准化流对后验隐变量进行参数化,得到参数化的隐变量;
[0174]
对齐估计模块,用于利用单调对齐搜索对参数化的隐变量与先验分布的均值和方差之间进行对齐估计,得到样本文本与对应的样本语音之间的对齐关系;
[0175]
时长获取模块,用于根据对齐关系获取样本文本对应音素的第一时长信息;
[0176]
第一时长预测模块,用于将隐藏表示作为待训练语音合成模型所包含的随机时长预测器的输入,利用随机时长预测器对样本文本对应音素的时长进行预测,得到音素的第二时长信息;
[0177]
参数更新模块,用于根据第一时长信息与第二时长信息计算第一损失函数,根据第一损失函数迭代更新随机时长预测器的模型参数,直至达到收敛条件。
[0178]
在一个实施例中,该装置还包括:
[0179]
第三转换模块,用于获取样本文本对应的样本语音的第一mel谱图,获取合成波形
对应的第二mel谱图;
[0180]
计算模块300具体包括:
[0181]
重构损失计算模块,用于根据样本语音的第一mel谱图与对应的合成语音的第二mel谱图计算重构损失,
[0182]
特征提取模块,用于获取样本语音的第一mfcc特征序列,以及根据对应的合成语音的合成波形获取合成语音的第二mfcc特征序列,
[0183]
特征差距计算模块,用于对第一mfcc特征序列与第二mfcc特征序列进行对齐,得到样本语音与对应合成语音之间的特征差距。
[0184]
在一个实施例中,图嵌入向量包括多个结点;
[0185]
第一编码模块具体包括:
[0186]
消息计算模块,用于对每个结点进行消息计算,得到每个结点对应的消息计算信息,
[0187]
消息聚合模块,用于对每个结点对应的所有邻居结点的消息计算信息进行消息聚合,得到对应结点的结点聚合信息,将结点聚合信息作为隐藏表示。
[0188]
本技术还提供了一种语音合成装置,该装置包括:
[0189]
第四转换模块,用于获取待合成文本的图嵌入向量作为目标图嵌入向量;
[0190]
第三编码模块,用于利用已训练的语音合成模型所包含的图编码器对目标图嵌入向量进行编码,得到目标隐藏表示;
[0191]
第二时长预测模块,用于将所目标隐藏表示输入至已训练的语音合成模型所包含的随机时长预测器进行音素时长预测,得到目标音素的目标预测时长;
[0192]
第二投影模块,用于通过已训练的语音合成模型所包含的投影层将目标隐藏表示转换为目标先验分布的均值和方差;
[0193]
采样模块,用于结合目标预测时长从目标先验分布的均值和方差中采样目标隐变量;
[0194]
合成模块,用于通过已训练的语音合成模型所包含的基于流的解码器对目标隐变量进行编码并行合成目标合成波形,以得到目标合成语音。
[0195]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0196]
其中上述模块/单元中的“第一”和“第二”的意义仅在于将不同的模块/单元加以区分,并不用于限定哪个模块/单元的优先级更高或者其它的限定意义。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本技术中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式。
[0197]
关于语音合成模型的训练装置的具体限定可以参见上文中对于语音合成模型的训练方法的限定,在此不再赘述。上述语音合成模型的训练装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执
行以上各个模块对应的操作。
[0198]
图3为本技术一实施例中计算机设备的内部结构框图。如图3所示,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,该计算机设备的处理器用于提供计算和控制能力。存储器包括存储介质和内存储器。存储介质可以是非易失性存储介质,也可以是易失性存储介质。存储介质存储有操作系统,还可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器实现语音合成模型的训练方法,或,语音合成方法。该内存储器为存储介质中的操作系统和计算机可读指令的运行提供环境。该内存储器中也可储存有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行语音合成模型的训练方法,或,语音合成方法。该计算机设备的网络接口用于与外部服务器通过网络连接通信。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0199]
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令(例如计算机程序),处理器执行计算机可读指令时实现上述实施例中语音合成模型的训练方法(例如图1所示的步骤s100至步骤s600及该方法的其它扩展和相关步骤的延伸)的步骤,或,语音合成方法的步骤。或者,处理器执行计算机可读指令时实现上述实施例中语音合成模型的训练装置的各模块/单元的功能(例如图2所示模块100至模块600的功能),或,语音合成装置的各模块/单元的功能。为避免重复,这里不再赘述。
[0200]
处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
[0201]
存储器可用于存储计算机可读指令和/或模块,处理器通过运行或执行存储在存储器内的计算机可读指令和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。
[0202]
存储器可以集成在处理器中,也可以与处理器分开设置。
[0203]
本领域技术人员可以理解,图3中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0204]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机可读指令,计算机可读指令被处理器执行时实现上述实施例中语音合成模型的训练方法(例如图1所示的步骤s100至步骤s600及该方法的其它扩展和相关步骤的延伸)的步骤,或,语音合成方法的步骤。或者,计算机可读指令被处理器执行时实现上述实施例中语音合成模型的训练
装置的各模块/单元的功能(例如图2所示模块100至模块600的功能),或语音合成装置的各模块/单元的功能。为避免重复,这里不再赘述。
[0205]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指示相关的硬件来完成,所述的计算机可读指令可存储于一计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双倍速率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0206]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
[0207]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
[0208]
以上仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。

技术特征:


1.一种语音合成模型的训练方法,其特征在于,所述方法包括:获取数据集,所述数据集包括多个文本语音对,每个所述文本语音对包括样本语音及对应的样本文本;利用所述数据集对待训练语音合成模型进行训练,获取每个目标训练节点所述待训练合成模型预测的合成语音;计算每个所述目标训练节点对应的样本语音与合成语音之间的重构损失和特征差距;判断每个所述目标训练节点对应的合成语音是否存在高频噪声;根据所述重构损失和特征差距对目标合成语音的合成效果进行排序,其中,所述目标合成语音为不存在高频噪声的合成语音或存在的高频噪声在预设范围内的合成语音;根据排序结果及附加筛选规则确定合成效果最优的目标合成语音对应的语音合成模型为已训练的语音合成模型。2.根据权利要求1所述的方法,其特征在于,所述根据排序结果及附加筛选规则确定合成效果最优的目标合成语音对应的语音合成模型为已训练的语音合成模型,包括:根据排序结果选取合成效果排序不超过预设名次的目标合成语音作为候选语音;获取听测人员对所述候选语音的合成效果的听测评估结果;根据所述听测评估结果选取合成效果最优的候选语音对应的语音合成模型作为已训练的语音合成模型。3.根据权利要求1所述的方法,其特征在于,所述数据集包括第一数据和第二数据集;所述利用所述数据集对待训练语音合成模型进行训练,获取每个目标训练节点所述待训练合成模型预测的合成语音,包括:获取第一数据集,其中,所述第一数据集包括第一数量的第一文本语音对,每个所述第一文本语音对包括第一样本语音及对应的第一样本文本,利用所述第一数据集对待训练语音合成模型进行第一迭代训练,直至达到第一收敛条件,得到基础语音合成模型,获取由目标用户语音生成的第二数据集,其中,所述第二数据集包括第二数量的第二文本语音对,每个所述第二文本语音对包括第二样本语音及对应的第二样本,所述第一数量大于所述第二数量,利用所述第二数据集对所述基础语音合成模型进行第二迭代训练,直到达到第二收敛条件,获取所述第二迭代训练过程中每个目标训练节点所述基础合成模型预测的合成语音。4.根据权利要求1所述的方法,其特征在于,所述利用所述数据集对待训练语音合成模型进行训练,获取每个目标训练节点所述待训练合成模型预测的合成语音包括:获取所述样本文本的图嵌入向量;利用待训练语音合成模型所包含的图编码器对所述图嵌入向量进行编码,得到隐藏表示;将所述隐藏表示作为投影层的输入,利用所述投影层构造先验分布的均值和方差;获取所述样本文本对应的样本语音的第一线性频谱;通过所述待训练语音合成模型所包含的后验编码器对所述第一线性频谱进行编码,得到后验隐变量;
利用所述待训练语音合成模型所包含的解码器对所述后验隐变量进行解码,得到合成语音对应的合成波形;利用标准化流对所述后验隐变量进行参数化,得到参数化的隐变量;利用单调对齐搜索对所述参数化的隐变量与所述先验分布的均值和方差之间进行对齐估计,得到所述样本文本与对应的样本语音之间的对齐关系;根据所述对齐关系获取所述样本文本对应音素的第一时长信息;将所述隐藏表示作为待训练语音合成模型所包含的随机时长预测器的输入,利用所述随机时长预测器对所述样本文本对应音素的时长进行预测,得到所述音素的第二时长信息;根据第一时长信息与第二时长信息计算第一损失函数,根据第一损失函数迭代更新所述随机时长预测器的模型参数,直至达到收敛条件。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:获取所述样本文本对应的样本语音的第一mel谱图,获取所述合成波形对应的第二mel谱图;所述计算每个所述目标训练节点对应的样本语音与合成语音之间的重构损失和特征差距,包括:根据所述样本语音的第一mel谱图与对应的合成语音的第二mel谱图计算重构损失,获取所述样本语音的第一mfcc特征序列,以及根据对应的合成语音的合成波形获取所述合成语音的第二mfcc特征序列,对所述第一mfcc特征序列与所述第二mfcc特征序列进行对齐,得到所述样本语音与对应合成语音之间的特征差距。6.根据权利要求4所述的方法,其特征在于,所述图嵌入向量包括多个结点;所述利用待训练语音合成模型所包含的图编码器对所述图嵌入向量进行编码,得到隐藏表示包括:对每个所述结点进行消息计算,得到每个所述结点对应的消息计算信息,对每个结点对应的所有邻居结点的消息计算信息进行消息聚合,得到对应结点的结点聚合信息,将所述结点聚合信息作为隐藏表示。7.一种语音合成方法,其特征在于,所述方法包括:获取待合成文本的图嵌入向量作为目标图嵌入向量;利用根据权利要求1-6任一项的语音合成模型的训练方法得到的已训练的语音合成模型所包含的图编码器对所述目标图嵌入向量进行编码,得到目标隐藏表示;将所述目标隐藏表示输入至所述已训练的语音合成模型所包含的随机时长预测器进行音素时长预测,得到目标音素的目标预测时长;通过所述已训练的语音合成模型所包含的投影层将所述目标隐藏表示转换为目标先验分布的均值和方差;结合所述目标预测时长从所述目标先验分布的均值和方差中采样目标隐变量;通过所述已训练的语音合成模型所包含的基于流的解码器对所述目标隐变量进行编码并行合成目标合成波形,以得到目标合成语音。8.一种语音合成模型的训练装置,其特征在于,所述装置包括:
数据获取模块,用于获取数据集,所述数据集包括多个文本语音对,每个所述文本语音对包括样本语音及对应的样本文本;训练模块,用于利用所述数据集对待训练语音合成模型进行训练,获取每个目标训练节点所述待训练合成模型预测的合成语音;计算模块,用于计算每个所述目标训练节点对应的样本语音与合成语音之间的重构损失和特征差距;噪声判断模块,用于判断每个所述目标训练节点对应的合成语音是否存在高频噪声;排序模块,用于根据所述重构损失和特征差距对目标合成语音的合成效果进行排序,其中,所述目标合成语音为不存在高频噪声的合成语音或存在的高频噪声在预设范围内的合成语音;选择模块,用于根据排序结果及附加筛选规则确定合成效果最优的目标合成语音对应的语音合成模型为已训练的语音合成模型。9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时执行如权利要求1-6任一项所述的语音合成模型的训练方法的步骤,或,所述处理器执行所述计算机可读指令时执行如权利要求7所述的语音合成方法的步骤。10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时,使得所述处理器执行如权利要求1-6任一项所述的语音合成模型的训练方法的步骤,或,使得所述处理器执行如权利要求7所述的语音合成方法的步骤。

技术总结


本申请涉及人工智能技术,提出一种语音合成模型的训练及语音合成方法、装置、设备和介质,该方法包括:获取包含多个文本语音对的数据集;利用数据集对待训练语音合成模型进行训练,获取每个目标训练节点待训练合成模型预测的合成语音;计算每个目标训练节点的样本语音与合成语音之间的重构损失和特征差距;判断每个合成语音是否存在高频噪声;根据重构损失和特征差距对目标合成语音的合成效果进行排序;根据排序结果及附加筛选规则确定合成效果最优的合成语音对应的语音合成模型为已训练的语音合成模型。本申请实现了通过训练节点的模型的重构损失、特征差距以及合成语音是否存在高频噪声多个维度来综合筛选出最优语音合成模型。模型。模型。


技术研发人员:

孙奥兰 王健宗 程宁

受保护的技术使用者:

平安科技(深圳)有限公司

技术研发日:

2022.05.13

技术公布日:

2022/7/29

本文发布于:2024-09-24 03:27:25,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/18255.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:语音   模型   语音合成   样本
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议