1.本说明书涉及语音合成技术领域,尤其涉及一种多语言语音合成模型的训练方法及装置。
背景技术:2.近来,伴随着深度学习的发展,语音合成系统的功能效果得到了很大的提升。然而,在多语言语音合成技术中,最好需要利用单人多语言高质量的数据集训练多语言语音合成模型,然而很难获得单人多语言高质量的数据集。
3.那么,如何提供一种基于单语言数据集,训练得到风格口音效果更好的多语言语音模型成为亟待解决的问题。
技术实现要素:4.本说明书一个或多个实施例提供了一种多语言语音合成模型的训练方法及装置,以实现通过多任务训练所得的多语言语音合成模型,合成得到风格口音效果更好的跨语言语音。
5.根据第一方面,提供一种多语言语音合成模型的训练方法,
6.所述多语言语音合成模型包括:编码器、解码器以及风格预测器,所述编码器包括风格编码器以及文本编码器,所述方法包括:
7.获得各样本语言对应的样本音频,针对每一样本音频,执行如下步骤a
‑
j,以训练所述编码器以及所述解码器,其中,所述步骤a
‑
j包括:
8.a:对所述样本音频进行特征提取,得到梅尔谱特征标签;对所述样本音频对应的转录文本进行音素转换,得到样本音素序列;
9.b:将所述梅尔谱特征标签和所述样本音频的说话人标识标签,输入所述风格编码器,得到当前概率分布以及当前风格向量;
10.c:基于所述当前概率分布与标准正态分布,确定第一损失值;
11.d:将所述当前风格向量输入第一分类器,得到第一说话人标识;
12.e:将所述样本音素序列输入所述文本编码器,得到当前内容向量;
13.f:将所述当前内容向量输入第二分类器,得到第二说话人标识;
14.g:基于所述第一说话人标识、所述第二说话人标识和所述说话人标识标签,确定第二损失值;
15.h:将所述说话人标识标签、所述当前风格向量以及所述当前内容向量,输入所述解码器,得到预测梅尔谱特征;
16.i:基于所述梅尔谱特征标签以及所述预测梅尔谱特征,确定第三损失值;
17.j:以最小化所述第一损失值、所述第二损失值和所述第三损失值为目标,训练所述编码器以及所述解码器;
18.将每一样本音频的梅尔谱特征标签和说话人标识标签,输入已训练的所述风格编
码器,得到每一样本音频的风格向量标签;
19.针对每一样本音频,将该样本音频的说话人标识标签及样本音素序列,输入所述风格预测器,得到预测风格向量对应的方差向量和均值向量;利用所述方差向量和均值向量以及该样本音频的风格向量标签,确定似然度;以最大化所述似然度为目标,训练所述风格预测器。
20.在一种可实施方式中,所述对所述样本音频进行特征提取,得到梅尔谱特征标签,包括:
21.对所述样本音频进行预加重,得到对应的加重样本音频;
22.对所述加重样本音频进行分帧,得到对应的子音频;
23.针对每一子音频进行加窗;
24.对每一加窗后的子音频进行快速傅里叶变换,得到每一加窗后的子音频的频谱,并基于每一加窗后的子音频的频谱,确定每一加窗后的子音频的能量谱;
25.利用梅尔滤波器以及每一加窗后的子音频的能量谱,得到每一加窗后的子音频对应的梅尔谱特征,以得到所述样本音频的梅尔谱特征标签。
26.在一种可实施方式中,所述对所述样本音频对应的转录文本进行音素转换,得到样本音素序列,包括:
27.对所述样本音频对应的转录文本进行音素转换,得到初始音素序列;
28.将所述初始音素序列中各音素,与所述样本音频中各音素对应的音对齐,得到样本音素序列。
29.在一种可实施方式中,还包括:
30.对待合成文本进行音素转换,得到待合成音素序列;
31.将所述待合成音素序列输入已训练的所述文本编码器,得到待合成内容向量;
32.将第一目标说话人标识以及所述待合成音素序列,输入已训练的所述风格预测器,获得目标风格向量;
33.将所述待合成内容向量、第二目标说话人标识以及所述目标风格向量,输入已训练的所述解码器,得到目标梅尔谱特征;
34.将所述目标梅尔谱特征输入已训练的声码器,得到目标音频。
35.在一种可实施方式中,所述确定第二损失值,包括:
36.基于所述第一说话人标识和所述说话人标识标签,确定第一子损失值;
37.基于所述第二说话人标识和所述说话人标识标签,确定第二子损失值;
38.基于所述第一子损失值和所述第二子损失值,确定第二损失值。
39.在一种可实施方式中,所述风格编码器包括:第一说话人向量转换层、二维卷积网络层、循环神经网络层以及变分编码器;
40.所述将所述梅尔谱特征标签和所述样本音频的说话人标识标签,输入所述风格编码器,得到当前概率分布以及当前风格向量,包括:
41.将所述说话人标识标签输入所述第一说话人向量转换层,得到第一说话人向量;
42.将所述梅尔谱特征标签,输入所述二维卷积网络层,得到第一卷积特征;
43.将所述第一卷积特征和所述第一说话人向量输入所述循环神经网络层,得到目标状态结果;
44.将所述目标状态结果输入所述变分编码器,得到所述当前概率分布;
45.基于所述当前概率分布采样,得到所述当前风格向量。
46.在一种可实施方式中,所述文本编码器包括:第一音素向量转换层以及第一全局自注意力网络层;
47.所述将所述样本音素序列输入所述文本编码器,得到当前内容向量,包括:
48.将所述样本音素序列输入所述第一音素向量转换层,得到第一音素向量;
49.将所述第一音素向量输入所述第一全局自注意力网络层,得到所述当前内容向量。
50.在一种可实施方式中,所述解码器包括:第二说话人向量转换层、第二全局自注意力网络层以及线性映射层;
51.所述将所述说话人标识标签、所述当前风格向量以及所述当前内容向量,输入所述解码器,得到预测梅尔谱特征,包括:
52.将所述说话人标识标签输入所述第二说话人向量转换层,得到第二说话人向量;
53.将所述第二说话人向量、所述当前风格向量以及所述当前内容向量,输入所述第二全局自注意力网络层,得到中间特征;
54.将所述中间特征输入所述线性映射层,得到所述预测梅尔谱特征。
55.在一种可实施方式中,所述风格预测器包括:第三说话人向量转换层、第二音素序列转换层、一维卷积网络层和高斯混合密度网络层;
56.所述将该样本音频的说话人标识标签及样本音素序列,输入所述风格预测器,得到预测风格向量对应的方差向量和均值向量,包括:
57.将所述说话人标识标签输入所述第三说话人向量转换层,得到第三说话人向量;
58.将所述样本音素序列输入所述第二音素序列转换层,得到第二音素向量;
59.将所述第三说话人向量和所述第二音素向量,输入所述一维卷积网络层,得到第二卷积特征;
60.将所述第二卷积特征输入所述高斯混合密度网络层,得到所述预测风格向量对应的方差向量和均值向量。
61.根据第二方面,提供一种多语言语音合成模型的训练装置,包括:所述多语言语音合成模型包括:编码器、解码器以及风格预测器,所述编码器包括风格编码器以及文本编码器,所述装置包括:
62.获得模块,配置为获得各样本语言对应的样本音频;
63.第一训练模块,配置为针对每一样本音频,通过如下单元对该样本音频进行处理,以训练所述编码器以及所述解码器,其中,所述第一训练模块包括:
64.特征提取转换单元,配置为对所述样本音频进行特征提取,得到梅尔谱特征标签;对所述样本音频对应的转录文本进行音素转换,得到样本音素序列;
65.第一输入单元,配置为将所述梅尔谱特征标签和所述样本音频的说话人标识标签,输入所述风格编码器,得到当前概率分布以及当前风格向量;
66.第一确定单元,配置为基于所述当前概率分布与标准正态分布,确定第一损失值;
67.第二输入单元,配置为将所述当前风格向量输入第一分类器,得到第一说话人标识;
68.第三输入单元,配置为将所述样本音素序列输入所述文本编码器,得到当前内容向量;
69.第四输入单元,配置为将所述当前内容向量输入第二分类器,得到第二说话人标识;
70.第二确定单元,配置为基于所述第一说话人标识、所述第二说话人标识和所述说话人标识标签,确定第二损失值;
71.第五输入单元,配置为将所述说话人标识标签、所述当前风格向量以及所述当前内容向量,输入所述解码器,得到预测梅尔谱特征;
72.第三确定单元,配置为基于所述梅尔谱特征标签以及所述预测梅尔谱特征,确定第三损失值;
73.训练单元,配置为以最小化所述第一损失值、所述第二损失值和所述第三损失值为目标,训练所述编码器以及所述解码器;
74.第一输入模块,配置为将每一样本音频的梅尔谱特征标签和说话人标识标签,输入已训练的所述风格编码器,得到每一样本音频的风格向量标签;
75.第二训练模块,配置为针对每一样本音频,将该样本音频的说话人标识标签及样本音素序列,输入所述风格预测器,得到预测风格向量对应的方差向量和均值向量;利用所述方差向量和均值向量以及该样本音频的风格向量标签,确定似然度;以最大化所述似然度为目标,训练所述风格预测器。
76.根据第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面所述的方法。
77.根据第四方面,提供一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面所述的方法。
78.根据本说明书实施例提供的方法及装置,训练得到可以解耦出各样本语言的音频对应的说话人的音色(通过说话人标识标签表征)、风格以及音频中所表现的文本内容信息的多语言语音合成模型,进而利用该多语言语音合成模型中学习到的各说话人的音色、风格以及文本内容信息,通过所选择的所需转换的音色(第一目标说话人标识)、所需转换的风格(第二目标说话人标识),实现对后续的待合成文本的跨语言语音合成,解决了跨语言合成时风格中口音不标准的问题,合成得到风格口音效果更好的跨语言语音。
附图说明
79.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
80.图1为本说明书披露的一个实施例的实施框架示意图;
81.图2a和2b为实施例提供的多语言语音合成模型的训练方法的一种流程示意图;
82.图3为实施例提供的多语言语音合成模型的训练装置的一种示意性框图;
具体实施方式
83.下面将结合附图,详细描述本说明书实施例的技术方案。
84.本说明书实施例披露一种多语言语音合成模型的训练方法,下面对多语言语音合成模型的训练的应用场景和发明构思进行介绍,具体如下:
85.目前,在多语言语音合成技术中,由于很难获得单人多语言高质量的数据集,用于训练可以实现跨语言类型的语音合成模型即多语言语音合成模型,目前多使用单语言数据集来训练多语言语音合成模型。具体的,需要利用音色迁移的方式,对单语言数据集中的音频进行音色转换,得到各说话人音色的各语言的数据集。例如:单语言数据集包括中文数据集、英文数据集,其中,中文数据集包括说话人1录制的中文音频,英文数据集包括说话人2录制的英文音频,在利用上述数据集训练多语言语音合成模型之前,需要利用音色迁移的方式得到说话人1音色对应的英文音频以及说话人2音色对应的中文音频,以得到扩充的数据集,进而利用扩充的数据集训练多语言语音合成模型,进而利用训练所得的多语言语音合成模型,实现跨语言的语音合成,即实现利用说话人1的音色说英文,利用说话人2的音色说中文。
86.上述过程中,虽然可以实现对多语言语音合成模型的训练,但是仍然容易出现合成的语音口音不地道(例如:出现通过中文音的口音发英文音)的问题。
87.鉴于此,为解决上述过程所合成语音的口音不地道的问题,本说明书实施例提供了一种多语言语音合成模型的训练方法如图1所示,该多语言语音合成模型包括:编码器、解码器以及风格预测器,编码器包括风格编码器以及文本编码器,方法包括:获得各样本语言对应的样本音频,针对每一样本音频,执行如下步骤a
‑
j,以训练编码器和解码器,其中,所述步骤a
‑
j包括:a:利用第一预处理模块,对样本音频a进行特征提取,得到梅尔谱特征标签;利用第二预处理模块,对样本音频a对应的转录文本b进行音素转换,得到样本音素序列;b:将梅尔谱特征标签和样本音频的说话人标识标签,输入风格编码器,得到当前概率分布以及当前风格向量;c:基于当前概率分布与标准正态分布,确定第一损失值;d:将当前风格向量输入第一分类器,得到第一说话人标识;e:将样本音素序列输入文本编码器,得到当前内容向量;f:将当前内容向量输入第二分类器,得到第二说话人标识;g:基于第一说话人标识、第二说话人标识和说话人标识标签,确定第二损失值;h:将说话人标识标签、当前风格向量以及当前内容向量,输入解码器,得到预测梅尔谱特征;i:基于梅尔谱特征标签以及预测梅尔谱特征,确定第三损失值;j:以最小化第一损失值、第二损失值和第三损失值为目标,训练编码器以及解码器;将每一样本音频的梅尔谱特征标签和说话人标识标签,输入已训练的风格编码器,得到每一样本音频的风格向量标签;针对每一样本音频,将该样本音频的说话人标识标签及样本音素序列,输入风格预测器,得到预测风格向量对应的方差向量和均值向量;利用方差向量和均值向量以及该样本音频的风格向量标签,确定似然度;以最大化似然度为目标,训练风格预测器。
88.在训练多语言语音合成模型的过程中,通过第一损失值可以使得风格编码器学习得到各样本语言的样本音频说话人的说话风格解析能力。通过第二损失值可以使得文本编码器学习得到解析出各样本语言的与说话人无关的文本内容的能力。且该第二损失值可以使得风格编码器学习得到从样本音频中解析与说话人无关的风格的能力。通过第三损失值可以使得解码器学习得到融合说话人风格、音色(通过说话人标识表现)以及文本内容的能
力。相应的,在上述训练过程中,多语言语音合成模型可以将音频中的文本内容、说话人音色以及说话人风格(包括口音)解耦开,为后续的跨语言语音的合成奠定了基础,可以实现对不同音色、风格以及语言的任意组合,且保证所合成语音的口音比较地道。
89.下面结合具体实施例,对本说明书提供的多语言语音合成模型的训练方法进行阐述。
90.图2a和2b示出了本说明书一个实施例中多语言语音合成模型的训练方法的流程图。该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群等来实现。多语言语音合成模型包括:编码器、解码器以及风格预测器,编码器包括风格编码器以及文本编码器,如图2a所示,所述方法包括如下步骤s210
‑
s240:
91.s210:获得各样本语言对应的样本音频。
92.s220针对每一样本音频,执行步骤a
‑
j,以训练编码器以及解码器,其中,如图2b所示,所述步骤a
‑
j包括:
93.a:对样本音频进行特征提取,得到梅尔谱特征标签;对样本音频对应的转录文本进行音素转换,得到样本音素序列。
94.b:将梅尔谱特征标签和样本音频的说话人标识标签,输入风格编码器,得到当前概率分布以及当前风格向量。
95.c:基于当前概率分布与标准正态分布,确定第一损失值。
96.d:将当前风格向量输入第一分类器,得到第一说话人标识。
97.e:将样本音素序列输入文本编码器,得到当前内容向量。
98.f:将当前内容向量输入第二分类器,得到第二说话人标识。
99.g:基于第一说话人标识、第二说话人标识和说话人标识标签,确定第二损失值。
100.h:将说话人标识标签、当前风格向量以及当前内容向量,输入解码器,得到预测梅尔谱特征。
101.i:基于梅尔谱特征标签以及预测梅尔谱特征,确定第三损失值。
102.j:以最小化第一损失值、第二损失值和第三损失值为目标,训练编码器以及解码器。
103.在一种实现方式中,在训练多语言语音合成模型之前,可以首先构建用于训练该模型的训练集,其中,该训练集可以包括多个单语言训练集,各单语言训练集对应一种样本语言,该样本语言包括但不限于:中文、俄文、英文、日文以及韩文等。本说明书实施例不对该训练集中包含的单语言训练集的个数(即样本语言个数)进行限定。
104.其中,每一单语言训练集中可以包括至少一个通过所对应样本语言录制的音频,作为样本音频,以及各样本音频对应的标注信息。不同样本音频可以为相同的说话人录制的,也可以是不同的说话人录制的。样本音频对应的标注信息可以包括:样本音频对应的转录文本以及说话人标识标签。其中,说话人标识标签可以唯一表征说话人,可以为说话人id。
105.获得各样本语言对应的样本音频,进而可以利用每一样本音频及其对应的标注信息,训练该多语言语音合成模型,具体的,可以针对每一样本音频执行如下步骤,以训练多语言语音合成模型的编码器以及解码器,进而利用训练完成的编码器训练其中的风格预测器。
106.利用预设梅尔谱特征提取算法,对样本音频进行特征提取,得到该样本音频对应的梅尔谱特征。通过该算法所提取的梅尔谱特征为样本音频的原始的梅尔谱特征,作为后续训练多语言语音合成模型的梅尔谱特征标签。并利用预设音频转换算法,对样本音频对应的转录文本进行音素转换,得到样本音素序列。
107.在一种实现方式中,上述对样本音频进行特征提取,得到梅尔谱特征标签,可以包括如下步骤11
‑
15:
108.11:对样本音频进行预加重,得到对应的加重样本音频。
109.12:对加重样本音频进行分帧,得到对应的子音频。其中,为了保证分帧后的子音频的连续性,分帧之后的相邻的预设长度的子音频帧之间存在重合。该预设长度可以根据需求以及经验进行设置,相应的,相邻子音频帧之间重合的长度也可以根据需求以及经验进行设置。一种情况中,该预设长度可以为50毫秒,重合的长度为12.5毫秒。
110.13:针对每一子音频进行加窗;其中,该窗可以为汉明窗。
111.14:对每一加窗后的子音频进行快速傅里叶变换,得到每一加窗后的子音频的频谱,并基于每一加窗后的子音频的频谱,确定每一加窗后的子音频的能量谱。其中,可以对每一加窗后的子音频的频谱对应的值进行平方,得到每一加窗后的子音频的能量谱。
112.15:利用梅尔滤波器以及每一加窗后的子音频的能量谱,得到每一加窗后的子音频对应的梅尔谱特征,以得到样本音频的梅尔谱特征标签。将每一加窗后的子音频的能量谱输入梅尔滤波器,以得到每一加窗后的子音频对应的梅尔谱特征,基于所有加窗后的子音频对应的梅尔谱特征,确定得到样本音频的梅尔谱特征标签。其中,梅尔滤波器的可以为多个。一种情况中,梅尔滤波器的个数可以设置为80个,相应的,每一加窗后的子音频对应的梅尔谱特征为80维的梅尔谱特征。举例而言,若样本音频对应的加窗后的子音频个数为100,则样本音频的梅尔谱特征标签为100*80维的梅尔谱特征。
113.在本说明书的一种可实施方式中,所述对样本音频对应的转录文本进行音素转换,得到样本音素序列,可以包括如下步骤21
‑
22:
114.21:对样本音频对应的转录文本进行音素转换,得到初始音素序列。其中,可以预先获得各样本语言对应的发音字典,其中,各样本语言的发音字典包括该样本语言的单词与音素的对应关系。基于该样本音频对应的样本语言,确定相应的发音字典,进而基于确定的发音字典,对样本音频对应的转录文本进行音素转换,得到该转录文本对应的初始音素序列。其中,转录文本中包括所对应样本音频涉及的样本语言的单词。不同语言对应的音素,存在不同。初始音素序列可以表征出其对应的语言。
115.21:将初始音素序列中各音素,与样本音频中各音素对应的音对齐,得到样本音素序列。本步骤中,可以利用kaldi,将初始音素序列中各音素,与样本音频中各音素对应的音对齐,得到样本音素序列。其中,样本音素序列可以表征出各音素在样本音频中对应的时间点,可以在一种程度上表征出说话人的风格。样本音素序列既可以表征其对应的语言,又可以表征出其对应的说话人的风格。
116.在一种情况中,为了便于后续的模型的训练,可以先对各单语言训练集中的样本音频进行预处理。其中,预处理过程可以包括:预先调整各单语言训练集中的样本音频的音频采样率,使得各样本音频的音频采样率一致,进而归一化调整音频采样率的各样本音频的能量。后续的处理均是对归一化能量的样本音频进行的。其中,上述预处理过程可以通过
开源工具soxi实现。
117.得到样本音频对应的梅尔谱特征标签之后,可以将梅尔谱特征标签和样本音频的说话人标识标签,输入风格编码器,风格编码器对梅尔谱特征标签和样本音频的说话人标识标签进行处理,得到当前概率分布,进而,可以对当前该类分布进行采样,得到当前风格向量,其中,该说话人标识标签可以表征出说话人的音色。
118.其中,风格向量与说话人的属性和内容(语言)强相关,可以认为不同说话人可以对应一种风格,即风格向量。上述提到的说话人的属性,可以包括语音的长时特点,例如:说话人的说话旋律、韵律、腔调以及口音等特点。
119.一种情况中,同一个说话人录制了不同语言的样本音频,可以为该类不同言语的样本音频设置不同的说话人标识标签。
120.本实现方式中,该当前概率分布可以为三维的概率分布,并且可以假设各样本语言的样本音频的风格的分布规律符合标准正态分布,即各样本语言的样本音频的风格的先验分布为标准正态分布。相应的,为了保证风格编码器基于梅尔谱特征标签和说话人标识标签所确定的风格向量的准确性,可以基于当前概率分布与标准正态分布,确定第一损失值,其中,该第一损失值可以表征出当前概率分布与标准正态分布之间的差异。通过该第一损失值对模型的参数进行调整,使得风格编码器学习得到各样本语言的样本音频说话人的说话风格解析能力。
121.相应的,该第一损失值的计算公式,可以通过如下公式(1)表示:
122.其中,loss1表示第一损失值,μ和σ表示当前概率分布的均值向量和方差向量。
123.后续的,将当前风格向量输入第一分类器,得到其预测的当前风格向量对应的说话人标识,作为第一说话人标识。其中,该第一分类向量可以通过一层线性映射和一个softmax函数实现,也可以由其他的神经网络实现,这都是可以的。
124.结合第一说话人标识、样本音频对应的说话人标识标签以及后续第二分类器输出的第二说话人标识,计算第二损失值。第二损失值可以使得文本编码器学习得到解析出各样本语言的与说话人无关的文本内容的能力,且可以使得风格编码器学习得到从样本音频中解析与说话人无关的风格的能力。
125.得到样本音频对应的样本音素序列之后,可以将样本音素序列输入文本编码器,得到当前内容向量,其中,该当前内容向量可以表征出样本音频中的文本内容信息。将当前内容向量输入第二分类器,得到当前内容向量对应的说话人标识,作为第二说话人标识。其中,该第二分类向量可以通过一层线性映射和一个softmax函数实现,也可以由其他的神经网络实现,这都是可以的。
126.在一种实现方式中,上述确定第二损失值,可以包括如下步骤31
‑
33:
127.31:基于第一说话人标识和说话人标识标签,确定第一子损失值。其中,可以利用交叉熵损失函数,基于第一说话人标识和说话人标识标签,确定第一子损失值。具体的,第一子损失值的计算公式,可以通过如下公式(2)表示:
128.其中,s1和分别表示第一说话人标识和说话人标识标签。
129.32:基于第二说话人标识和说话人标识标签,确定第二子损失值。其中,可以利用交叉熵损失函数,基于第二说话人标识和说话人标识标签,确定第二子损失值。具体的,第二子损失值的计算公式,可以通过如下公式(3)表示:
130.其中,s2和分别表示第二说话人标识和说话人标识标签。
131.33:基于第一子损失值和第二子损失值,确定第二损失值。一种情况中,可以将第一子损失值与第二子损失值的和作为第二损失值。具体的,第二损失值的计算公式,可以通过如下公式(4)表示:
132.loss2=loss21+loss22
ꢀꢀ
(4);其中,loss2表示第二损失值。
133.另一种情况,也可以将第一子损失值与第二子损失值的均值作为第二损失值,这都是可以的。
134.其中,第一子损失值可以表征出第一分类器基于当前风格向量所预测的第一说话人标识与真实的说话人标识标签之间的差异,即可以表征出当前风格向量与样本音频对应的真实的说话人的风格的差异。第二子损失值可以表征出第二分类器基于当前文本向量所预测的第二说话人标识与真实的说话人标识标签之间的差异,即可以表征出当前文本向量与样本音频对应的真实的文本的差异。相应的,利用第二损失值调整种多语言语音合成模型的参数,可以使得文本编码器学习得到解析出各样本语言的与说话人无关的文本内容的能力,且可以使得风格编码器学习得到从样本音频中解析与说话人无关的风格的能力。
135.得到样本音频对应的当前风格向量以及当前内容向量之后,将说话人标识标签、当前风格向量以及当前内容向量,输入解码器,得到预测梅尔谱特征。进而,基于梅尔谱特征标签以及预测梅尔谱特征,确定第三损失值。其中,该第三损失值可以表征真实的梅尔谱特征标签,与解码器预测得到的预测梅尔谱特征之间的差异。其中,该第三损失值的计算公式可以通过如下公式(5)表示:
136.其中,y和分别表示预测梅尔谱特征和梅尔谱特征标签。
137.相应的,后续的训练编码器以及解码器的过程中,为了保证模型的合成结果的效果,需要以最小化第一损失值、第二损失值和第三损失值为目标,训练编码器以及解码器,以使得风格编码器可以学习到各样本音频的说话人的说话风格及其解析说话人的说话风格的能力;使得文本编码器可以学习到从音素序列中解析出相应的更准确的内容向量的能力;使得解码器可以更好的融合风格向量、文本向量以及说话人标签所表征的说话人音色的能力。
138.上述训练编码器以及解码器的过程,可以是,基于第一损失值、第二损失值和第三损失值,三者的和或者其三者的均值,确定总损失值。基于该总损失值,利用反向传播算法,确定编码器以及解码器的参数的更新梯度,其中,以最小化该总损失值为目标,确定该更新梯度。基于该更新梯度调整编码器和解码器当前的参数,以得到更新后的编码器和解码器,即实现对编码器和解码器的训练,直至编码器和解码器达到预设收敛条件。
139.其中,该预设收敛条件,可以是:调整参数次数达到预设次数,所确定的总损失值
达到最小,或者训练时长达到预设时长。
140.在另一种实现方式中,为了提高多语言语音合成模型的训练效率,降低多语言语音合成模型中编码器和解码器的参数调整次数,可以利用批量的样本音频及其标注信息,训练编码器和解码器,具体的,可以是:针对批量的样本音频中的每一样本音频,执行上述步骤a
‑
i,以得到批量的样本音频对应的第一损失值、第二损失值和第三损失值。进而,分别计算批量的样本音频对应的第一损失值的和,第二损失值的和,以及第三损失值的和;利用第一损失值的和、第二损失值的和以及第三损失值的和,确定总损失值,以最小化该总损失值为目标,训练编码器和解码器,直至编码器和解码器达到预设收敛条件。
141.在一种情况中,总损失值的计算公式可以通过如下公式(6)表示:
142.loss=loss1+loss2+loss3
ꢀꢀ
(6);其中,loss表示总损失值。
143.在一种情况中,为了保证风格编码器输出的当前概率分布的准确性,避免在训练过程中出现崩溃的情况,可以引入退火系数γ,该退火系数γ随着训练步数逐渐增大。在一种情况中,γ的取值范围可以为(0,1)。相应的,总损失值的计算公式可以通过如下公式(7)表示:
144.loss=γloss1+loss2+loss3
ꢀꢀ
(7);其中,loss表示总损失值。
145.可以理解的是,在训练编码器和解码器的同时,也在训练第一分类器和第二分类器,其中,风格编码器的训练目标是所得到的当前风格向量更符合说话人标识标签对应的真实风格,即使得第一分类器输入的当前风格向量对应的第一说话人标识为说话人标识标签。而第一分类器的训练目标是,区分出当前风格向量对应的第一说话人标识不为说话人标识标签,即风格编码器的训练目标与第一分类器的训练目标是相反的。相应的,为了保证编码器与解码器的训练,可以使用对抗网络的模型来训练,即在风格编码器与第一分类器之间添加一个梯度反转层,通过梯度反转的方式训练风格编码器和第一分类器。
146.同理的,文本编码器的训练目标是所得到的当前内容向量更符合说话人标识标签对应的真实内容,即使得第二分类器输入的当前内容向量对应的第二说话人标识为说话人标识标签。而第二分类器的训练目标是,区分出当前内容向量对应的第二说话人标识不为说话人标识标签,即文本编码器的训练目标与第二分类器的训练目标是相反的。相应的,为了保证编码器与解码器的训练,可以使用对抗网络的模型来训练,即在文本编码器与第二分类器之间添加一个梯度反转层,通过梯度反转的方式训练文本编码器和第二分类器。
147.在编码器和解码器达到预设收敛条件之后,则认为编码器和解码器训练完成,得到已训练的编码器和已训练的解码器。后续的。利用已训练的编码器中的已训练的风格编码器,执行步骤s230
‑
s240。
148.s230:将每一样本音频的梅尔谱特征标签和说话人标识标签,输入已训练的风格编码器,得到每一样本音频的风格向量标签。
149.针对每一样本音频,将该样本音频的梅尔谱特征标签和说话人标识标签,输入已训练的风格编码器,得到该样本音频的风格向量,作为后续的训练风格预测器的风格向量标签。
150.s240:针对每一样本音频,将该样本音频的说话人标识标签及样本音素序列,输入
风格预测器,得到预测风格向量对应的方差向量和均值向量;利用方差向量和均值向量以及该样本音频的风格向量标签,确定似然度;以最大化似然度为目标,训练风格预测器。
151.本步骤中,针对每一样本音频,将该样本音频的说话人标识标签及样本音素序列,输入风格预测器,风格预测器可以预测得到该样本音频对应的预测风格向量对应的方差向量和均值向量。利用方差向量和均值向量以及该样本音频的风格向量标签,确定似然度,其中,确定似然度的过程具体可以是:基于方差向量和均值向量构建对应的概率分布曲线,基于预设的概率密度分布函数以及该样本音频的风格向量标签,确定该风格向量标签在该概率分布曲线中对应的概率值,即似然度。以最大化似然度为目标,训练风格预测器,直至风格预测器达到预设收敛条件。其中,该似然度的计算公式可以通过如下公式(8)表示:
152.其中,x是样本音频的风格向量标签,μ
s
和σ
s
分别表示风格预测器预测的预测风格向量对应的方差向量和均值向量。
153.在另一种实现方式中,可以基于批量的样本音频及其对应的风格向量标签,训练风格预测器。其中,具体的训练过程,可以参见上述基于批量的样本音频及其对应的标注信息,训练编码器和解码器的过程,在此不再赘述。
154.本实施例中,可以训练得到可解耦出各样本语言的音频对应的说话人的音色(通过说话人标识标签表征)、风格以及音频中所表现的文本内容信息的多语言语音合成模型,进而利用该多语言语音合成模型中学习到的各说话人的音色、风格以及文本内容信息,通过所选择的所需转换音色(第一目标说话人标识)、所需转换风格(第二目标说话人标识),实现对后续的待合成文本的跨语言语音合成,解决了跨语言合成时风格中口音不标准的问题,合成得到风格口音效果更好的跨语言语音。
155.在本说明书的一种可实施方式中,风格编码器包括:第一说话人向量转换层、二维卷积网络层、循环神经网络层以及变分编码器;
156.所述步骤b,可以包括如下步骤41
‑
45:
157.41:将说话人标识标签输入第一说话人向量转换层,得到第一说话人向量。该第一说话人向量可以表征说话人的音色特点。
158.42:将梅尔谱特征标签,输入二维卷积网络层,得到第一卷积特征。
159.43:将第一卷积特征和第一说话人向量输入循环神经网络层,得到目标状态结果。
160.44:将目标状态结果输入变分编码器,得到当前概率分布。
161.45:对当前概率分布采样,得到当前风格向量。
162.本实现方式中,将说话人标识标签输入第一说话人向量转换层,得到第一说话人向量。其中,该第一说话人向量转换层可以包括多个多维的可训练的向量,每一说话人标识标签可以对应一个可训练的向量,一种情况,第一说话人向量转换层的该可训练的向量可以为32维。在编码器和解码器训练完成后,说话人标签对应的第一说话人向量确定。将梅尔谱特征标签输入二维卷积网络层,得到第一卷积特征,其中,该二维卷积网络层可以是通过3层归一化的二维卷积网络构成。
163.将第一卷积特征和第一说话人向量进行拼接,例如:可以是将第一卷积特征和第一说话人向量进行上下拼接,或者进行左右拼接,得到第一拼接向量。将第一拼接向量输入循环神经网络层。循环神经网络层对该第一拼接向量进行处理,得到最后一个时刻对应的
结果,即得到目标状态结果。为了缓解目标状态结果的稀疏性,将目标状态结果输入变分编码器,通过该变分编码器将目标状态结果的维度缩减到三维,得到当前概率分布。进而基于当前概率分布进行采样,可以得到相应的当前风格向量。将第一卷积特征和第一说话人向量进行拼接之后输入循环神经网络层,可以起到去除梅尔谱特征标签中说话人的音色的作用。
164.在本说明书的一种可实施方式中,文本编码器包括:第一音素向量转换层以及第一全局自注意力网络层;
165.所述步骤f,可以包括如下步骤51
‑
52:
166.51:将样本音素序列输入第一音素向量转换层,得到第一音素向量。
167.52:将第一音素向量输入第一全局自注意力网络层,得到当前内容向量。
168.本实现方式中,将样本音素序列输入文本编码器的第一音素向量转换层,得到第一音素向量。第一音素向量中各元素可以表征出样本音素序列中对应的音素。将第一音素向量输入第一全局自注意力网络层,得到当前内容向量。在一种情况中,该第一音素向量可以为一个189维的向量序列,相应的当前内容向量为189维的向量。一种实现中,该第一全局自注意力网络层通过4层全局自注意力网络构成。在一种情况中,第一音素向量中各元素可以为表征样本音素序列中对应的音素的编号,不同语言对应的音素的编号不同。
169.在本说明书的一种可实施方式中,解码器包括:第二说话人向量转换层、第二全局自注意力网络层以及线性映射层;
170.所述步骤f,可以包括如下步骤61
‑
63:
171.61:将说话人标识标签输入第二说话人向量转换层,得到第二说话人向量。
172.62:将第二说话人向量、当前风格向量以及当前内容向量,输入第二全局自注意力网络层,得到中间特征。
173.63:将中间特征输入线性映射层,得到预测梅尔谱特征。
174.本实现方式中,将说话人标识标签输入第二说话人向量转换层,得到第二说话人向量。其中,该第二说话人向量转换层可以包括多个多维的可训练的向量,每一说话人标识标签可以对应一个可训练的向量,该第二说话人向量转换层的多维的可训练的向量的维度,可以与第一说话人向量转换层的可训练的向量的维度相同,也可以不同。一种情况,该第二说话人向量转换层的多维的可训练的向量的维度可以为64维。在编码器和解码器训练完成后,说话人标签对应的第二说话人向量确定。将第二说话人向量、当前风格向量以及当前内容向量进行拼接,例如:对第二说话人向量、当前风格向量以及当前内容向量依次进行上下拼接,得到第二拼接向量,将该拼接向量输入第二全局自注意力网络层,得到中间特征。进而,将中间特征输入线性映射层,将中间特征映射为预测梅尔谱特征。
175.其中,第二全局自注意力网络层可以通过4层全局自注意力网络构成,线性映射层可以为一层线性映射层。
176.在本说明书的一种可实施方式中,风格预测器包括:第三说话人向量转换层、第二音素序列转换层、一维卷积网络层和高斯混合密度网络层;
177.所述s230,可以包括如下步骤71
‑
74:
178.71:将说话人标识标签输入第三说话人向量转换层,得到第三说话人向量。
179.72:将样本音素序列输入第二音素序列转换层,得到第二音素向量。
180.73:将第三说话人向量和第二音素向量,输入一维卷积网络层,得到第二卷积特征。
181.74:将第二卷积特征输入高斯混合密度网络层,得到预测风格向量对应的方差向量和均值向量。
182.本实现方式中,将说话人标识标签输入第三说话人向量转换层,得到第三说话人向量。其中,该第三说话人向量转换层可以包括多个多维的可训练的向量,每一说话人标识标签对应一个该可训练的向量,该第三说话人向量转换层的多维的可训练的向量的维度,可以与第一说话人向量转换层或第二说话人向量转换层的可训练的向量的维度相同,也可以不同。可以根据具体需求设置。在编码器和解码器训练完成后,说话人标签对应的第三说话人向量确定。
183.将样本音素序列输入第二音素序列转换层,得到第二音素向量。将第三说话人向量和第二音素向量进行拼接,例如将第三说话人向量和第二音素向量进行上下拼接,得到第三拼接向量。将第三拼接向量,输入一维卷积网络层,得到对应的第二卷积特征。将第二卷积特征输入高斯混合密度网络层,得到预测风格向量对应的方差向量和均值向量。
184.一种情况中,该一维卷积网络层可以通过3层层归一化的一维卷积构成。该高斯混合密度网络层为一层高斯混合密度网络构成。
185.在本说明书的一种可实施方式中,所述方法还包括如下步骤81
‑
85:
186.81:对待合成文本进行音素转换,得到待合成音素序列。
187.82:将待合成音素序列输入已训练的文本编码器,得到待合成内容向量。
188.83:将第一目标说话人标识以及待合成音素序列,输入已训练的风格预测器,获得目标风格向量。
189.84:将待合成内容向量、第二目标说话人标识以及目标风格向量,输入已训练的解码器,得到目标梅尔谱特征。
190.85:将目标梅尔谱特征输入已训练的声码器,得到目标音频。
191.在多语言语音合成模型训练完成后,可以基于训练完成的多语言语音合成模型对待合成文本进行语音合成。具体的语音合成过程,可以是:
192.获得待合成文本,该待合成文本可以包括任一样本语言对应的至少一个单词,该单词可以指各样本语言的单个的词,如表示中文中的某一个字,英文中的某一个单词,俄文中的某一个单词等。
193.对待合成文本进行音素转换,得到待合成音素序列。将待合成音素序列输入已训练的文本编码器,得到待合成内容向量,获得用户选择的目标音色对应的说话人标识,即第一目标说话人标识,将第一目标说话人标识以及待合成音素序列,输入已训练的风格预测器,获得目标风格向量。获得用户选择的目标风格对应的说话人标识,即第二目标说话人标识,将待合成内容向量、第二目标说话人标识以及目标风格向量,输入已训练的解码器,得到目标梅尔谱特征。进而将目标梅尔谱特征输入已训练的声码器,得到目标音频。其中,对待合成文本进行音素转换的过程,可以参见对样本音频对应的转录文本进行音素转换的过程,在此不再赘述。
194.可以理解的,目标音色为用户所希望待合成文本合成的语音所呈现的音色。目标风格为用户所希望待合成文本合成的语音所呈现的风格。该第一目标说话人标识与第二目
标说话人标识可以相同也可以不同。第一目标说话人标识与第二目标说话人标识属于样本音频中的说话人标识标签。
195.本实施例中,通过训练所得的多语言语音合成模型可以实现对音色、风格以及语言的任意组合,既可以实现跨风格、音色的多语言语音的合成,且合成效果较优,口音符合对应说话人的口音,比较地道。
196.上述内容对本说明书的特定实施例进行了描述,其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行,并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的,或者可能是有利的。
197.相应于上述方法实施例,本说明书实施例,提供了一种多语言语音合成模型的训练装置300,其示意性框图如图3所示,所述多语言语音合成模型包括:编码器、解码器以及风格预测器,所述编码器包括风格编码器以及文本编码器,所述装置包括:
198.获得模块310,配置为获得各样本语言对应的样本音频;
199.第一训练模块320,配置为针对每一样本音频,通过如下单元对该样本音频进行处理,以训练所述编码器以及所述解码器,其中,所述第一训练模块320包括:
200.特征提取转换单元321,配置为对所述样本音频进行特征提取,得到梅尔谱特征标签;对所述样本音频对应的转录文本进行音素转换,得到样本音素序列;
201.第一输入单元322,配置为将所述梅尔谱特征标签和所述样本音频的说话人标识标签,输入所述风格编码器,得到当前概率分布以及当前风格向量;
202.第一确定单元323,配置为基于所述当前概率分布与标准正态分布,确定第一损失值;
203.第二输入单元324,配置为将所述当前风格向量输入第一分类器,得到第一说话人标识;
204.第三输入单元325,配置为将所述样本音素序列输入所述文本编码器,得到当前内容向量;
205.第四输入单元326,配置为将所述当前内容向量输入第二分类器,得到第二说话人标识;
206.第二确定单元327,配置为基于所述第一说话人标识、所述第二说话人标识和所述说话人标识标签,确定第二损失值;
207.第五输入单元328,配置为将所述说话人标识标签、所述当前风格向量以及所述当前内容向量,输入所述解码器,得到预测梅尔谱特征;
208.第三确定单元329,配置为基于所述梅尔谱特征标签以及所述预测梅尔谱特征,确定第三损失值;
209.训练单元3210,配置为以最小化所述第一损失值、所述第二损失值和所述第三损失值为目标,训练所述编码器以及所述解码器;
210.第一输入模块330,配置为将每一样本音频的梅尔谱特征标签和说话人标识标签,输入已训练的所述风格编码器,得到每一样本音频的风格向量标签;
211.第二训练模块340,配置为针对每一样本音频,将该样本音频的说话人标识标签及
样本音素序列,输入所述风格预测器,得到预测风格向量对应的方差向量和均值向量;利用所述方差向量和均值向量以及该样本音频的风格向量标签,确定似然度;以最大化所述似然度为目标,训练所述风格预测器。
212.在一种可实施方式中,所述第一输入单元321,具体配置为对所述样本音频进行预加重,得到对应的加重样本音频;
213.对所述加重样本音频进行分帧,得到对应的子音频;
214.针对每一子音频进行加窗;
215.对每一加窗后的子音频进行快速傅里叶变换,得到每一加窗后的子音频的频谱,并基于每一加窗后的子音频的频谱,确定每一加窗后的子音频的能量谱;
216.利用梅尔滤波器以及每一加窗后的子音频的能量谱,得到每一加窗后的子音频对应的梅尔谱特征,以得到所述样本音频的梅尔谱特征标签。
217.在一种可实施方式中,所述第一输入单元321,具体配置为对所述样本音频对应的转录文本进行音素转换,得到初始音素序列;
218.将所述初始音素序列中各音素,与所述样本音频中各音素对应的音对齐,得到样本音素序列。
219.在一种可实施方式中,所述装置还包括:
220.音素转换模块(图中未示出),配置为对待合成文本进行音素转换,得到待合成音素序列;
221.第二输入模块(图中未示出),配置为将所述待合成音素序列输入已训练的所述文本编码器,得到待合成内容向量;
222.第三输入模块(图中未示出),配置为将第一目标说话人标识以及所述待合成音素序列,输入已训练的所述风格预测器,获得目标风格向量;
223.第四输入模块(图中未示出),配置为将所述待合成内容向量、第二目标说话人标识以及所述目标风格向量,输入已训练的所述解码器,得到目标梅尔谱特征;
224.第五输入模块(图中未示出),配置为将所述目标梅尔谱特征输入已训练的声码器,得到目标音频。
225.在一种可实施方式中,所述第二确定单元327,具体配置为基于所述第一说话人标识和所述说话人标识标签,确定第一子损失值;
226.基于所述第二说话人标识和所述说话人标识标签,确定第二子损失值;
227.基于所述第一子损失值和所述第二子损失值,确定第二损失值。
228.在一种可实施方式中,所述风格编码器包括:第一说话人向量转换层、二维卷积网络层、循环神经网络层以及变分编码器;
229.所述第一输入单元322,具体配置为将所述说话人标识标签输入所述第一说话人向量转换层,得到第一说话人向量;
230.将所述梅尔谱特征标签,输入所述二维卷积网络层,得到第一卷积特征;
231.将所述第一卷积特征和所述第一说话人向量输入所述循环神经网络层,得到目标状态结果;
232.将所述目标状态结果输入所述变分编码器,得到所述当前概率分布;
233.基于所述当前概率分布采样,得到所述当前风格向量。
234.在一种可实施方式中,所述文本编码器包括:第一音素向量转换层以及第一全局自注意力网络层;
235.所述第三输入单元325,具体配置为将所述样本音素序列输入所述第一音素向量转换层,得到第一音素向量;
236.将所述第一音素向量输入所述第一全局自注意力网络层,得到所述当前内容向量。
237.在一种可实施方式中,所述解码器包括:第二说话人向量转换层、第二全局自注意力网络层以及线性映射层;
238.所述第五输入单元328,具体配置为将所述说话人标识标签输入所述第二说话人向量转换层,得到第二说话人向量;
239.将所述第二说话人向量、所述当前风格向量以及所述当前内容向量,输入所述第二全局自注意力网络层,得到中间特征;
240.将所述中间特征输入所述线性映射层,得到所述预测梅尔谱特征。
241.在一种可实施方式中,所述风格预测器包括:第三说话人向量转换层、第二音素序列转换层、一维卷积网络层和高斯混合密度网络层;
242.所述第二训练模块340,具体配置为将所述说话人标识标签输入所述第三说话人向量转换层,得到第三说话人向量;
243.将所述样本音素序列输入所述第二音素序列转换层,得到第二音素向量;
244.将所述第三说话人向量和所述第二音素向量,输入所述一维卷积网络层,得到第二卷积特征;
245.将所述第二卷积特征输入所述高斯混合密度网络层,得到所述预测风格向量对应的方差向量和均值向量。
246.上述装置实施例与方法实施例相对应,具体说明可以参见方法实施例部分的描述,此处不再赘述。装置实施例是基于对应的方法实施例得到,与对应的方法实施例具有同样的技术效果,具体说明可参见对应的方法实施例。
247.本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书所提供的所述多语言语音合成模型的训练方法。
248.本说明书实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现本说明书所提供的所述多语言语音合成模型的训练方法。
249.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于存储介质和计算设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
250.本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
251.以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步的详细说明。所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。