语音合成模型的训练方法和语音合成方法与流程

文档序号:29792952发布日期:2022-04-23 18:06阅读:649来源:国知局
语音合成模型的训练方法和语音合成方法与流程

1.本技术涉及语音合成和人工智能技术领域,具体而言,本技术涉及一种语音合成模型的训练方法和语音合成方法。


背景技术:

2.语音合成技术是一项将输入文字转化为语音输出的技术,而情感语音合成(emotional speech synthesis,ess)则是旨在基于输入的文字生成具有不同预定义情感类别的自然表达语音的技术;其中,多人情感语音合成在情感语音合成的基础上,仅通过一个模型即可实现多发言人和多种情感的语音合成。
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.图1a为现有技术中多发音对象语音合成系统的框架示意图;
30.图1b为现有技术中多发音对象语音合成的原理框图;
31.图2为本技术提供的一种语音合成模型的训练方法流程示意图;
32.图3为本技术提供的一种语音合成模型的一种框架示意图;
33.图4为本技术提供的一种语音合成模型的另一种框架示意图;
34.图5为本技术提供的一种语音合成模型的又一种框架示意图;
35.图6为本技术提供的一种语音合成模型中第二预测编码模型的训练方法原理示意图;
36.图7为本技术提供的一种语音合成方法的流程示意图;
37.图8为一种应用本技术提供的语音合成方法的原理示意图;
38.图9为本技术提供的一种语音合成模型的训练装置的结构框图;
39.图10为本技术提供的一种语音合成装置的结构框图;
40.图11为本技术提供的一种电子设备的结构示意图。
具体实施方式
41.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能解释为对本发明的限制。
42.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
43.为了更好的理解及说明本技术实施例所提供的方案,下面首先对本技术所涉及的相关技术进行说明。
44.语音合成一般分为前端和后端两个模块,后端模块包括声学模型和声码器,前端模块负责对文本数据进行分析,提取后端模块所需要的相关信息。在本技术中主要针对语音合成的后端处理中的声学模型进行改进。
45.情感语音合成包括有单一发音对象的情感语音合成与多发音对象的情感语音合成。
46.其中,在单一发音对象的情感语音合成中,现有技术的大多数情感语音合成系统是使用来自单个发音对象的情感语音建立的,例如用情感编码实现了情感统计参数语音合成(statistical parametric speech synthesis,spss)、通过注入学习的情感嵌入(emotion embedding)引入端到端情感语音合成器、通过训练的全局风格标记(global style tokens,gst)来表示不同的情感。除了关于情感表示的研究以外,还有一些研究集中在控制合成语音的情感强度上。例如,根据情感数据集上测得的相对属性通过排序函数学习的连续简单标量来控制情感强度、基于插值技术使目标情感的强度逐渐变为中性情感。
47.其中,在多发音对象的情感语音合成中,参考图1a所示的现有技术中的情感语音合成系统,可见,在编码器和解码器的基础上,分别采用发音对象嵌入和情感嵌入控制所合成语音的发音对象(也可以称为发言对象)及其所对应的情感。参考图1b所示的现有技术中多发音对象的语音合成的原理框图,可见,在现有技术中,基于输入的文本数据进行文本分析后得到文本序列,将文本序列作为声学模型的输入数据,同时将在预存的发音对象1-n中
确定的目标发音对象,与在预存的情感1-n中确定的目标情感输入声学模型,由声学模型针对文本序列、目标发音对象、目标情感进行处理后得到梅尔谱图,进而采用声码器基于梅尔谱图进行处理得到音频数据。然而,当输入的目标发音对象和目标情况的组合并未作为训练数据进行训练时,由声学模型处理所得梅尔谱图所表征的情感语音的自然度低且自然表现力不足。
48.此外,现有技术中并没有针对只有中性情感语音数据的发言人的情况进行处理。由于训练时没有采用中性情感发言人的数据,即不存在中性情感发言人嵌入与其他非中性情感嵌入组合的情况,将在仅采用情感嵌入表示不同情感的情况下,导致非中性的情感嵌入与只有中性情感的发言人嵌入绑定,最终导致所合成的中性情感发言人所对应的情感语音自然度低、情感表现力不足。
49.另现有技术中为了实现多发音对象的情感语音合成,使用具有多个发音对象,且每个发音对象具有多种情感类型的训练数据,基于卷积神经网络(convolutional neural network,cnn)研究发音对象表示和情感表示的不同组合。由于存在部分发音对象没有对应的情感语音的情况,还针对情感语音迁移进行了研究。例如,基于情感加性模型(emotion additive model,eam)来研究中性情感和其他情感之间的差异、基于深度神经网络(deep neural networks,dnn)架构来研究迁移的情感表示。在此基础上,还可以考虑采用提取句子级别的隐含表示(一种粗粒度的韵律建模)学习与情感相关的韵律特征,然而该方法虽然可以学习部分的韵律特征,但是缺乏了可控性和鲁棒性。
50.为了解决上述问题中的至少一个,本技术基于多发音对象的情感语音合成和细粒度韵律建模,提供了一种语音合成模型的训练方法以及一种语音合成方法,基于细粒度韵律建模学习音素级别与情感相关的韵律特征,在通过基于该训练方法训练得到的语音合成模型进行情感语音合成时,能够有效提高语音合成中发音对象所对应情感语音的自然度与情感表现力。
51.为使本技术的目的、技术方案和优点更加清楚,下面将结合具体地实施例和附图对本技术的各可选的实施方式及本技术实施例的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。图2中示出了本技术实施例提供的一种语音合成模型的训练方法,该训练方法具体可以由本技术实施例提供的电子设备执行,具体地电子设备可以是终端,也可以是服务器,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。如图3所示,该语音合成模型包括文本编码模块、文本解码模块以及第一预测编码模块;在本技术中文本编码模块与文本解码模块分别采用文本编码器、文本解码器构成,其中,文本编码器与文本解码器的结构与fastspeech一致(fastspeech是基于自我注意机制卷积的端到端tts深度学习模型end-to-end text-to-speech synthesis model,e2e tts);第一预测编码模块可以为预测编码器reference encoder,具体可以采用变分自动编码器(variational auto-encoder,vae)构成,第一预测
编码模块可以采用6层2维卷积层与1层门控循环单元(gated recurrent unit,gru)的结构,本技术对该结构不作限定,也可以采用其他网络结构。如图2中所示,该训练方法可以包括下述步骤s101-s105:
52.步骤s101:获取训练数据集。
53.其中,训练数据集包括训练数据集包括发音对象的语音数据,以及与语音数据对应的文本数据。可选地,语音数据可以对应于不同的预定义情感类型,预定义情感类型可以包括生气、开心、中性、伤心等四种情感类型;发音对象可以是人、也可以是动物等对象,可以适应不同的应用场景采用不同发音对象的语音数据与文本数据对模型进行训练;在下述实施例中,主要针对发音对象为人进行说明。在本技术中,适应多发音对象的情感语音合成时,用于训练语音合成模型的训练数据集中,可以包括若干发音对象的若干语音数据以及与语音数据对应的文本数据;如:可以包括10个发音对象的相关数据,其中2个发音对象(一个男性、一个女性)具有预定义情感(生气、开心、中性、伤心)的少量语音数据(如每种情感包括500句语音数据);其中8个(4个男性,四个女性)只有中性情感的语音数据(包括1000句语音数据)。具体地,训练数据集包括的相关数据可参考如下表1所示:
54.表1
[0055][0056]
可选地,在本技术实施例中针对包括所有预定义情感类别的语音数据的发音对象称为情感发音对象;针对只有中性情感的语音数据的发音对象称为中性发音对象;也即发音对象的类型包括情感发音对象与中性发音对象两种。具体地,所有语音数据对应的文本数据的内容不限。
[0057]
可选地,语音数据具有音素边界时间信息,该音素边界时间信息可以是人工标注的,也可以是通过识别模型强制对齐文本数据得到。
[0058]
步骤s102:通过文本编码模块基于文本数据,得到音素编码序列。
[0059]
如图3所示,步骤s102可理解为采用文本编码器进行文本编码的过程,输出的结果为音素编码序列(也可称为文本编码),具体地,可以通过以下步骤a1-a2实现:
[0060]
步骤a1:基于文本数据经语音合成的前端处理得到文本序列;步骤a2:将文本序列输入文本编码模块得到音素编码序列。
[0061]
具体地,语音合成的前端处理中包括多个序列标注任务,如分词任务、韵律边界预测任务、多音字消歧任务等,经语音合成的前端处理后所得的文本序列是一个音素序列,可作为语音合成后端处理的输入数据。其中,音素是根据语音的自然属性划分出来的最小语音单位,针对中文分为元音与辅音两大类。音素依据音节里的发音动作来分析,一个动作构成一个音素,如汉语音节中啊a对应一个音素,爱ai对应一个音素,代d ai对应两个音素等。
[0062]
可选地,在本技术实施例中文本编码模块以文本序列y1,

,yu为输入数据,得到输出数据为音素编码序列h1,

,hu;其中,u为音素个数。
[0063]
其中,文本序列针对中文而言,属于带声调韵母的序列,如合成二字对应h2 e2 ch2 eng2(在语音合成的前端处理时,可以通过数字1、2、3和4分别表示不同的声调;可选地,还可以采用0或者空null表示轻声“无声调”)。
[0064]
步骤s103:通过第一预测编码模块基于语音数据,得到第一音素隐含表示。
[0065]
在本技术实施例中,在语音合成模型中基于细粒度的韵律建模设置了第一预测编码模块;具体地,通过类似于vae的预测编码器,以捕获可能无法从文本数据输入中预测的音素级变化,以提取与情感相关的韵律的相对变化特征(如基频能量等,在本技术实施例中称为音素隐含表示)。如图3所示,步骤s103可理解为第一预测编码模块针对第一梅尔谱图进行音素隐含编码,得到的输出数据为第一音素隐含表示(也可称为第一音素隐含编码)。
[0066]
步骤s104:通过文本解码模块基于音素编码序列、第一音素隐含表示、以及发音对象嵌入与情感嵌入,得到预测的语音合成数据。
[0067]
具体地,可以在音素编码序列中拼接第一音素隐含表示后,获得新的音素编码序列,进而将新的音素编码序列与发音对象嵌入、情感嵌入进行拼接获得扩展后的音素编码序列作为文本解码模块的输入数据。如图3所示,经文本解码器对输入数据进行处理后,得到的预测语音合成数据为第二梅尔谱图。
[0068]
步骤s105:基于语音数据与预测的语音合成数据更新语音合成模型。
[0069]
具体地,可以通过语音数据与预测的语音合成数据构建损失函数,进而计算损失函数的值以更新语音合成模型的网络参数。
[0070]
在本技术实施例中,相对于现有技术,基于细粒度的韵律建模增设了第一预测编码模块,以在结合中性发音对象嵌入进行训练时,提高模型应用于语音合成中发音对象所对应情感语音的自然度和情感表现力。
[0071]
下面对本技术提供的各可选实施例进行详细说明。
[0072]
在一实施例中,为了保证基于第一预测编码模块得到的第一音素隐含表示与发音对象无关,在本技术实施例中,语音合成模型还包括基于发音对象的第一分类模块,以及连接第一分类模块与第一预测编码模块的梯度反转层(gradient reversal layer,grl),进而实现情感与发音对象的解绑,提升所合成情感语音的自然度和情感表现力。具体地,训练方法还包括步骤b1:将第一音素隐含表示输入第一分类模块,得到第一分类结果。
[0073]
具体地,第一预测编码模块与第一分类模块通过梯度反转层实现域对抗训练。可选地,第一分类结果可以理解为发音对象的后验分布。
[0074]
相应的,步骤s105基于语音数据与预测的语音合成数据更新语音合成模型,包括以下步骤s1051-s1054:
[0075]
步骤s1051:基于语音数据与预测的语音合成数据计算第一损失函数。
[0076]
具体地,关于步骤s1051中第一损失函数的具体计算过程将在后续实施例中进行说明,在此暂不进行解释。
[0077]
步骤s1052:基于第一分类结果与第一分类结果对应的先验分布的交叉熵损失计算第二损失函数。
[0078]
具体地,当所构建对抗网络中仅包括针对发音对象的第一分类模块时,第二损失函数由第一分类结果与第一分类结果对应的先验分布的交叉熵损失构建。
[0079]
步骤s1053:通过梯度反转层对第二损失函数进行处理,获得处理后的第二损失函
数。
[0080]
具体地,梯度反转层在本技术实施例中实现反向传播,相应神经元权值增量符号取反,达到对抗的目的;即经梯度反转层处理的第二损失函数表征为取反的函数。
[0081]
步骤s1054:基于第一损失函数与处理后的第二损失函数更新语音合成模型。
[0082]
具体地,通过第一损失函数与第二损失函数构建总损失函数,以基于总损失函数更新语音合成模型的网络参数。在总损失函数中,第一损失函数对应正值,处理后的第二损失函数对应负值。
[0083]
在一实施例中,当针对中文进行语音合成时,在训练时,第一预测编码模块的输入数据还包括声调嵌入。相应地,如图4所示,为了保证基于第一预测编码模块得到的第一音素隐含表示与发音对象和声调无关,在本技术实施例中,语音合成模型除包括上述实施例描述的第一分类模块以外,还包括基于声调的第二分类模块;梯度反转层(gradient reversal layer,grl)还连接第二分类模块与第一预测编码模块,进而实现情感与发音对象、情感与声调的解绑,提升所合成情感语音的自然度和情感表现力。
[0084]
具体地,训练方法还包括以下步骤b2:将第一音素隐含表示输入第二分类模块,得到第二分类结果。
[0085]
具体地,第一预测编码模块与第二分类模块通过梯度反转层实现域对抗训练。可选地,第二分类结果可以理解为声调的后验分布。
[0086]
相应地,步骤s1052基于第一分类结果的交叉熵损失计算第二损失函数,包括:计算第一分类结果与第一分类结果对应的先验分布的第一交叉熵损失,第二分类结果与第二分类结果对应的先验分布的第二交叉熵损失;基于第一交叉熵损失与第二交叉熵损失的和,得到第二损失函数。
[0087]
具体地,当所构建对抗网络中包括针对发音对象的第一分类模块与针对声调的第二分类模块时,第二损失函数由第一交叉熵损失与第二交叉熵损失的和构建。
[0088]
在本技术实施例中,为保证第一预测编码模块在编码第一音素隐含表示zu时能够编码到韵律的相对变化,去除其中的发音对象信息和声调信息(中文声调与绝对基频f0相关),分别基于发音对象和声调增加对抗网络。可选地,在第一分类模块和第二分类模块的输入之后插入一个梯度反转层,该梯度反转层将梯度按-λ
adv
(权重取反)进行缩放,实现第一分类模块、第二分类模块与第一预测编码模块的对抗。
[0089]
在一可行的实施例中,上述实施例描述的第一分类模块与第二分类模块可以独立存在,相互之间不存在依赖关系。相应地,当仅有第一分类模块或仅有第二分类模块时,第二损失函数可以仅基于任一分类模块的分类结果的交叉熵损失确定。
[0090]
其中,第一预测编码模块可以由变分自编码器构成;结合第一分类模块和/或第二分类模块构建的对抗网络可以包括一层全连接层与一个激励函数softmax。
[0091]
在一实施例中,步骤s103通过第一预测编码模块基于语音数据,得到第一音素隐含表示,包括:将基于语音数据提取的第一梅尔谱图,以及与第一梅尔谱图对应的发音对象嵌入、情感嵌入输入第一预测编码模块,得到第一音素隐含表示。
[0092]
可选地,基于语音数据提取的第一梅尔谱图可以作为语音合成模型的输出目标。输入第一预测编码模块的发音对象与情感可以与第一梅尔谱图相对应。
[0093]
在一可行的实施例中,当将语音合成模型应用于中文的语音合成处理时,在训练
时输入第一预测编码模块的数据还可以包括声调嵌入,即将第一梅尔谱图、与第一梅尔谱图对应的发音对象嵌入、情感嵌入、声调嵌入输入第一预测编码模块,得到第一音素隐含表示。关于声调嵌入,在本技术实施例中使用四个声调和一个“无声调”的轻声声调。
[0094]
具体地,以与文本序列具有音素对齐的对应的第一梅尔谱图作为第一预测编码模块的输入,同时加入与第一梅尔谱图对应的发音对象、情感、以及声调作为第一预测编码模块的补充输入信息,采用vae预测3维的均值μu与方差σu,并从中重采样出3维第一音素隐含表示zu(图4中虚线表示重采样的处理过程)。
[0095]
在一实施例中,如图4所示语音合成模型还包括长度调节模块;步骤s104通过文本解码模块基于音素编码序列、第一音素隐含表示、以及发音对象嵌入与情感嵌入,得到预测的语音合成数据,包括以下步骤s1041-s1042:
[0096]
步骤s1041:将第一音素隐含表示与音素编码序列进行拼接,将拼接后的音素编码序列输入长度调节模块,得到基于每个音素的持续时间进行扩展后的音素编码序列。
[0097]
具体地,将第一音素编码表示zu与对应的音素编码序列hu进行拼接,得到新的音素编码序列送入长度调节模块;其中,长度调节模块可以由长度调节器构成。
[0098]
可选地,可以将每个音素对齐梅尔谱的长度称为音素的持续时间。长度调节模块主要针对每个音素的持续时间将拼接后的音素编码序列进行扩展。在基于每个音素的持续时间得到扩展后的音素编码序列的处理中,长度调节器将每个音素编码按照该音素长度(帧数)进行重复,(如音素h2的长度为3帧,则将其对应的音素编码重复3次)。在本技术实施例中,设置长度调节模块旨在确保文本编码模块所得的音素编码序列与语音数据对应的第一梅尔谱的序列具有相同的长度。
[0099]
步骤s1042:将扩展后的音素编码序列与第一梅尔谱图对应的发音对象嵌入以及情感嵌入进行拼接后,输入文本解码模块,得到预测的第二梅尔谱图。
[0100]
具体地,将扩展后的音素编码序列与发音对象嵌入s以及情感嵌入e进行拼接,拼接所得数据作为文本解码模块的输入数据,进而由文本解码模块进行处理得到预测的第二梅尔谱图同时第二梅尔谱图可以作为语音合成模型的输出(即在本技术实施例中,模型输出的语音合成数据具体为第二梅尔谱图)。
[0101]
文本解码器通过长度可调节的音素编码序列(扩展后的音素编码序列),可以学习到发音对象嵌入和情感嵌入来预测梅尔频谱图。可选地,为了表示不同的情感类型,可以采用可学习的情感嵌入方法,也可以采用gst的加权总和方法对与情感相关的数据进行处理。
[0102]
可选地,长度调节模块中包含时长预测单元,步骤s1041将拼接后的音素编码序列输入长度调节模块,得到基于每个音素的持续时间进行扩展后的音素编码序列,还包括以下步骤s10411-s10413:
[0103]
步骤s10411:通过时长预测单元基于与第一梅尔谱图对应的发音对象嵌入与情感嵌入,确定音素编码序列中每个音素的预测持续时间。
[0104]
步骤s10412:基于第一梅尔谱图确定音素编码序列中每个音素的目标持续时间。
[0105]
具体地,目标持续时间属于真实信息,可以采用一个额外的tts模型抽取encoder-decoder之间的注意力对齐信息得到。该目标持续时间表征语音数据所对应第一梅尔谱图中每个音素的真实持续时间。
[0106]
步骤s10413:基于预测持续时间与目标持续时间更新时长预测单元。
[0107]
可选地,可以通过预测持续时间与目标持续时间构建损失函数,如可以采用均方误差作为损失函数,进而基于该损失函数更新时长预测单元。
[0108]
上述步骤s10411-s10413用于训练时长预测单元,而在训练语音合成模型时,具体采用目标持续时间进行训练。可理解的是,时长预测单元与语音合成模型协同训练。
[0109]
可选地,时长预测单元的训练可以在训练语音合成模型的同时进行训练。具体地,在训练阶段,可以从训练数据集中的语音数据中提取每个音素的真实时长;而在应用阶段(在线进行语音合成时),则可以通过时长预测单元结合目标发音对象嵌入和目标情感嵌入确定每个音素的预测持续时间。也即,每个音素的预测持续时间取决于目标发音对象和目标情感。
[0110]
在一可行的实施例中,在时长预测单元中,除可基于目标发音对象和目标情感确定每个音素的预测时长外,还可以结合给定的语速、音调等信息调整每个音素的预测时长。
[0111]
在一实施例中,步骤s105基于语音数据与预测的语音合成数据更新语音合成模型,包括以下步骤s1501-s1053:
[0112]
步骤s1051:基于第一梅尔谱图与第二梅尔谱图确定梅尔谱图的重构误差。
[0113]
具体地,第一梅尔谱图可以是对训练数据中的语音数据进行提取获得,也即在训练阶段,第一梅尔谱图可以视为真实的梅尔谱图;第二梅尔谱图为文本解码模块的输出数据,也可以作为语音合成模型所输出的预测的梅尔谱图;在此基础上,在计算第一损失函数之前,首先确定真实的梅尔谱图与预测的梅尔谱图之间的重构误差。
[0114]
步骤s1052:基于第一音素隐含表示与第一音素隐含表示对应的先验分布确定相对熵损失。
[0115]
可选地,针对本技术实施例中增设的第一预测编码模块,该模块的输出数据为第一音素隐含表示,在语音合成模型中包括第一预测编码沫快速时,第一损失函数除包括步骤s1051所得的重构误差外,还包括由第一音素隐含表示与第一音素隐含表示对应的先验分布之间的相对熵损失。其中,相对熵在本技术实施例中可以理解为kl散度。
[0116]
步骤s1053:基于重构误差与相对熵损失计算第一损失函数的值。
[0117]
具体地,第一损失函数可以采用l
elbo
进行表示,l
elbo
为标准高斯先验下的β-vae目标,具体地,l
elbo
可表示成如下公式(1)所示:
[0118][0119]
其中,公式(1)中的第一项为步骤s1051所得的重构误差,第二项为步骤s1052所得的相对熵损失。其中,x为梅尔谱图、y为文本序列、z表示第一音素隐含表示,zu对应于第u个音素的隐含表示,u为音素数量、s为发音对象嵌入、e为情感嵌入,d
kl
表征为采用kl散度进行计算,n(0,i)表征正态分布。可选地,设定0<λ
kl
<1。
[0120]
可选地,在基于第一损失函数与第二损失函数更新语音合成模型时,可以基于第一损失函数与第二损失函数构建总损失函数l,具体可以表达如下公式(2)所示:
[0121][0122]
总损失函数可以表述为结合第一损失函数和第二损失函数之间的对抗训练目标(即证据下界evidence lower bound,elbo与域对抗训练)。其中,为两个对抗网络的交叉熵损失的和,λ
adv
为损失权重(在此表达为负,可理解为第一预测编码模块与对抗网络之间的对抗关系)。
[0123]
在一实施例中,如图5和6所示,考虑到在线语音合成的情况下,无真实的语音数据对应的梅尔谱图作为第一预测编码模块的输入,本技术实施例的语音合成模型还包括第二预测编码模块,通过训练的第二预测编码模块,用于预测各音素在目标情感下的隐含表示,以替代从真实的语音数据中提取的隐含表示。
[0124]
具体地,语音合成模型的训练方法还包括以下步骤s201-s203:
[0125]
步骤s201:通过训练后的语音合成模型中的第一预测编码模块基于语音数据,得到第二音素隐含表示的均值。
[0126]
具体地,采用通过步骤s101-s105训练好的语音合成模型中的第一预测编码模块reference encoder对训练数据中每条语音数据提取其音素级隐含表示的均值μ1,

,μu,作为第二预测编码模块的输出目标。第二音素隐含表示也可称为第二音素隐含编码。
[0127]
步骤s202:将文本数据经语音合成的前端处理得到的文本序列输入第二预测编码模块,得到第三音素隐含表示。
[0128]
具体地,关于将文本数据经语音合成的前端处理得到文本序列的情况可以参考步骤a1描述内容,在此不再详述。其中,第三音素隐含表示(也可称为第三音素隐含编码)可以理解为第二预测编码模块输出的预测值
[0129]
步骤s203:将第三音素隐含表示与第二音素隐含表示的均值更新第二预测编码模块。
[0130]
可选地,区别于语音合成模型的训练,本技术实施例针对第二预测编码模型进行独立的训练,主要采用训练后的语音合成模型中的第一预测编码模型对语音数据进行音素隐含表示的提取后将输出数据作为目标值,进而在第二预测编码模型针对文本数据进行音素隐含表示的提取后将输出数据作为预测值,基于预测值与目标值构建第三损失函数(预测值与目标值的均方根误差),并基于第三损失函数更新第二预测编码模块的网络参数。由此可见,第一预测编码模块的输入数据主要为语音数据对应的梅尔谱图;而第二预测编码模块的输入数据主要为文本数据对应的文本序列(音素序列)。
[0131]
在本技术实施例中,考虑到在线语音合成阶段可能不存在与待合成文本数据对应的真实的语音数据,因此为使得在待合成文本数据中直接预测音素隐含表示,本技术实施例针对语音合成模型额外训练有第二预测编码模块(音素隐含编码预测器phoneme latent code predictor)。除文本数据外,预测变量(第三音素隐含表示)还取决于发音对象和情感。对于训练第二预测编码模块的训练数据中的每个语音数据,从第一预测编码模块中提取语音数据中音素隐含表示的均值,并将其用作第三隐含表示的目标值。用均方根误差(mean square error,mse)损失训练第二预测编码模块。
[0132]
具体地,在训练第二预测编码模块时,输入第二预测编码模块的数据包括:基于文
本数据经语音合成前端处理得到的文本序列、情感嵌入、与输入第一预测编码模块的语音数据对应的发音对象嵌入。
[0133]
本技术还提供一种语音合成方法,如图7和8所示,可以包括以下步骤s301-s303:
[0134]
步骤s301:获取目标合成文本、目标发音对象嵌入与目标情感嵌入。
[0135]
可选地,在具体的应用场景中,目标合成文本可以是用户自行输入或在预存的文本中挑选的文本数据;目标发音对象可以是用户在预存的发音对象中挑选的发音对象(如语音合成系统中包括发音对象a、b、c三个,则用户可以在三个中选择任意一个发音对象作为目标发音对象);目标情感可以是用户根据自身需求选择的情感。在一实施例中,上述目标合成文本、目标发音对象、目标情感还可以是语音合成系统根据默认设置、数据处理所得结果等所确定的内容。本技术实施例对此不作限定。
[0136]
步骤s302:当存有与目标合成文本以及目标情感一致的目标语音数据时,通过语音合成模型基于目标合成文本、目标发音对象嵌入、目标情感嵌入、目标语音数据以及与目标语音数据对应的预存发音对象嵌入,得到目标发音对象对应目标情感的语音合成数据;其中,语音合成模型是通过步骤s101-s105所对应的语音合成模型的训练方法训练得到的。
[0137]
具体地,步骤s302可以适用于离线语音合成的情况,在离线语音合成的场景中,一般语音合成系统中预存有原始下载的语音数据(一般表示为一个发音对象包括多种语音数据,如在配置语音合成系统时,可在线下载若干发音对象对应的若干语音数据,作为系统离线时进行语音合成的音库)。当基于步骤s301确定目标合成文本y与目标情感e
t
后,即可进一步确定是否存有与目标合成文本y、目标情感e
t
一致的目标语音数据。若存在时,则通过语音合成模型基于目标语音数据进行语音合成处理,得到目标发音对象s
t
所对应目标情感e
t
的语音合成数据。其中,语音合成模型至少包括文本编码模块、文本解码模块与第一预测编码模块。
[0138]
其中,由于在语音合成系统中目标语音数据除与文本数据相应外,还与发音对象具有绑定关系,即在执行上述语音合成方法的步骤s302时,第一预测编码模块的输入数据包括有目标语音数据、与目标语音数据对应的预存发音对象嵌入、目标情感嵌入。
[0139]
可选地,步骤s302的处理可理解为语音迁移,也即将目标语音数据根据目标发音对象与目标情感进行迁移,迁移后得到目标发音对象对应的目标情感语音数据(在本技术实施例中该语音数据表现为梅尔谱图)。
[0140]
步骤s303:当不存在与目标合成文本以及目标情感一致的目标语音数据时,通过语音合成模型基于目标合成文本、目标发音对象嵌入、目标情感嵌入以及任一预存发音对象嵌入,得到目标发音对象对应目标情感的语音合成数据;其中,语音合成模型是通过步骤s201-s203所对应的语音合成模型的训练方法训练得到的。
[0141]
具体地,步骤s303可以适用于针对在线语音合成的情况,在在线语音合成的场景中,一般由用户根据实际需求输入目标合成文本并选定目标情感,此时语音合成系统中一般不存在与目标合成文本、目标情感相一致的目标语音数据。此时,即调用包括第二预测编码模块的语音合成模型进行语音合成处理。当基于步骤s301确定目标合成文本y与目标情感e
t
后,即可进一步确定是否存有与目标合成文本y、目标情感e
t
一致的目标语音数据。若不存在时,则通过语音合成模型基于目标合成文本进行语音合成处理,得到目标发音对象s
t
所对应目标情感e
t
的语音合成数据。其中,语音合成模型至少包括文本编码模块、文本解码
模块与第二预测编码模块。
[0142]
可选地,步骤s303的处理可理解为语音合成,也即基于目标合成文本、目标发音对象嵌入、目标情感嵌入进行语音合成,得到目标发音对象对应的目标情感语音数据(在本技术实施例中该语音数据表现为梅尔谱图)。
[0143]
在一实施例中,在步骤s302中通过语音合成模型基于目标合成文本、目标发音对象嵌入、目标情感嵌入、目标语音数据以及与目标语音数据对应的预存发音对象嵌入,得到目标发音对象对应目标情感的语音合成数据,包括以下步骤s3021-s3023:
[0144]
步骤s3021:将基于目标语音数据提取的第一梅尔谱图,以及与第一梅尔谱图对应的预存发音对象嵌入、目标情感嵌入输入第一预测编码模块,得到第一音素隐含表示。
[0145]
可选地,第一预测编码模块的输入数据还可以包括声调嵌入。
[0146]
步骤s3022:将目标合成文本对应的目标文本序列输入文本编码模块,得到音素编码序列。
[0147]
步骤s3023:通过文本解码模块基于音素编码序列、第一音素隐含表示、目标发音对象嵌入、目标情感嵌入,得到目标发音对象对应目标情感的第二梅尔谱图。
[0148]
具体的,以预存发音对象的目标语音数据对应的梅尔谱图x
t
、预存发音对象s
t
、目标情感e
t
及声调序列作为第一预测编码模块reference encoder的输入数据,以该第一预测编码模块提取得到的第一音素隐含表示、以及与经过文本编码模块得到的音素编码序列hu作为长度调节模块的输入数据得到扩展后的音素编码序列,并将扩展后的音素编码序列、目标发音对象、目标情感作为文本解码模块的输入数据,即可得到目标发音对象所对应目标情感的语音合成数据。可选地,由语音合成模型预测所得的语音合成数据为梅尔谱图。
[0149]
在一实施例中,在步骤s303中通过语音合成模型基于目标合成文本、目标发音对象、目标情感以及任一预存发音对象嵌入,得到目标发音对象对应目标情感的语音合成数据,包括以下步骤s3031-s3033:
[0150]
步骤s3031:将目标合成文本对应的目标文本序列,以及任一预存发音对象嵌入、目标情感嵌入输入第二预测编码模块,得到第三音素隐含表示。
[0151]
可选地,第一预测编码模块的输入数据还可以包括声调嵌入。
[0152]
步骤s3032:将目标文本序列输入文本编码模块,得到音素编码序列。
[0153]
步骤s3033:通过:文本解码模块基于音素编码序列、第三音素隐含表示、目标发音对象嵌入、目标情感嵌入,得到目标发音对象对应目标情感的第二梅尔谱图。
[0154]
具体的,以任一预存发音对象嵌入(当目标发音对象为仅有中性情感语音数据的发音对象时,目标发音对象与任一预存发音对象不同)、目标情感嵌入、目标合成文本对应的文本序列作为第二预测编码模块的输入数据,得到每个音素对应的第三音素隐含表示再以以及经过文本编码器得到的音素编码序列hu作为长度调节模块的输入数据得到扩展后的音素编码序列,并以扩展后的音素编码序列、目标发音对象嵌入、目标情感嵌入作为解码器的输入数据,即可得到目标发音对象所对应目标情感的语音合成数据。可选地,由语音合成模型预测所得的语音合成数据为梅尔谱图。
[0155]
可选地,在本技术实施例提供的语音合成方法中,预存发音对象可以包括在训练语音合成模型时所采用训练数据集中的若干发音对象,仅包括中性情感的语音数据的发音对象可以视为中性发音对象,包括所有预定义情感类别的语音数据的发音对象可以视为情
感发音对象。
[0156]
在一实施例中,目标合成文本对应的目标文本序列可以通过执行下述步骤获得:基于目标合成文本经语音合成的前端处理得到目标文本序列。
[0157]
具体地,可理解为采用本技术提供的语音合成模型进行语音合成的后端处理之前的前端处理过程,也即将语音合成的前端处理结果作为本技术实施例中语音合成模型中文本编码模块的输入数据。可选地,目标文本序列为目标音素序列。
[0158]
基于上述实施例的语音合成模型,在本技术中还可以添加一个后处理网络(声码器),将梅尔谱图转换为线性谱,并使用griffin-lim算法构造音频数据进行输出。
[0159]
结合上述实施例的说明,在本技术实施例中,基于情感发音对象与中性发音对象构建了多发音对象的语音合成模型,该模型采用细粒度的vae(reference encoder)建模音素级别的韵律变化,采用句子级别表示建模全局韵律变化。进一步地,还训练有第二预测编码模块(音素隐含预测编码器),以替代第一预测编码模块直接从文本序列中针对音素隐含表示进行预测。
[0160]
本技术实施例提供的语音合成方法可应用于多种领域,如车载语音导航、智能终端的语音助手、机器人问答、视障阅读等。下面针对本技术实施例提供的语音合成方法给出一种可行的应用例:
[0161]
假设当前处于无网或弱网环境下,用户希望使用阅读听书app,此时阅读听书app的显示界面上针对不同的阅读内容,或针对不同的发音人(预存发音对象,一般包括至少两个,取决于该app的离线音库配置)对应预存有相应的语音数据。此时,用户可根据自身需求选择目标发音人、目标情感,如当前可选择发音人包括阅读1、阅读2、阅读3,情感包括中性、开心、伤心、生气等时,假设用户针对待阅读内容a选择目标发音人为阅读1,目标情感为开心时,若针对待阅读内容a与目标情感存在有预存发音对象相应的目标语音数据时,则可通过本技术提供的语音合成模型进行语音迁移,将基于目标语音数据进行语音迁移获得目标发音人所对应目标情感的语音合成数据,并进行输出。此时,用户即可听到由终端输出的由目标发音人基于开心的情感朗读的阅读内容a。具体地,目标语音数据对应的梅尔谱图为语音合成模型中第一预测编码模块的输入数据,待阅读内容a对应的文本序列为文本编码模块的输入数据。
[0162]
假设当前网络状态良好(在线),用户希望针对输入的目标合成文本“小白兔,白又白,两只耳朵竖起来”获得目标发音人(如小女孩1)在目标情感(开心)下的语音数据时,可以通过本技术实施例提供的语音合成模型进行语音合成,基于目标合成文本进行语音合成获得目标发音人所对应目标情感的语音合成数据,并进行输出。此时,用户即可听到由终端输出的由小女孩1基于开心的情绪朗读的目标合成文本。具体地,目标合成文本对应的文本序列为语音合成模型中第二预测编码模块的输入数据,目标合成文本对应的文本序列为文本编码模块的输入数据。可选地,目标合成文本由用户自行输入,目标发音人可以是系统当前支持的所有发音人中的一个,目标情感可以是系统当前支持的所有情感类型中的一种。
[0163]
可选地,本技术实施例提供的语音合成方法的执行设备可以是本技术提供的电子设备,该电子设备可以是终端也可以是服务器。当该方法置于终端执行时,步骤s301获取数据的步骤可以理解为用户输入数据的过程,进而步骤s302或步骤s303输出语音合成数据时,终端可以直接基于该语音合成数据进行播放。当该方法置于服务器执行时,步骤s301获
取数据的步骤可以理解为终端向服务器传送数据的过程,进而步骤s302或步骤s303输出语音合成数据后,服务器将下发至终端,终端基于接收到的语音合成数据进行播放。
[0164]
为更好地表示本技术实施例提供的语音合成模型在进行情感语音合成中的效果,给出下述表2所示的实验数据:
[0165]
表2
[0166][0167]
表1所示的数据中,现有1表示基于使用情感嵌入作为情感表示的方法(baseline method using emotion embedding as emotion representation,base-emb)进行的语音合成处理对应的实验数据;现有2表示基于使用训练好的gst的加权总和作为不同情感表示的方法(baseline method using the weighted sum of trained gsts to represent different emotions,base-gst)进行的语音合成处理对应的实验数据。
[0168]
表1所示数据为对进行语音合成处理(包括语音迁移、语音合成)中的只有中性情感的发音对象的各情感语音的自然度、发音对象相似度、情感表现力三方面进行平均意见得分(mean opinion score,mos)打分(5分为最高分)。具体地,从表1可见,(1)不管是语音迁移还是语音合成,语音的自然度和情感表现力都明显优于现有技术;(2)基于本技术提供语音合成模型进行语音合成时,不管是对中性发音对象还是对情感发音对象的相关数据进行处理,其所得的语音的自然度和情感表现力都优于现有技术。
[0169]
对应于本技术所提供的训练方法,本技术实施例还提供一种语音合成模型的训练装置,语音合成模型包括文本编码模块、文本解码模块以及第一预测编码模块;如图9所示,训练装置包括:训练数据获取模块901、文本编码模块902、音素编码模块903、文本解码模块904。
[0170]
训练数据获取模块901,用于获取训练数据集;其中,训练数据集包括发音对象的语音数据,以及与语音数据对应的文本数据。
[0171]
文本编码模块902,用于通过文本编码模块,基于文本数据,得到音素编码序列。
[0172]
音素编码模块903,用于通过第一预测编码模块,基于语音数据,得到第一音素隐含表示。
[0173]
文本解码模块904,用于通过文本解码模块,基于音素编码序列、第一音素隐含表示、以及发音对象嵌入与情感嵌入,得到预测的语音合成数据。
[0174]
更新模块905,用于基于语音数据与预测的语音合成数据更新语音合成模型。
[0175]
可选地,语音合成模型还包括基于发音对象的第一分类模块以及连接第一分类模块与第一预测编码模块的梯度反转层;训练装置900还包括:
[0176]
第一对抗模块,用于将第一音素隐含表示输入第一分类模块,得到第一分类结果。
[0177]
更新模块905,包括以下单元:
[0178]
第一计算单元,用于基于语音数据与预测的语音合成数据计算第一损失函数。
[0179]
第二计算单元,用于基于第一分类结果与第一分类结果对应的先验分布的交叉熵损失计算第二损失函数。
[0180]
梯度反转单元,用于通过梯度反转层对第二损失函数进行处理,获得处理后的第二损失函数。
[0181]
更新单元,用于基于第一损失函数与第二损失函数更新语音合成模型。
[0182]
可选地,语音合成模型还包括基于声调的第二分类模块;梯度反转层还连接第二分类模块与第一预测编码模块;训练装置900还包括:
[0183]
第二对抗模块,用于将第一音素隐含表示输入第二分类模块,得到第二分类结果。
[0184]
第二计算单元还用于:计算第一分类结果与第一分类结果对应的先验分布的第一交叉熵损失,第二分类结果与第二分类结果对应先验分布的第二交叉熵损失;基于第一交叉熵损失与第二交叉熵损失的和,得到第二损失函数。
[0185]
其中,第一预测编码模块由变分自编码器构成。
[0186]
可选地,文本编码模块902还用于基于文本数据经语音合成的前端处理得到文本序列;将文本序列输入文本编码模块得到音素编码序列。
[0187]
可选地,音素编码模块903还用于将基于语音数据提取的第一梅尔谱图,以及与第一梅尔谱图对应的发音对象嵌入、情感嵌入输入第一预测编码模块,得到第一音素隐含表示。
[0188]
可选地,语音合成模型还包括长度调节模块;文本解码模块904还用于:将第一音素隐含表示与音素编码序列进行拼接,将拼接后的音素编码序列输入长度调节模块,得到基于每个音素的持续时间进行扩展后的音素编码序列;将扩展后的音素编码序列与第一梅尔谱图对应的发音对象嵌入以及情感嵌入进行拼接后,输入文本解码模块,得到预测的第二梅尔谱图。
[0189]
可选地,长度调节模块中包含时长预测单元,文本解码模块904还用于:通过所述时长预测单元基于与所述第一梅尔谱图对应的发音对象嵌入与情感嵌入,确定所述音素编码序列中每个音素的预测持续时间;基于所述第一梅尔谱图确定所述音素编码序列中每个音素的目标持续时间;基于所述预测持续时间与目标持续时间更新所述时长预测单元。
[0190]
可选地,更新模块905还用于:基于第一梅尔谱图与第二梅尔谱图确定梅尔谱图的重构误差;基于第一音素隐含表示与第一音素隐含表示对应的先验分布确定相对熵损失;基于重构误差与相对熵损失计算第一损失函数的值。
[0191]
可选地,语音合成模型还包括第二预测编码模块,训练装置还包括:
[0192]
目标输出模块,用于通过训练后的语音合成模型中的第一预测编码模块基于语音数据,得到第二音素隐含表示的均值。
[0193]
音素隐含预测模块,用于将文本数据经语音合成的前端处理得到的文本序列输入第二预测编码模块,得到第三音素隐含表示;
[0194]
音素编码更新模块,用于基于第二音素隐含表示的均值与第三音素隐含表示更新第二预测编码模块。
[0195]
对应于本技术提供的语音合成方法,本技术实施例还提供一种语音合成装置,如图10所示,包括目标数据获取模块101、第一语音合成模块102和第二语音合成模块103。
[0196]
目标数据获取模块101,用于获取目标合成文本、目标发音对象嵌入与目标情感嵌入;
[0197]
第一语音合成模块102,用于当存有与目标合成文本以及目标情感一致的目标语音数据时,通过语音合成模型基于目标合成文本、目标发音对象嵌入、目标情感嵌入、目标语音数据以及与目标语音数据对应的预存发音对象嵌入,得到目标发音对象对应目标情感的语音合成数据;其中,语音合成模型是通过步骤s101-s105所对应的语音合成模型的训练方法训练得到的;
[0198]
第二语音合成模块103,用于当不存在与目标合成文本以及目标情感一致的目标语音数据时,通过语音合成模型基于目标合成文本、目标发音对象嵌入、目标情感嵌入以及任一预存发音对象嵌入,得到目标发音对象对应目标情感的语音合成数据;其中,语音合成模型是通过步骤s201-203所对应的语音合成模型的训练方法训练得到的。
[0199]
可选地,第一语音合成模块102用于执行通过语音合成模型基于目标合成文本、目标发音对象嵌入、目标情感嵌入、目标语音数据以及与目标语音数据对应的预存发音对象嵌入,得到目标发音对象对应目标情感的语音合成数据的步骤时,还用于执行下述步骤:将基于目标语音数据提取的第一梅尔谱图,以及与第一梅尔谱图对应的预存发音对象嵌入、目标情感嵌入输入第一预测编码模块,得到第一音素隐含表示;将目标合成文本对应的目标文本序列输入文本编码模块,得到音素编码序列;通过文本解码模块基于音素编码序列、第一音素隐含表示、目标发音对象嵌入、目标情感嵌入,得到目标发音对象对应目标情感的第二梅尔谱图。
[0200]
可选地,第二语音合成模块103用于执行通过语音合成模型基于目标合成文本、目标发音对象嵌入、目标情感嵌入以及任一预存发音对象嵌入,得到目标发音对象对应目标情感的语音合成数据的步骤时,还用于执行下述步骤:将目标合成文本对应的目标文本序列,以及任一预存发音对象嵌入、目标情感嵌入输入第二预测编码模块,得到第三音素隐含表示;将目标文本序列输入文本编码模块,得到音素编码序列;通过文本解码模块基于音素编码序列、第三音素隐含表示、目标发音对象嵌入、目标情感嵌入,得到目标发音对象对应目标情感的第二梅尔谱图。
[0201]
本技术实施例的装置可执行本技术的实施例所提供的方法,其实现原理相类似,本技术各实施例中的装置中的各模块所执行的动作是与本技术各实施例中的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应的方法中的描述,此处不再赘述。
[0202]
本技术还提供了一种电子设备,该电子设备包括存储器和处理器;其中,存储器中存储有计算机程序;处理器用于在运行计算机程序时,执行本技术任一可选实施例中所提供的方法。
[0203]
本技术还提供了一种计算机可读存储介质,该存储介质中存储有计算机程序,计算机程序在被处理器运行时,执行本技术任一可选实施例中所提供的方法。
[0204]
作为一可选方案,图11示出了本技术实施例适用的一种电子设备的结构示意图,如图11所示,该电子设备1100可以包括处理器1101和存储器1103。其中,处理器1101和存储器1103相连,如通过总线1102相连。可选地,电子设备1100还可以包括收发器1104。需要说明的是,实际应用中收发器1104不限于一个,该电子设备1100的结构并不构成对本技术实施例的限定。
[0205]
处理器1101可以是cpu(central processing unit,中央处理器),通用处理器,dsp(digital signal processor,数据信号处理器),asic(application specific integrated circuit,专用集成电路),fpga(field programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器1101也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
[0206]
总线1102可包括一通路,在上述组件之间传送信息。总线1102可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。总线1102可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0207]
存储器1103可以是rom(read only memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、cd-rom(compact disc readonly memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
[0208]
存储器1103用于存储执行本技术方案的应用程序代码,并由处理器1101来控制执行。处理器1101用于执行存储器1103中存储的应用程序代码(计算机程序),以实现前述任一方法实施例所示的内容。
[0209]
本技术所提供的实施例中,由电子设备执行的上述语音合成方法可以使用人工智能模型来执行。
[0210]
根据本技术的实施例,在电子设备中执行的该方法可以通过使用图像数据或视频数据作为人工智能模型的输入数据来获得识别图像或图像中的图像内容特征的输出数据。人工智能模型可以通过训练获得。这里,“通过训练获得”意味着通过训练算法用多条训练数据训练基本人工智能模型来获得被配置成执行期望特征(或目的)的预定义操作规则或
人工智能模型。人工智能模型可以包括多个神经网络层。多个神经网络层中的每一层包括多个权重值,并且通过在前一层的计算结果与多个权重值之间的计算来执行神经网络计算。
[0211]
视觉理解是一种用于像人类视觉一样识别和处理事物的技术,并且包括例如对象识别、对象跟踪、图像检索、人类识别、场景识别、3d重建/定位或图像增强。
[0212]
本技术所提供的实施例中,可以通过ai模型来实现多个模块中的至少一个模块。可以通过非易失性存储器、易失性存储器和处理器来执行与ai相关联的功能。
[0213]
该处理器可以包括一个或多个处理器。此时,该一个或多个处理器可以是通用处理器,(例如中央处理单元(cpu)、应用处理器(ap)等)、或者是纯图形处理单元(,例如,图形处理单元(gpu)、视觉处理单元(vpu)、和/或ai专用处理器(,例如,神经处理单元(npu))。
[0214]
该一个或多个处理器根据存储在非易失性存储器和易失性存储器中的预定义的操作规则或人工智能(ai)模型来控制对输入数据的处理。通过训练或学习来提供预定义的操作规则或人工智能模型。
[0215]
这里,通过学习来提供指的是通过将学习算法应用于多个学习数据来得到预定义的操作规则或具有期望特性的ai模型。该学习可以在其中执行根据实施例的ai的装置本身中执行,和/或可以通过单独的服务器/系统来实现。
[0216]
该ai模型可以由包含多个神经网络层组成。每一层具有多个权重值,一个层的计算是通过前一层的计算结果和当前层的多个权重来执行的。神经网络的示例包括但不限于卷积神经网络(cnn)、深度神经网络(dnn)、循环神经网络(rnn)、受限玻尔兹曼机(rbm)、深度信念网络(dbn)、双向循环深度神经网络(brdnn)、生成对抗网络(gan)、以及深度q网络。
[0217]
学习算法是一种使用多个学习数据训练预定目标装置(例如,机器人)以使得、允许或控制目标装置进行确定或预测的方法。该学习算法的示例包括但不限于监督学习、无监督学习、半监督学习、或强化学习。
[0218]
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0219]
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1