一种语音合成方法、装置、设备及存储介质与流程

文档序号:31467636发布日期:2022-09-09 22:04阅读:93来源:国知局
一种语音合成方法、装置、设备及存储介质与流程

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.所述第二编码模块,用于对输入的音素序列进行编码,输出输入的音素序列的编码结果;
37.所述音素表示向量预测模块,用于根据所述第二编码模块输出的编码结果预测输入所述第二编码模块的音素序列包含的每个音素的表示向量,输出预测结果;
38.所述第二解码模块,用于根据所述第二编码模块输出的编码结果和所述音素表示向量预测模块输出的预测结果,预测包含音素信息和目标说话人的说话人信息的矢量。
39.可选的,所述矢量预测模型的训练过程包括:
40.获取第二训练语音对应的音素序列作为训练音素序列,其中,所述第二训练语音为具有所述目标说话人音色的语音;
41.通过所述第二编码模块对所述训练音素序列进行编码,得到第一编码结果,并基于所述第一训练语音所属语种的多人单语种编码器对所述训练音素序列进行编码,得到第二编码结果;
42.以所述第一编码结果为依据,通过所述音素表示向量预测模块预测所述训练音素序列中每个音素的表示向量,得到预测的音素表示向量序列,并根据所述第一训练语音获取实际的音素表示向量序列;
43.以所述第一编码结果和预测的音素表示向量序列为依据,通过所述第二解码模块预测包含音素信息和所述目标说话人的说话人信息的矢量,并从所述训练语音中提取包含音素信息和所述目标说话人的说话人信息的矢量;
44.根据所述第一编码结果、所述第二编码结果、预测的音素表示向量序列、实际的音素表示向量序列、预测的矢量和提取的矢量,对矢量预测模型进行参数更新。
45.可选的,所述根据所述第一编码结果、所述第二编码结果、预测的音素表示向量序列、实际的音素表示向量序列、预测的矢量和提取的矢量,对矢量预测模型进行参数更新,包括:
46.根据所述第一编码结果和所述第二编码结果,确定第一预测损失;
47.根据预测的音素表示向量序列和实际的音素表示向量序列,确定第二预测损失;
48.根据预测的矢量和提取的矢量,确定第三预测损失;
49.根据所述第一预测损失、所述第二预测损失和所述第三预测损失,对矢量预测模型进行参数更新。
50.一种语音合成装置,所述语音合成装置通过预先构建的语音合成模型实现语音合成,所述语音合成模型包括矢量预测模型和语音合成模块,所述语音合成装置包括:音素序列获取模块和音素序列处理模块;
51.所述音素序列获取模块,用于获取目标文本对应的音素序列;
52.所述音素序列处理模块,用于通过所述矢量预测模型将所述音素序列处理成包含音素信息和目标说话人的说话人信息的矢量,作为目标矢量;以及,以所述目标矢量为依据,通过所述语音合成模块生成所述目标文本对应的合成语音;
53.其中,所述矢量预测模型采用具有所述目标说话人音色的多语种语音训练得到,
所述具有所述目标说话人音色的多语种语音由预先训练得到的音频转换模型将非目标说话人的多语种语音的音色转换为所述目标说话人的音色得到,所述音频转换模型采用所述目标说话人的单语种语音和所述非目标说话人的多语种语音训练得到。
54.一种语音合成设备,包括:存储器和处理器;
55.所述存储器,用于存储程序;
56.所述处理器,用于执行所述程序,实现上述任一项所述的语音合成方法的各个步骤。
57.一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述任一项所述的语音合成方法的各个步骤。
58.本发明提供的语音合成方法、装置、设备及存储介质,首先获取目标文本对应的音素序列,然后通过预先构建的语音合成模型中的矢量预测模型将音素序列处理成包含音素信息和目标说话人的说话人信息的矢量,作为目标矢量,最后以目标矢量为依据,通过构建的语音合成模型中的语音合成模块课生成合成语音。为了能够获得大量目标说话人的多语种语音,本发明采用少量目标说话人的单一语种语音和大量非目标说话人的多语种语音训练得到音频转换模型,进而基于训练得到音频转换模型和大量非目标说话人的多语种语音可获得大量具有目标说话人音色的多语种语音(无需录制目标说话人不同语种的语音),从而可利用大量具有目标说话人音色的多语种语音训练得到能够处理多种不同语种文本对应的音素序列的矢量预测模型,进而由训练得到的矢量预测模型和语音合成模块构建出能够合成多语种语音的语音合成模型。另外,本发明中的语音合成模型可直接根据包含音素信息和目标说话人的说话人信息的矢量生成合成语音,避免了频谱的预测和声码器的使用,语音合成效果更好。
附图说明
59.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
60.图1为本发明实施例提供的语音合成方法的流程示意图;
61.图2为本发明实施例提供的音频转换模型的训练过程的一流程示意图;
62.图3为本发明实施例提供的音频转换模型的结构示意图;
63.图4为本发明实施例提供的音频转换模型的训练过程的另一流程示意图;
64.图5为本发明实施例提供的基于训练得到的音频转换模型和非目标说话人的多语种语音,获得具有目标说话人音色的多语种语音的流程示意图;
65.图6为本发明实施例提供的矢量预测模型的训练过程的流程示意图;
66.图7为本发明实施例提供的矢量预测模型的结构及训练过程示意图;
67.图8为本发明实施例提供的语音合成模型的一示例的结构示意图;
68.图9为本发明实施例提供的语音合成装置的结构示意图;
69.图10为本发明实施例提供的语音合成设备的结构示意图。
具体实施方式
70.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
71.在只有特定说话人的少量单一语种语音的情况下,为了能够实现特定说话人多语种语音的合成,申请人进行了研究,在研究过程中,申请人想到,可以训练一个能够生成具有特定说话人音色的多语种语音的模型,用该模型生成大量具有特定说话人音色的多语种语音,进而利用大量具有特定说话人音色的多语种语音训练得到能够合成特定说话人的多语种语音的语音合成模型,从而利用该语音合成模型合成目标文本对应的语音,沿着这个思路,申请人继续进行研究,通过不断研究,最终提出了一种效果较好的能够实现特定说话人多语种语音合成的语音合成方法。
72.本发明提供的语音合成方法可应用于具有数据处理能力的电子设备,该电子设备可以为用户侧使用的终端,比如智能手机、pc、笔记本电脑、平板电脑、掌上电脑等,电子设备也可以为服务器,服务器可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务器中心,服务器可以包括处理器、存储器以及网络接口等,上述的终端或服务器可按本发明提供的语音合成方法合成出特定说话人的语音。本领域技术人员应能理解,上述终端和服务器仅为举例,其它现有的或今后可能出现的终端或服务器如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
73.接下来通过下述实施例对本发明提供的语音合成方法进行介绍。
74.第一实施例
75.本实施例提供了一种语音合成方法,该语音合成方法通过预先构建的语音合成模型实现,语音合成模型包括矢量预测模型和语音合成模块,请参阅图1,示出了本发明实施例提供的语音合成方法的流程示意图,该方法可以包括:
76.请参阅图1,示出了本发明实施例提供的语音合成方法的流程示意图,该方法可以包括:
77.步骤s101:获取目标文本对应的音素序列。
78.其中,目标文本为用于进行语音合成的文本,其可以为任何语种的文本,比如,汉语文本、英语文本、法语文本等。
79.步骤s102:通过矢量预测模型将音素序列处理成包含音素信息和目标说话人的说话人信息的矢量,作为目标矢量。
80.其中,矢量预测模型采用具有目标说话人音色的多语种语音训练得到,具有目标说话人音色的多语种语音由训练得到的音频转换模型将非目标说话人的多语种语音的音色转换为目标说话人的音色得到,音频转换模型采用目标说话人的单语种语音和非目标说话人的多语种语音训练得到。可选的,音频转换模型可以为vits模型。
81.考虑到实际应用中仅能获得目标说话人的少量的单一语种语音,而为了训练得到能够对多语种的文本对应的音素序列进行处理,进而构建出能够合成出目标说话人的多语种语音的语音合成模型,需要大量目标说话人的多语种语音,本发明提出,采用目标说话人的单一语种语音和非目标说话人的多语种语音训练得到音频转换模型,训练得到音频转换
模型能够将非目标说话人的多语种语音的音色转换为目标说话人的音色,从而得到具有目标说话人音色的多语种语音。
82.需要说明的是,本发明中提及的“非目标说话人的多语种语音”指的是非目标说话人(通常为多个说话人)的多条多语种语音,多条多语种语音中的每条语音为单一语种语音,比如,说话人a的英语语音、说话人b的法语语音、说话人c的德语语音等,同样的,“具有目标说话人音色的多语种语音”指的是具有目标说话人音色的多条多语种语音,比如,具有目标说话人音色的英语语音、具有目标说话人音色的法语语音、具有目标说话人音色的德语语音等。
83.具体的,通过预先构建的语音合成模型将音素序列处理成包含音素信息和目标说话人的说话人信息的矢量的过程可以包括:
84.步骤s1021、通过矢量预测模型对音素序列进行编码,得到音素序列的编码结果。
85.步骤s1022、以音素序列的编码结果为预测依据,基于矢量预测模型预测音素序列中每个音素的表示向量,以得到音素表示向量序列。
86.其中,一个音素的表示向量包含该音素的整体发音和韵律情况信息。
87.步骤s1023、以音素序列的编码结果和音素表示向量序列为预测依据,通过语音合成模型预测包含音素信息和目标说话人的说话人信息的矢量。
88.步骤s103:以目标矢量为依据,通过语音合成模块生成目标文本对应的合成语音。
89.可选的,语音合成模块可采用训练得到的音频转换模型中的语音生成部分,语音生成部分具有能够根据包含音素信息和目标说话人的说话人信息的矢量生成具有目标说话人音色的语音的能力。
90.需要说明的是,本实施例中的语音合成模型可直接根据目标矢量生成目标文本对应合成语音,而不需要预测频谱,再将预测的频谱经声码器得到合成语音,即本发明实施例提供的语音合成方法避免了声码器的使用,从而避免了语音合成模型与声码器不适配的问题。
91.本发明实施例提供的语音合成方法,首先获取目标文本对应的音素序列,然后通过预先构建的语音合成模型中的矢量预测模型将音素序列处理成包含音素信息和目标说话人的说话人信息的矢量,作为目标矢量,最后以目标矢量为依据,通过语音合成模型中的语音合成模块生成目标文本对应的合成语音。为了能够获得大量目标说话人的多语种语音,本发明实施例采用少量目标说话人的单一语种语音和大量非目标说话人的多语种语音训练得到音频转换模型,进而基于训练得到音频转换模型和大量非目标说话人的多语种语音获得大量具有目标说话人音色的多语种语音,从而利用大量具有目标说话人音色的多语种语音训练得到能够处理多种不同语种文本对应的音素序列的矢量预测模型,进而由训练得到的矢量预测模型和语音合成模块构建出能够合成多语种语音的语音合成模型,从而利用语音合成模型合成目标文本对应的语音。另外,本发明实施例中的语音合成模型可直接根据包含音素信息和目标说话人的说话人信息的矢量生成合成语音,避免了频谱的预测和声码器的使用,语音合成效果更好。
92.第二实施例
93.本实施例重点对音频转换模型的训练过程,以及基于训练得到的音频转换模型和非目标说话人的多语种语种获得具有目标说话人音色的多语种语音的过程进行介绍。
94.首先对音频转换模型的训练过程进行介绍。
95.请参阅图2,示出了音频转换模型的训练过程的流程示意图,可以包括:
96.步骤s201:从第一训练语音集中获取第一训练语音。
97.其中,第一训练语音集中包括目标说话人的单一语种的语音以及非目标说话人的多语种语种,第一训练语音为目标说话人的一条语音或者非目标说话人的一条语音。
98.步骤s202:通过音频转换模型对第一训练语音提取包含音素信息和说话人信息的矢量,作为第一训练语音对应的说话人相关矢量。
99.可选的,如图3所示,音频转换模型可以包括第一编码模块301,可通过音频转换模型的第一编码模块301对第一训练语音提取包含音素信息和说话人信息的矢量,作为第一训练语音对应的说话人相关矢量。具体的,可获取第一训练语音的频谱,将第一训练语音的频谱输入第一编码模块301,第一编码模块301从第一训练语音的频谱中提取包含音素信息和说话人信息的矢量并输出。
100.步骤s203:通过音频转换模型将第一训练语音对应的说话人相关矢量中的说话人信息去除,得到第一训练语音对应的说话人无关矢量,并根据第一训练语音对应的音素序列,确定第一训练语音对应的说话人无关矢量应服从的分布。
101.可选的,如图3所示,音频转换模型可以包括矢量处理模块302,可通过音频转换模型的矢量处理模块302将第一训练语音对应的说话人相关矢量中的说话人信息去除,得到第一训练语音对应的说话人无关矢量。具体的,在获得第一训练语音对应的说话人相关矢量后,可将第一训练语音对应的说话人相关矢量以及第一训练语音的说话人信息输入矢量处理模块302,矢量处理模块302根据第一训练语音的说话人信息(即第一训练语音的说话人的说话人信息),将第一训练语音对应的说话人相关矢量中的说话人信息去除,输出第一训练语音对应的说话人无关矢量。可选的,矢量处理模块可以采用flow网络。
102.步骤s204:以第一训练语音对应的说话人相关矢量为依据,通过音频转换模型预测第一训练语音的波形信息,并获取第一训练语音的实际波形信息。
103.可选的,如图3所示,音频转换模型可以包括第一解码模块303,可将第一训练语音对应的说话人相关矢量输入第一解码模块303,第一解码模块303根据第一训练语音对应的说话人相关矢量预测第一训练语音的波形信息。
104.本实施例并不限定步骤s203和步骤s204的执行顺序,比如,可先执行步骤s203,再执行步骤s204,也可先执行步骤s204,再执行步骤s203。
105.步骤s205:根据第一训练语音对应的说话人无关矢量、第一训练语音对应的说话人无关矢量应服从的分布、预测的波形信息和第一训练语音的实际波形信息,对音频转换模型进行参数更新。
106.具体的,根据第一训练语音对应的说话人无关矢量和第一训练语音对应的说话人无关矢量应服从的分布,确定音频转换模型的第一预测损失,根据预测的波形信息和第一训练语音的实际波形信息,确定音频转换模型的第二预测损失;根据音频转换模型的第一预测损失和第二预测损失,对音频转换模型进行参数更新。
107.需要说明的是,在对音频转换模型进行训练时,以使第一训练语音对应的说话人无关矢量服从其应服从的分布,以及使预测的波形信息与实际波形信息一致为目标进行训练。
108.按上述步骤s201~步骤s205对音频转换模型进行多次训练,直至满足训练结束条件。
109.提了提升音频转换模型的训练效果,本实施例提供了音频转换模型的另一种训练方式,请参阅图4,示出了音频转换模型的训练过程的另一流程示意图,可以包括:
110.步骤s401:从第一训练语音集中获取第一训练语音。
111.步骤s402:通过音频转换模型对第一训练语音提取包含音素信息和说话人信息的矢量,作为第一训练语音对应的说话人相关矢量。
112.步骤s403:根据第一训练语音对应的说话人相关矢量,预测第一训练语音的基频,并获取第一训练语音的实际基频。
113.步骤s404:通过音频转换模型将第一训练语音对应的说话人相关矢量中的说话人信息去除,得到第一训练语音对应的说话人无关矢量,并根据第一训练语音对应的音素序列,确定第一训练语音对应的说话人无关矢量应服从的分布。
114.步骤s405:以第一训练语音对应的说话人相关矢量为依据,通过音频转换模型预测第一训练语音的波形信息,并获取第一训练语音的实际波形信息。
115.步骤s401、s402、s404、s405的相关解释说明可参见步骤s201~步骤s204的相关解释说明,本实施例在此不做赘述。
116.步骤s406:根据第一训练语音对应的说话人无关矢量、第一训练语音对应的说话人无关矢量应服从的分布、预测的基频、第一训练语音的实际基频、预测的波形信息和第一训练语音的实际波形信息,对音频转换模型进行参数更新。
117.具体的,根据第一训练语音对应的说话人无关矢量和第一训练语音对应的说话人无关矢量应服从的分布确定音频转换模型的第一预测损失,根据预测的波形信息和第一训练语音的实际波形信息,确定音频转换模型的第二预测损失,根据预测的基频和第一训练语音的实际基频,确定音频转换模型的第三预测损失;根据音频转换模型的第一预测损失、第二预测损失和第三预测损失,对音频转换模型进行参数更新。
118.需要说明的是,在对音频转换模型进行训练时,以使第一训练语音对应的说话人无关矢量服从其应服从的分布,使根据第一训练语音对应的说话人相关矢量预测的基频与实际基频趋于一致以及使预测的波形信息与实际波形信息趋于一致为目标进行训练。
119.使根据第一训练语音对应的说话人相关矢量预测的基频与实际基频趋于一致为目标进行训练,使得第一训练语音对应的说话人相关矢量中包含高音信息,使得最终生成的语音能够保留第一训练语音的说话人的说话风格。
120.按上述步骤s401~步骤s405对音频转换模型进行多次训练,直至满足训练结束条件。
121.接下来对基于训练得到的音频转换模型和非目标说话人的多语种语音,获得具有目标说话人音色的多语种语音的实现过程进行介绍。
122.请参阅图5,示出了基于训练得到的音频转换模型和非目标说话人的多语种语音,获得具有目标说话人音色的多语种语音的流程示意图,可以包括:
123.步骤s501:针对非目标说话人的每条语音,通过音频转换模型对该条语音提取包含音素信息和说话人信息的矢量,作为该条语音对应的说话人相关矢量。
124.如图3所示,音频转换模型可以包括第一编码模块301,可获取该条语音的频谱,将
该条语音的频谱输入第一编码模块301,第一编码模块301从该条语音的频谱中提取包含音素信息和说话人信息的矢量,作为该条语音对应的说话人相关矢量。
125.步骤s502:通过音频转换模型,将该条语音对应的说话人相关矢量中的说话人信息去除,得到该条语音对应的说话人无关矢量。
126.如图3所示,音频转换模型可以包括矢量处理模块302,在获得该条语音对应的说话人相关矢量后,可将该条语音的说话人信息(比如说话人表示向量,其可通过将说话人id转换为向量得到)和该条语音对应的说话人相关矢量输入矢量处理模块302,矢量处理模块302根据该条语音的说话人信息将该条语音对应的说话人相关矢量包含的说话人信息去除,以得到该条语音对应的说话人无关矢量。
127.步骤s503:通过音频转换模型在该条语音对应的说话人无关矢量中融入目标说话人的说话人信息,得到该条语音对应的包含音素信息和目标说话人的说话人信息的矢量。
128.具体的,可将目标说话人的说话人信息和该条语音对应的说话人无关矢量输入矢量处理模块302,矢量处理模块302根据目标说话人的说话人信息(比如目标说话人的说话人表示向量,其可通过将目标说话人的说话人id转换为向量得到)在该条语音对应的说话人无关矢量中融入目标说话人的说话人信息,以得到该条语音对应的包含音素信息和目标说话人的说话人信息的矢量。
129.步骤s504:以该条语音对应的包含音素信息和目标说话人的说话人信息的矢量为依据,通过音频转换模型生成具有目标说话人音色的语音。
130.如图3所示,音频转换模型可以包括第一解码模块303,可将该条语音对应的包含音素信息和目标说话人的说话人信息的矢量输入第一解码模块303,第一解码模块303根据输入的矢量生成具有目标说话人音色的语音。
131.示例性的,非目标说话人的多语种语音包括说话人a的英语语音、说话人b的法语语音、说话人c的德语语音,则经由上述s501~步骤s503的过程,可将说话人a的英语语音转换为具有目标说话人d的音色的英语语音、具有目标说话人d的音色的法语语音、具有目标说话人d的音色的德语语音。
132.第三实施例
133.本实施例对语音合成模型的构建过程进行介绍。
134.在一种可能的实现方式中,语音合成模型的构建过程可以包括:采用具有目标说话人音色的多语种语音训练得到矢量预测模型,由训练得到的矢量预测模型和语音合成模块组成语音合成模型,其中,语音合成模块可采用训练得到的音频转换模型中的语音生成部分(如图3中的第一解码模块303)。
135.其中,矢量预测模型能够根据输入的音素序列预测出包含音素信息和目标说话人的说话人信息的矢量,训练得到的音频转换模型中的语音生成部分(如图3中的第一解码模块303)能够根据包含音素信息和一说话人的说话人信息的矢量生成具有该说话人音色的语音。
136.接下来对矢量预测模型的训练过程进行介绍。
137.请参阅图6,示出了矢量预测模型的训练过程的流程示意图,可以包括:
138.步骤s601:从第二训练语音集中获取第二训练语音。
139.其中,第二训练语音集中包括大量具有目标说话人音色的多语种语音,第二训练
语音即为一条具有目标说话人音色的语音。
140.步骤s602:获取第二训练语音对应的音素序列,作为训练音素序列。
141.第二训练语音对应的音素序列即为第二训练语音对应的文本所对应的音素序列。
142.步骤s603:通过矢量预测模型对训练音素序列行编码,得到第一编码结果,并基于第二训练语音所属语种的多人单语种编码器对训练音素序列行编码,得到第二编码结果。
143.可选的,如图7所示,矢量预测模型可以包括第二编码模块701,可通过矢量预测模型的第二编码模块701对训练音素序列行编码,以得到第一编码结果。为了使得语种切换时互不影响,矢量预测模型中的第二编码模块701可以包括多种语种分别对应的编码子模块,比如,汉语对应的编码子模块、英语对应的编码子模块、法语对应的编码子模块等,在对训练音素序列行编码时,通过第二训练语音所属语种对应的编码子模块进行编码,比如,第二训练语为汉语语音,则采用第二编码模块701中汉语对应的编码子模块对训练音素序列进行编码。
144.为了使矢量预测模型中的第二编码模块701具有较强的编码能力并且具有较强的稳定性,如图7所示,本发明引入多种语种分别对应的多人单语种编码器,比如汉语对应的多人单语种编码器、英语对应的多人单语种编码器、法语对应的多人单语种编码器等,用多种语种分别对应的多人单语种编码器辅助矢量预测模型的编码模块训练。需要说明的是,矢量预测模型中的第二编码模块701包含的每个编码子模块为单人单语种编码器,单人单语种编码器的编码能力弱于多人单语种编码器的能力,有鉴于此,本发明提出,利用多种语种分别对应的多人单语种编码器辅助矢量预测模型的第二编码模块701进行训练。
145.其中,多人单语种编码器采用多个说话人的同一语种的训练语音训练得到,比如,英语对应的多人单语种编码器采用多个说话人的英语训练语音训练得到。具体的,多人单语种编码器的训练过程可以包括:获取训练语音对应的音素序列,将训练语音对应的音素序列输入多人单语种编码器进行编码,根据多人单语种编码器输出的编码结果预测训练语音对应的说话人,并根据多人单语种编码器输出的编码结果和训练语音对应的实际说话人的说话人表示向量预测训练语音的频谱,以使预测的说话人与实际说话人不一致,以及使预测的频谱与实际频谱趋于一致为目标对多人单语种编码器进行参数更新。本发明在训练多人单语种编码器时,引入了说话人对抗,引入说话人对抗的目的在于,保证多人单语种编码器输出的编码结果中不包含说话人信息。
146.步骤s604:以第一编码结果为依据,通过矢量预测模型预测训练音素序列中每个音素的表示向量,得到预测的音素表示向量序列,并根据第二训练语音获取实际的音素表示向量序列。
147.可选的,如图7所示,矢量预测模型可以包括音素表示向量预测模块702,可通过矢量预测模型中的音素表示向量预测模块702预测训练音素序列中每个音素的表示向量。可选的,音素表示向量预测模块702可以采用两层全连接层。在获得第一编码结果后,可将第一编码结果输入音素表示向量预测模块702,音素表示向量预测模块702根据第一编码结果预测训练音素序列中每个音素的表示向量,以得到预测的音素表示向量序列。
148.为了监督矢量预测模型的音素表示向量预测模块702训练,本发明根据第二训练语音获取实际的音素表示向量序列。具体的,如图7所示,根据第二训练语音获取实际的音素表示向量序列的过程包括:获取第二训练语音的频谱;将第二训练语音的频谱输入lstm,
lstm输出所有音素的表示向量;根据第二训练语音获取每个音素的发音时长;根据每个音素的发音时长从lstm输出的所有音素的表示向量中划分出每个音素的表示向量,以得到实际的音素表示向量序列。
149.步骤s605:以第一编码结果和预测的音素表示向量序列为依据,通过矢量预测模型预测包含音素信息和目标说话人的说话人信息的矢量,并从第二训练语音中提取包含音素信息和目标说话人的说话人信息的矢量。
150.可选的,矢量预测模型可以包括第二解码模块703,可通过矢量预测模型的第二解码模块703预测包含音素信息和目标说话人的说话人信息的矢量。具体的,将第一编码结果和预测的音素表示向量序列输入矢量预测模型的第二解码模块703,第二解码模块703根据输入预测包含音素信息和目标说话人的说话人信息的矢量。
151.可选的,可采用训练得到的音频转换模型中的第一编码模块301从第二训练语音中提取包含音素信息和目标说话人的说话人信息的矢量。
152.步骤s606:根据第一编码结果、第二编码结果、预测的音素表示向量序列、实际的音素表示向量序列、预测的矢量和提取的矢量,对矢量预测模型进行参数更新。
153.具体的,如图7所示,根据第一编码结果和第二编码结果,确定矢量预测模型的第一预测损失(比如,确定第一编码结果和第二编码结果的mse loss),根据预测的音素表示向量序列和实际的音素表示向量序列,确定矢量预测模型的第二预测损失(比如,确定预测的音素表示向量序列与实际的音素表示向量序列的mse loss),根据预测的矢量和提取的矢量,确定矢量预测模型的第三预测损失(比如,确定预测的矢量与提取的矢量的mse loss),根据矢量预测模型的第一预测损失、第二预测损失和第三预测损失对矢量预测模型进行参数更新。
154.矢量预测模型训练目标包括:使矢量预测模型的第二编码模块701对训练音素序列行编码得到的第一编码结果与第二训练语音所属语种的多人单语种编码器对训练音素序列进行编码得到的第二编码结果的误差最小;使矢量预测模型的音素表示向量预测模块702根据第一编码结果预测的音素表示向量序列与实际的音素表示向量序列误差最小;使矢量预测模型的第二解码模块703根据第一编码结果和预测的音素表示向量序列预测的包含音素信息和目标说话人的说话人信息的矢量与实际的矢量(实际的矢量指的是,从第二训练语音中提取的包含音素信息和目标说话人的说话人信息的矢量)误差最小。
155.另外,为了使得矢量预测模型的第二编码模块701与第二解码模块703更加协调,上述矢量预测模型的训练过程还可以包括:以第一编码结果为预测依据,通过矢量预测模型的第二解码模块703预测第二训练语音的频谱,并获取第二训练语音的实际频谱。在确定预测损失时,根据矢量预测模型的第二解码模块703预测的频谱和第二训练语音的实际频谱,确定矢量预测模型的第四预测损失,进而根据矢量预测模型的第一预测损失、第二预测损失、第三预测损失和第四预测损失,对矢量预测模型进行参数更新。即,矢量预测模型训练目标除了包括上述三个外,还可以包括:使矢量预测模型的第二解码模块703根据第一编码结果预测的频谱与第二训练语音的实际频谱误差最小。
156.经由上述过程可训练得到能够根据输入的音素序列预测出包含音素信息和目标说话人的说话人信息的矢量的矢量预测模型。
157.如图8所示,最终由训练得到的矢量预测模型中的第二编码模块701、音素表示向
量预测模块702、第二解码模块703,以及训练得到的音频转换模块中的第一解码模块303组成语音合成模型,进而可通过该语音合成模型合成目标文本对应的语音,具体的,首先将目标文本对应的音素序列输入第二编码模块703,得到目标文本对应的音素序列的编码结果,然后将目标文本对应的音素序列的编码结果输入音素表示向量预测模块702,得到目标文本对应的音素序列的音素表示向量序列,接着将目标文本对应的音素序列的编码结果以及目标文本对应的音素序列的音素表示向量序列输入第二解码模块703,得到包含音素信息和目标说话人的说话人信息的矢量,最后将包含音素信息和目标说话人的说话人信息的矢量输入第一解码模块303,得到目标文本对应的合成语音。
158.经由上述第一实施例至第三实施例可知,本发明可采用目标说话人的单语种语音和非目标说话人的多语种语音训练得到音频转换模型,训练得到的音频转换模型可将非目标说话人的多语种语音转换为具有目标说话人音色的多语种语种,通过训练得到音频转换模型可获得大量具有目标说话人音色的多语种语音,可见,本发明可实现,利用少量目标说话人的单语种语音和大量非目标说话人的多语种语音获得大量具有目标说话人音色的多语种语种。
159.在获得大量具有目标说话人音色的多语种语音后,可利用大量具有目标说话人音色的多语种语音训练得到矢量预测模型,矢量预测模型具备对多种语种的文本分别对应的音素序列进行处理得到包含音素信息和目标说话人的说话人信息的矢量的能力,在此基础上,可由矢量预测模型和音频转换模型中能够根据包含音素信息和目标说话人的说话人信息的矢量生成语音的语音生成部分(比如第一解码模块303)组成语音合成模型,如此构建出的语音合成模型具有跨语种语音合成的能力。
160.另外,由于音频转换模型中的语音生成部分可根据包含音素信息和目标说话人的说话人信息的矢量直接生成具有目标说话人音色的语音,因此,本发明提供的语音合成方法无需预测频谱,相应的,也就无需频谱经声码器,可见,避免了声码器的使用,避免了声码器的使用也就避免了声码器带来的损失,另外,由于矢量预测模型的训练数据基于音频转换模型获得,因此,矢量预测模型和音频转换模型中的语音生成部分具有较好的适配性,由矢量预测模型和音频转换模型中的语音生成部分组成的语音合成模型更具稳定性。
161.第四实施例
162.本发明实施例还提供了一种语音合成装置,下面对本发明实施例提供的语音合成装置进行描述,下文描述的语音合成装置与上文描述的语音合成方法可相互对应参照。
163.请参阅图9,示出了本发明实施例提供的语音合成装置的结构示意图,可以包括:音素序列获取模块901和音素序列处理模块902。
164.音素序列获取模块901,用于获取目标文本对应的音素序列。
165.语音合成模块902,用于通过构建的语音合成模型中的矢量预测模型对所述音素序列进行处理,得到包含音素信息和目标说话人的说话人信息的矢量,作为目标矢量,以及通过构建的语音合成模型中的语音合成模块对所述目标矢量进行处理,得到合成语音。
166.其中,所述矢量预测模型采用具有所述目标说话人音色的多语种语音训练得到,所述具有所述目标说话人音色的多语种语音由预先训练得到的音频转换模型将非目标说话人的多语种语音的音色转换为所述目标说话人的音色得到,所述音频转换模型采用所述目标说话人的单语种语音和所述非目标说话人的多语种语音训练得到。
167.可选的,音素序列处理模块902在通过预先构建的语音合成模型中的矢量预测模型将所述音素序列处理成包含音素信息和目标说话人的说话人信息的矢量时,具体用于:
168.通过所述矢量预测模型对所述音素序列进行编码,得到所述音素序列的编码结果;
169.以所述音素序列的编码结果为预测依据,基于所述矢量预测模型预测所述音素序列中每个音素的表示向量,以得到音素表示向量序列;
170.以所述音素序列的编码结果和所述音素表示向量序列为预测依据,通过所述矢量预测模型预测包含音素信息和目标说话人的说话人信息的矢量。
171.可选的,本发明实施例提供的语音合成装置还可以包括音频转换模块。音频转换模块,用于基于所述音频转换模型和所述非目标说话人的多语种语音,获得具有所述目标说话人音色的多语种语音。
172.音频转换模块在基于所述音频转换模型和所述非目标说话人的多语种语音,获得具有所述目标说话人音色的多语种语音时,具体用于:
173.针对所述非目标说话人的每条语音:
174.通过所述音频转换模型对该条语音提取包含音素信息和说话人信息的矢量,作为该条语音对应的说话人相关矢量;
175.通过所述音频转换模型,将该条语音对应的说话人相关矢量中的说话人信息去除,得到该条语音对应的说话人无关矢量;
176.通过所述音频转换模型在该条语音对应的说话人无关矢量中融入所述目标说话人的说话人信息,得到该条语音对应的包含音素信息和所述目标说话人的说话人信息的矢量;
177.以该条语音对应的包含音素信息和所述目标说话人的说话人信息的矢量为依据,通过所述音频转换模型生成具有所述目标说话人音色的语音。
178.可选的,所述音频转换模型包括:第一编码模块、矢量处理模块和第一解码模块;
179.针对非目标说话人的每条语音:
180.所述第一编码模块,用于从该条语音的频谱中提取包含音素信息和说话人信息的矢量,作为该条语音对应的说话人相关矢量;
181.所述矢量处理模块,用于根据该条语音的说话人信息,将该条语音对应的说话人相关矢量中的说话人信息去除,得到该条语音对应的说话人无关矢量;以及,在该条语音对应的说话人无关矢量中融入所述目标说话人的说话人信息,得到该条语音对应的包含音素信息和所述目标说话人的说话人信息的矢量;
182.所述第一解码模块,用于根据该条语音对应的包含音素信息和所述目标说话人的说话人信息的矢量,生成具有所述目标说话人音色的语音。
183.可选的,本发明实施例提供的语音合成装置还可以包括:用于对音频转换模型进行训练的音频转换模型训练模块。音频转换模型训练模块在对音频转换模型进行训练时,具体用于:
184.通过所述第一编码模块对第一训练语音提取包含音素信息和说话人信息的矢量,作为所述第一训练语音对应的说话人相关矢量,所述第一训练语音为所述目标说话人的语音或者所述非目标说话人的语音;
185.通过所述矢量处理模块将所述第一训练语音对应的说话人相关矢量中的说话人信息去除,得到所述第一训练语音对应的说话人无关矢量,并根据所述第一训练语音对应的音素序列,确定所述第一训练语音对应的说话人无关矢量应服从的分布;
186.以所述第一训练语音对应的说话人相关矢量为依据,通过所述第二解码模块预测所述第一训练语音的波形信息,并获取所述第一训练语音的实际波形信息;
187.根据所述第一训练语音对应的说话人无关矢量、所述分布、预测的波形信息和所述实际波形信息,对音频转换模型进行参数更新。
188.可选的,音频转换模型训练模块在对音频转换模型进行训练时还用于:
189.根据所述第一训练语音对应的说话人相关矢量,预测所述第一训练语音的基频,并获取所述第一训练语音的实际基频;
190.音频转换模型训练模块在根据所述第一训练语音对应的说话人无关矢量、所述分布、预测的波形信息和所述实际波形信息,对音频转换模型进行参数更新时,具体用于:
191.根据所述第二训练语音对应的说话人无关矢量、所述分布、预测的波形信息、所述实际波形信息、预测的基频和所述实际基频,对音频转换模型进行参数更新。
192.可选的,所述矢量预测模型包括:第二编码模块、音素表示向量预测模块和第二解码模块;
193.所述第二编码模块,用于对输入的音素序列进行编码,输出输入的音素序列的编码结果;
194.所述音素表示向量预测模块,用于根据所述编码模块输出的编码结果预测输入所述编码模块的音素序列包含的每个音素的表示向量,输出预测结果;
195.所述第二解码模块,用于根据所述编码模块输出的编码结果和所述音素表示向量预测模块输出的预测结果,预测包含音素信息和目标说话人的说话人信息的矢量。
196.可选的,本发明实施例提供的语音合成装置还可以包括:用于对矢量预测模型进行训练的矢量预测模型训练模块。矢量预测模型训练模块在对所述矢量预测模型进行训练时,具体用于:
197.获取第二训练语音对应的音素序列作为训练音素序列,其中,所述第二训练语音为具有所述目标说话人音色的语音;
198.通过所述第二编码模块对所述训练音素序列进行编码,得到第一编码结果,并基于所述第一训练语音所属语种的多人单语种编码器对所述训练音素序列进行编码,得到第二编码结果;
199.以所述第一编码结果为依据,通过所述音素表示向量预测模块预测所述训练音素序列中每个音素的表示向量,得到预测的音素表示向量序列,并根据所述第一训练语音获取实际的音素表示向量序列;
200.以所述第一编码结果和预测的音素表示向量序列为依据,通过所述第二解码模块预测包含音素信息和所述目标说话人的说话人信息的矢量,并从所述训练语音中提取包含音素信息和所述目标说话人的说话人信息的矢量;
201.根据所述第一编码结果、所述第二编码结果、预测的音素表示向量序列、实际的音素表示向量序列、预测的矢量和提取的矢量,对矢量预测模型进行参数更新。
202.可选的,矢量预测模型训练模块在根据所述第一编码结果、所述第二编码结果、预
测的音素表示向量序列、实际的音素表示向量序列、预测的矢量和提取的矢量,对矢量预测模型进行参数更新时,具体用于:
203.根据所述第一编码结果和所述第二编码结果,确定第一预测损失;
204.根据预测的音素表示向量序列和实际的音素表示向量序列,确定第二预测损失;
205.根据预测的矢量和提取的矢量,确定第三预测损失;
206.根据所述第一预测损失、所述第二预测损失和所述第三预测损失,对矢量预测模型进行参数更新。
207.本发明实施例提供的语音合成装置,首先获取目标文本对应的音素序列,然后通过预先构建的语音合成模型中的矢量预测模型将音素序列处理成包含音素信息和目标说话人的说话人信息的矢量,作为目标矢量,最后以目标矢量为依据,通过构建的语音合成模型中的语音合成模块生成目标文本对应的合成语音。本发明实施例采用少量目标说话人的单一语种语音和大量非目标说话人的多语种语音可训练得到音频转换模型,进而可基于训练得到音频转换模型和大量非目标说话人的多语种语音获得大量具有目标说话人音色的多语种语音,从而可利用大量具有目标说话人音色的多语种语音训练得到能够处理多种不同语种文本对应的音素序列的矢量预测模型,进而由训练得到的矢量预测模型和语音合成模块构建出能够合成目标说话人多语种语音的语音合成模型,从而利用语音合成模型合成目标文本对应的语音,即本发明实施例提供的语音合成装置可实现目标说话人跨语种的语音合成。
208.第五实施例
209.本发明实施例还提供了一种语音合成设备,请参阅图10,示出了该语音合成设备的结构示意图,该语音合成设备可以包括:至少一个处理器1001,至少一个通信接口1002,至少一个存储器1003和至少一个通信总线1004;
210.在本发明实施例中,处理器1001、通信接口1002、存储器1003、通信总线1004的数量为至少一个,且处理器1001、通信接口1002、存储器1003通过通信总线1004完成相互间的通信;
211.处理器1001可能是一个中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
212.存储器1003可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
213.其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
214.获取目标文本对应的音素序列;
215.通过预先构建的语音合成模型中的矢量预测模型将所述音素序列处理成包含音素信息和目标说话人的说话人信息的矢量,作为目标矢量;
216.以所述目标矢量为依据,通过所述语音合成模型中的语音合成模块生成所述目标文本对应的合成语音;
217.其中,所述矢量预测模型采用具有所述目标说话人音色的多语种语音训练得到,所述具有所述目标说话人音色的多语种语音由训练得到的音频转换模型将非目标说话人的多语种语音的音色转换为所述目标说话人的音色得到,所述音频转换模型采用所述目标
说话人的单语种语音和所述非目标说话人的多语种语音训练得到。
218.可选的,所述程序的细化功能和扩展功能可参照上文描述。
219.第六实施例
220.本发明实施例还提供一种可读存储介质,该可读存储介质可存储有适于处理器执行的程序,所述程序用于:
221.获取目标文本对应的音素序列;
222.通过预先构建的语音合成模型中的矢量预测模型将所述音素序列处理成包含音素信息和目标说话人的说话人信息的矢量,作为目标矢量;
223.以所述目标矢量为依据,通过所述语音合成模型中的语音合成模块生成所述目标文本对应的合成语音;
224.其中,所述矢量预测模型采用具有所述目标说话人音色的多语种语音训练得到,所述具有所述目标说话人音色的多语种语音由训练得到的音频转换模型将非目标说话人的多语种语音的音色转换为所述目标说话人的音色得到,所述音频转换模型采用所述目标说话人的单语种语音和所述非目标说话人的多语种语音训练得到。
225.可选的,所述程序的细化功能和扩展功能可参照上文描述。
226.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
227.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
228.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1