一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2021-07-30 17:59:00 来源:中国专利 TAG:语音合成 方法 装置 模型 训练
语音合成方法及语音合成模型的训练方法、装置、设备与流程

本公开涉及语音合成技术领域,尤其涉及一种语音合成方法及语音合成模型的训练方法、装置、设备。



背景技术:

随着智能化设备的普及以及语音识别技术的发展,人们的交互方式已经从传统的文本转向了更人性化的语音交互方式。语音合成技术能够让机器拥有人类的声音,改变了传统的文字交互方式。主流的语音合成方法主要包含2个步骤:文本转声学特征,即声学模型;声学特征转音频,即语音解码器;其中声学模型对语音合成的正确性影响较大,决定了合成音频的音调和准确性,该模型如果设计的不好,会导致合成结果出现多字、丢字、音调异常等问题。基于神经网络的声学模型可以合成比传统的隐马尔科夫模型(hmm模型)更接近真实声学特征的结果。



技术实现要素:

相关技术中的语音合成模型无法合成多种发音人的语音。为解决该技术问题,本公开实施例期望提供一种语音合成方法及其使用的语音合成模型的训练方法、装置、设备,能够实现多发音人的语音合成。

根据本公开的一个方面,提供了一种语音合成方法,包括:

对待合成的第一文本进行文本编码,获得第一合成特征;

对第一声学特征进行声学编码,获得第二合成特征;

对所述第一合成特征、第二合成特征和预先选定的发音人标识信息进行对齐处理,获得第三合成特征;以及

对所述第三合成特征进行声学解码,获得所述第一文本的第二声学特征。

根据本公开的一个方面,提供了一种语音合成模型的训练方法,包括:

设置语音合成模型中的语音合成参数为当前值,所述语音合成参数至少包括如下之一:文本编码参数、声学编码参数和声学解码参数;

利用作为训练样本的第二文本及其真实声学特征执行所述语音合成模型的语音合成,获得所述第二文本的预测声学特征,所述语音合成模型的语音合成包括依次执行的文本编码、声学编码、对齐处理和声学解码;以及

根据所述对齐处理所产生的对齐训练特征、所述第二文本的真实声学特征和所述预测声学特征,调整所述语音合成参数的取值。

根据本公开的一个方面,提供了一种语音合成装置,包括:

文本编码单元,配置为对待合成的第一文本进行文本编码,获得第一合成特征;

声学编码单元,配置为对第一声学特征进行声学编码,获得第二合成特征;

对齐处理单元,配置为对所述第一合成特征、第二合成特征和预先选定的发音人标识信息进行对齐处理,获得第三合成特征;

声学解码单元,配置为对所述第三合成特征进行声学解码,获得所述第一文本的第二声学特征。

根据本公开的一个方面,提供了一种电子设备,包括:一个或多个处理器;以及,存储器,存储有计算机程序,所述计算机程序在被所述处理器运行时使所述处理器执行上述语音合成的方法和/或语音合成模型的训练方法。

根据本公开的一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器运行时使得所述处理器执行上述语音合成的方法和/或语音合成模型的训练方法。

本公开实施例可针对多种类型发音人建立统一的语音合成模型,在语音合成时只需选定发音人即可实现该特定发音人的语音合成,使用一语音合成模型实现了多发音人的语音合成,不仅可满足实际应用需求,而且提高了多发音人语音合成的整体效率。

附图说明

通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。

图1是本公开一示例性实施例提供的语音合成方法的流程示意图。

图2是本公开一示例性实施例提供的语音合成方法中对齐处理的示例性流程图。

图3是本公开一示例性实施例提供的语音合成模型的训练方法的流程示意图。

图4是本公开一示例性实施例提供的调整语音合成参数的示例性流程图。

图5是本公开另一示例性实施例提供的调整语音合成参数的示例性流程图。

图6是本公开一示例性实施例提供的语音合成模型及其训练过程、执行语音合成过程的示意性框图。

图7是本公开一示例性实施例提供的语音合成装置的结构示意图。

图8是本公开一示例性实施例提供的电子设备的结构示意图。

具体实施方式

下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。

申请概述

如前文所述,基于神经网络的声学模型可以合成更接近真实声学特征的结果。

目前,基于神经网络的声学模型主要分为2种方案,一种是根据时长对音素进行复制,以解决音素和声学帧特征的对应问题,然后通过简单全连接网络或卷积网络对复制后的文本和声学特征进行直接建模,最后利用所建立的模型来合成语音。另一种是目前大部分的语音合成方案一般会采用的,以循环神经网络作为主干网络,通过主干网络对语音进行合成。上述方案中,第一种方案需要额外训练一个时长模型,且该时长模型由于神经网络在计算损失时,对特征会平均化,因此合成的声学谱清晰度一般,与真实音频有一定的差距。第二种方案虽然可以合成较好的声学谱特征,但是循环神经网络对于边缘计算平台不够友好。并且,上述两种方案均不支持多发音人,只能用于单个发音人的语音合成。如果需要对多个发音人进行语音合成,就需要针对这多个发音人分别训练相应的声学模型,并且需要使用特定发音人所对应的声音模型才能够合成其语音。除此之外,上述两种方案中的声学模型合成的声学谱清晰度较差且错误率较高。

针对相关技术中的上述技术问题,本公开实施例的基本构思提供了一种语音合成方法及装置、电子设备、存储介质,先对待合成的第一文本进行文本编码来获得第一合成特征、对第一声学特征进行声学编码来获得第二合成特征,然后对第一合成特征、第二合成特征和预先选定的发音人标识信息进行对齐处理来获得第三合成特征,最后对第三合成特征进行声学解码来获得第一文本的第二声学特征。由此可见,本公开实施例通过文本编码、声学编码、对齐处理和声学解码来实现语音合成,并且利用预先选定的发音人标识信息来完成对齐处理的步骤,只需要预先选定发音人即可针对该发音人来进行语音合成,并且可以支持多发音人的语音合成,实现了针对多发音人的语音合成,满足了实际应用需求,提高了多发音人语音合成的整体效率。

针对相关技术中的上述技术问题,本公开实施例的基本构思还包括提供一种语音合成模型的训练方法及装置、电子设备、存储介质,先设置语音合成模型中的语音合成参数为当前值,然后利用作为训练样本的第二文本及其真实声学特征执行所述语音合成模型的语音合成,获得所述第二文本的预测声学特征,所述语音合成模型可用于实现上述语音合成方法,其语音合成可以包括依次执行的文本编码、声学编码、对齐处理和声学解码;最后,根据对齐处理所产生的对齐训练特征、所述第二文本的真实声学特征和所述预测声学特征,调整语音合成参数的取值。通过该方法进行迭代训练即可得到一语音合成模型,该语音合成模型中的对齐处理部分在实现声学特征和文本特征的对齐的同时还可以将预先选定的发音人信息融合到文本特征中,从而达到一语音合成模型支持多发音人的语音合成的目的,进而通过该语音合成模型执行语音合成时,可以在不增加硬件成本的前提下实现了针对多发音人的语音合成,满足了实际应用需求,提高了多发音人语音合成的整体效率。

本公开实施例可应用于各类需要针对多发音人进行语音合成的场景。

示例性方法

图1是本公开一实施例中语音合成方法的流程示意图。如图1所示,本公开实施例中语音合成方法可以包括:

步骤s101,对待合成的第一文本进行文本编码,获得第一合成特征;

步骤s102,对第一声学特征进行声学编码,获得第二合成特征;

步骤s103,对第一合成特征、第二合成特征和预先选定的发音人标识信息进行对齐处理,获得第三合成特征;

步骤s104,对第三合成特征进行声学解码,获得第一文本的第二声学特征。

本公开实施例的上述语音合成方法,通过文本编码、声学编码、对齐处理和声学解码来实现语音合成,并且利用预先选定的发音人标识信息来完成对齐处理的步骤,只需要预先选定发音人即可针对特定类型发音人或特定的某个或某些发音人来进行语音合成,满足了实际应用需求,提高了多发音人语音合成的整体效率。

相关技术中,需要开发并在硬件中运行多个不同发音人对应的语音合成模型才可实现多发音人的语音合成,而本公开实施例仅需要选定发音人这一操作即可实现多发音人的语音合成,显然,本公开实施例的方法不仅可以简化操作,而且仅需在硬件中运行一个语音合成模型即可实现多发音人的语音合成,硬件资源(例如,存储器资源、处理器资源等)的需求更低,硬件资源的开销也更低,有利于减小芯片面积、降低硬件成本。

本公开实施例中,第一合成特征具体可以是文本特征,其可以通过张量数据来表示。声学特征具体可以是梅尔幅度谱或其他类似的声学特征,其也可以通过张量数据来表示。

本公开实施例中,步骤s103之前还可以包括:选定发音人。具体地,发音人信息的选定可以通过多种方式实现。一些示例中,至少在步骤s103的对齐处理之前,可以从预先配置的多种类型发音人标识信息中选择一种发音人标识信息作为步骤s103中预先选定的发音人标识信息。这样,可以根据需要来生成特定发音人的语音,以便适应各种不同场景的需求。例如,可以事先向用户提供具有多个发音人选项(每个发音人选项对应一种类型的发音人标识信息,例如,男声、女声、女童、男童、老人等发音人选项)的人机交互界面,通过该人机交互界面来接收用户选择的发音人信息并使用该发音人信息作为上述预先选定的发音人信息。再例如,可以事先通过系统默认配置等方式来将预先选定的发音人信息配置到系统中,在进行语音合成时自动加载该配置即可。又例如,可以接收来自云端、用户终端或其他任何电子设备的发音人信息,并使用该发音人信息作为上述预先选定的发音人信息来进行语音合成。当然,本公开实施例还可支持其他任何可适用的方式来获取上述预先选定的发音人信息,对此,本公开实施例不予限制。

本公开实施例中,发音人标识信息可以预先约定的发音人id或其他类似的标识信息。发音人可以包括多种类型。例如,发音人的多种类型可以配置为男人、女人、儿童、老人等。再例如,发音人的多种类型可以配置为男低音、男高音、女高音、女低音等。对于发音人的类型具体如何分类,可以根据实际应用场景的需求来自由设定。

至少一些实施例中,步骤s103可以包括:步骤a1,对第一合成特征的一部分与第二合成特征进行矩阵乘运算和归一化指数函数处理,获得对齐合成特征;步骤a2,在第一合成特征的另一部分中嵌入发音人标识信息;步骤a3,针对嵌有发音人标识信息的第一合成特征的另一部分、对齐合成特征和第二合成特征进行矩阵乘运算和拼接处理,获得第三合成特征。由此,可以发音人信息的嵌入融入注意力机制中,从而在实现文本和声学特征之间的对齐处理的同时,实现了发音人信息与文本特征的融合,可以在实现针对多发音人的语音合成的同时,确保最终获得的声学特征更加清晰,并且诸如多字、丢字、音素错误、音调异常等情况更少,也即错误率更低。

一些示例中,步骤a1可以包括:步骤a11,在通道维度上均分第一合成特征,获得第一子特征和第二子特征;步骤a12,对第一子特征和第二合成特征进行矩阵乘运算,获得第四合成特征;步骤a13,对第四合成特征进行归一化指数函数处理,获得对齐合成特征。

上述示例中,步骤a2中可以将发音人标识信息嵌入到第一合成特征中的第二子特征中。该示例中,步骤a3可以包括:步骤a31,对嵌有发音人标识信息的第二子特征和对齐合成特征进行矩阵乘运算,获得第五合成特征;步骤a32,基于第五合成特征在预定通道上的部分和第二合成特征在预定通道上的部分,获得第三合成特征。

上述实施例中,步骤a2可以通过多种方式来实现。一些示例中,步骤a2具体可以包括:步骤a21,将所述发音人标识信息转换为第五特征;步骤a22,针对第五特征与第一合成特征的另一部分(即上文的第二子特征)进行元素级加运算。

上述实施例中,通过包含均分、矩阵乘、归一化指数函数、拼接的多头注意力机制实现了文本特征和声学特征的对齐,同时还实现了发音人信息与文本特征的有效融合,这样,可以在实现针对多发音人的语音合成的同时,确保最终获得的声学特征更加清晰,并且诸如多字、丢字、音素错误、音调异常等情况更少,也即错误率更低。

图2示出了步骤s103的示例性处理过程。如图2所示,步骤s103的示例性处理流程可以包括:步骤s200,从发音人身份信息数据库中获取预先选定的发音人的身份信息,并将该发音人的身份信息编码成一定维度的张量数据,获得发音人身份信息的张量数据m(即上文的第五特征);步骤s201,将文本编码输出的张量数据p(即上述的第一合成特征)在通道维度上均匀切分,获得张量数据k(即上文的第一子特征)和张量数据v(即上文的第二子特征);步骤s202,张量数据k和声学编码输出的张量数据q(即上述的第二合成特征)进行矩阵乘运算,获得张量数据a,必要时可以将张量数据k、q中之一转置后与张量数据k、q中的另一张量数据做矩阵乘运算来获得张量数据a(即上文的第四合成特征);步骤s203,针对张量数据a执行归一化函数(例如,softmax)处理,获得张量数据a’(即上文的对齐合成特征);步骤s204,针对发音人身份信息的张量数据m与张量数据v执行元素级加运算(例如,简单的相加或者加权求和等),即将张量数据v中代表一音素的每个数据与发音人身份信息(例如,id号码)执行元素级加运算,获得张量数据v’,该张量数据v’是融合了发音人身份信息的文本特征(即上文步骤a22获得的特征);步骤s205,针对张量数据v’和张量数据a’执行矩阵乘运算,获得张量数据r(即上文的第五合成特征);步骤s206,针对张量数据r和上述的张量数据q进行拼接处理,即将张量数据r在预先选定的某个通道上的数据与张量数据q在该通道上的数据分别在宽度、高度这两个维度上进行拼接,获得矩阵数据r’,该矩阵数据r’即上述的第三合成特征。需要说明的是,图2仅为示例,本公开实施例中步骤s103中的对齐处理还可通过其他方式来实现。实际应用中,步骤s200、步骤s204可以与步骤s201~步骤s203并行,也可以在步骤s201~步骤s203之前进行,其具体执行顺序不限。

至少一些实施例中,本公开实施例的语音合成可以采用自回归模式,在该自回归模式下通过停止合成标记来判定是否停止一文本的语音合成。具体地,在停止合成标记指示停止第一文本的语音合成时,生成第一文本的声学特征序列,第一文本的声学特征序列包括第一文本的所有第二声学特征;或者,在停止合成标记指示继续第一文本的语音合成时,利用当前获得的第二声学特征重置第一声学特征,并重复步骤s102的声学编码、步骤s103的对齐处理和步骤s104的声学解码,获得第一文本的下一第二声学特征。也就是说,可以针对某一文本循环执行语音合成,并且每一帧声学特征(例如,梅尔幅度谱)都依赖前一帧合成的结果,实现了端到端的序列到序列的语音合成,从而在实现针对多发音人的语音合成的同时,可以确保最终获得的声学特征更加清晰,并且诸如多字、丢字、音素错误、音调异常等情况更少,也即错误率更低。

上述实施例中,语音合成采用自回归模式时,针对某一文本进行语音合成时,首次合成过程中第一声学特征的取值为默认的初始值,第二次及其之后的阶段该第一声学特征则是先前获得的第一文本的第二声学特征。

实际应用中,本公开实施例的语音合成方法可通过预先训练一语音合成模型来实现。下面对该语音合成模型的训练方法进行说明。

图3是本公开一实施例中语音合成模型的训练方法的流程示意图。如图3所示,本公开实施例中语音合成模型的训练方法可以包括:

步骤s301,设置语音合成模型中的语音合成参数为当前值,语音合成参数可以包括如下之一或其任意组合:文本编码参数、声学编码参数和声学解码参数;

步骤s302,利用作为训练样本的第二文本及其真实声学特征执行语音合成模型的语音合成,获得第二文本的预测声学特征,语音合成模型的语音合成包括依次执行的文本编码、声学编码、对齐处理和声学解码;

步骤s303,根据对齐处理所产生的对齐训练特征、第二文本的真实声学特征和预测声学特征,调整所述语音合成参数的取值。

本公开实施例中语音合成模型的训练方法,可以训练得到一语音合成模型,并且该语音合成模型中的对齐处理部分在实现声学特征和文本特征的对齐的同时还可以将预先选定的发音人信息融合到文本特征中,从而达到一语音合成模型支持多发音人的语音合成的目的。

图4示出了步骤s303的示例性流程。至少一些实施例中,步骤s303可以包括:步骤s401,根据第二文本的预测声学特征和真实声学特征,确定第一损失值;步骤s402,根据对齐处理产生的对齐训练特征,确定第二损失值;步骤s403,基于第一损失值、第二损失值中之一或两者,确定语音合成参数的更新值。该示例中,通过两项损失值可以训练得到适用于实际应用需求的语音合成模型。

至少一些实施例中,对齐训练特征可以是由第一训练特征的至少一部分和第二训练特征经矩阵乘运算和归一化指数函数处理而获得的。例如,可以通过上述语音合成方法中步骤a1来实现。该实施例中,步骤s402可以包括:步骤b1,针对预设的调制矩阵与对齐训练特征进行矩阵乘运算;步骤b2,计算所述矩阵乘运算的结果中各元素的绝对值;步骤b3,计算矩阵乘运算的结果中各元素的绝对值的均值,获得第二损失值。其中,第二损失值用于对第一训练特征与第二训练特征的对齐曲线进行单调约束限制,第一训练特征是对第二文本进行文本编码而获得的,第二训练特征是对第二文本的真实声学特征进行声学编码而获得的。该实施例中,引入了单调约束损失,对训练生成的对齐曲线进行限制,以增强语音合成模型的稳定性以及解决语音合成中跳字合成问题。

至少一些实施例中,为了在实现支持自回归模式的语音合成模型,在获得第二文本的预测声学特征的同时,还可以同时获得预测的停止合成标记向量。该实施例中,如图5所示,步骤s303可以包括:步骤s401,根据第二文本的预测声学特征和真实声学特征,确定第一损失值;步骤s402,根据对齐处理产生的对齐训练特征,确定第二损失值;步骤s503,根据预测的停止合成标记向量和预先获得的真实声音标记向量,确定第三损失值;步骤s504,基于第一损失值、第二损失值和第三损失值,确定语音合成参数的更新值。该示例中,可以训练获得支持自回归模式的语音合成模型,从而可以基于该语音合成模型实现上述语音合成方法时可以达到“声学特征更加清晰、错误率更低”的效果。

一些示例中,步骤s504可以包括:首先,对第一损失值、第二损失值和第三损失值进行加权求和,以获得总损失值;其次,根据该总损失值和语音合成参数中各个参数的当前值,确定语音合成参数中各个参数的梯度值;最后,利用语音合成参数中各个参数的梯度值计算所述语音合成参数中相应参数的更新值。这样,可以利用梯度回传来实现语音合成模型的训练,获得精度更高的语音合成模型,进而达到使用语音合成模型进行语音合成时可以获得更加清晰的声学特征、错误率更低,并且还可支持多发音人。

本公开实施例中,步骤s401可以通过各种适合的算法来实现。一些示例中,步骤s401可以包括:计算预测声学特征与真实声学特征的绝对值偏差,获得第一损失值。具体地,可以通过l1范数损失函数来实现步骤401中第一损失值的计算。这里,l1范数损失函数也可以被称为最小绝对值偏差或者最小绝对值误差,它是把目标值与估计值的绝对差值的总和最小化。

本公开实施例中,步骤s503可以通过各种适合的算法来实现。一些示例中,步骤s503可以包括:针对预测的停止合成标记向量和预先获得的真实声音标记向量计算二分类的交叉熵损失,获得第三损失值。

本公开实施例中,步骤s302的执行过程与上述语音合成方法的执行过程相同,所不同的是,在该训练方法中使用的是作为训练样本的第二文本及其对应的真实声学特征。具体地,步骤s302可以包括:首先,对第二文本进行文本编码,获得第一训练特征;其次,对第二文本的真实声学特征进行声学编码,获得第二训练特征;再次,对第一训练特征、第二训练特征和预先选定的发音人标识信息进行对齐处理,获得所述第二文本的第三训练特征;最后,对第三训练特征进行声学解码,获得第二文本的预测声学特征和预测的停止合成标记向量。如此,可以训练获得支持多种类型发音人的语音合成模型。

下面对本公开实施例的训练语音合成模型以及利用该语音合成模型进行语音合成进行示例性地说明。

图6示出了语音合成模型及其执行语音合成时的系统框图。

如图6所示,本公开实施例的语音合成模型可以包括文本预处理模块(图中未标出)、文本编码网络、音频预处理模块(图中未标出)、声学编码网络、受约束注意力模块和声学解码网络。

其中,文本预处理模块可用于对文本进行拼音/韵律标注来提取音素和对该音素进行向量化获得初步的文本特征数据,文本编码网络可用于对经过文本预处理模块处理得到的文本特征数据进行编码来获得上文的第一合成特征或者第一训练特征(也属于文本特征),音频预处理模块可用于从音频文件中提取声学特征(例如,图6所示的真实梅尔幅度谱、初始梅尔幅度谱、上一帧梅尔幅度谱),声学编码网络可用于针对音频文件经过音频预处理模块后得到的声学特征进行编码来获得上文的第二合成特征或者第二训练特征(也属于声学特征),受约束注意力模块可用于针对嵌入了发音人id的第一合成特征(或者第一训练特征)和第二合成特征(或者第二训练特征)进行对齐处理来获得上文的第三合成特征(或者第三训练特征),声学编码网络可用于对第三合成特征或者第三训练特征进行解码来获得声学特征(例如,图6中的下一帧梅尔幅度谱)。

一些示例中,声学编码网络、文本编码网络和声学解码网络分别可以通过一卷积神经网络来实现。

一示例中,声学编码网络可以是包含2个全连接层和4个不同卷积层的第一卷积神经网络,相应的声学编码参数包括2个全连接层和4个卷积层的参数。具体地,该声学编码参数可以包括:用于定义第一全连接层的第一权重参数、用于定义第二全连接层的第二权重参数、用于定义第一卷积层的第三权重参数、用于定义第二卷积层的第四权重参数、用于定义第三卷积层的第五权重参数和用于定义第四卷积层的第六权重参数。这里,声学编码网络中的4个卷积层可以相同、也可以不同,需要说明的是,卷积层相同是指卷积层的权重参数、输入参数(例如,输入特征数据的维度等)和输出参数(例如,输出特征数据的维度等)相同。

一示例中,文本编码网络可以是一卷积神经网络,该卷积神经网络可以包括2个全连接层和4个相同的卷积层。相应地,文本编码参数包括2个全连接层和4个卷积层的参数。具体地,该文本编码参数可以包括:用于定义第一全连接层的第一权重参数、用于定义第二全连接层的第二权重参数和卷积层的第二权重参数。这里,卷积层相同是指卷积层的权重参数、输入参数(例如,输入特征数据的维度等)和输出参数(例如,输出特征数据的维度等)相同。

一示例中,声学解码网络可以是包含2个全连接层和4个不同卷积层的第一卷积神经网络,相应的声学解码参数包括2个全连接层和4个卷积层的参数。具体细节与上述声学编码网络相同,不再赘述。

一些示例中,受约束注意力模型可以采用多头注意力机制来对声学编码网络输出的声学特征和文本编码网络输出的文本特征进行对齐。具体地,该多头注意力机制可以包括:通道维度上切分、矩阵乘、softmax处理、矩阵乘以及拼接。具体过程参照上文图2所示的示例性过程,不再赘述。受约束注意力模型中在训练是使用的调制矩阵可以通过文本长度和梅尔特征序列长度来预先确定。该示例中,为确保该注意力模型满足单调约束函数,该调制矩阵是仅在对角线上有值的矩阵。

图6的示例中,训练语音合成模型的示例性流程可以包括:

步骤1,构建多发音人音频库,用于训练,主要包含不同发音人的音频文件。

步骤2,从多发音人音频库中的音频文件提取出梅尔幅度谱系数作为声学特征。

步骤3,生成有无声音标记序列,用于后续步骤中计算停止合成标记的损失值。

具体地,训练过程中需要对一批次的数据进行截长补短,为了让语音合成模型学习到什么时候停止合成,对有声帧位置标记1,无声帧(padding部分)标记0,这样,生成一个有无声音标记序列。这里,有无声音标记序列中每个数据即文本和声学特征的长度是预先设定的,截长补短是为了使得每次获取的文本和声学特征的长度不满足预设标准时,对其进行截取或填补,以使其满足预设的长度要求,目的是让语音合成模型学习到停止合成标记。

步骤4,构建与多发音人音频库中音频文件对应的文本库。

步骤5,对文本库中的文本进行拼音和韵律标注。

步骤6,对标注后的结果进行向量化。

步骤7,文本编码网络对向量化的结果进行编码,获得第一训练特征h。

步骤8,声学编码网络对步骤2提取的声学特征进行编码,获得第二训练特征l。

步骤9,受约束注意力模块采用多头注意力机制针对第一训练特征h、第二训练特征l进行对齐处理,并在对齐处理的过程中将发音人id嵌入到第一训练特征h切分而得的第二子特征h2中。

本步骤中,受约束注意力模块执行的对齐处理的具体过程与图2的示例相同。具体地,受约束注意力模块先将第一训练特征h在通道维度上切分为第一子特征h1和第二子特征h2,将发音人id嵌入到第二子特征h2中,然后将第一子特征h1和第二训练特征l进行矩阵相乘获得张量a,再对张量a进行softmax,最后再将张量a和嵌入了发音人id的第二子特征h2相乘得到张量t,最后将张量t和第二训练特征l进行拼接获得解码向量y。

步骤10,计算受约束注意力模块的损失值(即上文的第二损失值)。

由于文本到语音的合成过程具有顺序性,因此本步骤引入了单调约束损失,对训练生成的对齐曲线进行限制,以增加语音合成模型的稳定性以及解决语音合成中跳字合成问题。这里,训练生成的对齐曲线(也称为注意力曲线,文本特征和声学特征所形成的曲线)是一条单调曲线,因此会基于文本长度和梅尔特征序列长度来预先计算得到一个图像上表现为只有对角线上有值的调制矩阵。

本步骤中,通过限制注意损失计算函数来计算该受约束注意力模块的损失值loss_att(即上文的第二损失值),该限制注意损失计算函数可以定义为下式(1):

loss_att=abs(a*gts_r).mean()(1)

其中,gts表示一个根据文本长度和梅尔特征序列长度预先计算得到的一个调制矩阵。在训练过程中,也会最小化该loss_att,以达到对注意力进行约束的目的。

步骤11,声学解码网络对受约束注意力模块输出的解码向量y进行解码,生成梅尔幅度谱(即上文的预测声学特征)和停止合成标记stop_token向量。

步骤12,利用生成的停止合成标记stop_token向量与上文的有无声音标记序列计算二分类的交叉熵损失,得到第三损失值。

步骤13,利用步骤11生成的梅尔幅度谱和多发音人音频库中音频文件对应的真实梅尔幅度谱计算l1损失,得到第一损失值。

步骤14,针对第一损失值、第二损失值和第三损失值进行加权求和,得到总损失值,并利用该总损失值针对上述三个损失值进行梯度回传,更新文本编码网络的参数、声学编码网络的参数、声学解码网络的参数,返回步骤7重新执行上述流程,如此迭代,直到总损失值的梯度接近零或低于预先设定的某个值。

这里,利用该总损失值针对上述三个损失值进行梯度回传可以包括:利用总损失值分别对上述第一损失值、第二损失值和第三损失值所对应的参数求偏导确定三个梯度,并按照每个参数的梯度负方向来更新参数值。

图6的示例中,语音合成的示例性流程与上述训练语音合成模型的流程基本相同,所不同的是语音合成是自回归模式,即:先将第一声学特征设定为初始的梅尔幅度谱帧(例如,赋值为0),第一声学特征通过声学编码网络处理得到第二合成特征,待合成的文本语句经过拼音和韵律标注、向量化等预处理后、进入文本编码网络进行处理来得到该文本语句对应的第一合成特征,将声学编码网络输出的第二合成特征、文本编码网络输出的第一合成特征和预先选定的发音人id送入受约束注意力模块中,受约束注意力模块对第一合成特征和第二合成特征进行对齐处理、同时将发音人id嵌入到第一合成特征中而得到第三合成特征,第三合成特征经过声学解码网络处理即可获得本轮生成的梅尔幅度谱。通过停止合成标记stop_token判别是否停止合成,如果判定需要继续合成,则继续下一轮合成。在下一轮合成过程中,将本轮生成的梅尔幅度谱作为第一声学特征送入声学编码网络重复上述过程,生成的下一帧梅尔幅度谱,再次通过停止合成标记stop_token判别是否停止合成,如此循环执行,直到停止合成标记stop_token判别停止合成时停止语音合成,将第一轮到最后一轮输出的梅尔幅度谱帧合并,获得上述文本语句对应的梅尔幅度谱序列。这里,停止合成标记stop_token在判别是否停止合成时,可以根据当前生成的梅尔幅度谱等计算得到一概率值,如果该概率值大于预先确定的阈值(例如,0.5)即判定停止合成,如果该概率值小于或等于该阈值则判定继续合成。

上述示例中,通过嵌入多种类型发音人的信息和多头注意力机制的结合可训练得到支持多发音人的语音合成模型,从而使用该语音合成模型即可针对预先选定的特定发音人进行语音合成,无需针对每个或每种类型的发音人分别建立语音合成模型即可实现多发音人的语音合成。并且,上述示例中在训练语音合成模型时,还引入了单调约束损失,对训练生成的对齐曲线进行限制,不仅增强了语音合成模型的稳定性、而且能够解决语音合成中跳字合成问题。再有,上述示例中利用梯度回传来实现语音合成模型的训练,获得精度更高的语音合成模型,在语音合成时可以获得更加清晰的声学特征并且错误率更低。

示例性装置

图7是本公开一实施例中语音合成装置的结构示意图。如图7所示,本公开一实施例中语音合成装置可以包括:

文本编码单元71,配置为对待合成的第一文本进行文本编码,获得第一合成特征;

声学编码单元72,配置为对第一声学特征进行声学编码,获得第二合成特征;

对齐处理单元73,配置为对所述第一合成特征、第二合成特征和预先选定的发音人标识信息进行对齐处理,获得第三合成特征;

声学解码单元74,配置为对所述第三合成特征进行声学解码,获得所述第一文本的第二声学特征。

一些示例中,对齐处理单元73可以包括:第一运算模块731,配置为对第一合成特征的一部分与第二合成特征进行矩阵乘运算和归一化指数函数处理,获得对齐合成特征;嵌入模块732,配置为在第一合成特征的另一部分中嵌入发音人标识信息;第二运算模块733,配置为针对嵌有发音人标识信息的第一合成特征的另一部分、对齐合成特征和第二合成特征进行矩阵乘运算和拼接处理,获得第三合成特征。

上述示例中,第一运算模块731可以包括:切分子模块,配置为在通道维度上均分所述第一合成特征,获得第一子特征和第二子特征;第一矩阵乘子模块,配置为对第一子特征和第二合成特征进行矩阵乘运算,获得第四合成特征;归一化处理子模块,配置为对第四合成特征进行归一化指数函数处理,获得所述对齐合成特征。

上述示例中,嵌入模块732具体可配置为将所述发音人标识信息嵌入到所述第一合成特征中的第二子特征中。

上述示例中,嵌入模块732可以包括:转换子模块,配置为将所述发音人标识信息转换为第五特征;加运算子模块,配置为针对第五特征与第一合成特征的另一部分进行元素级加运算。

上述示例中,第二运算模块733可以包括:第二矩阵乘子模块,配置为对嵌有发音人标识信息的第二子特征和对齐合成特征进行矩阵乘运算,获得第五合成特征;拼接子模块,配置为基于第五合成特征在预定通道上的部分和所述第二合成特征在所述预定通道上的部分,获得所述第三合成特征。

一些示例中,语音合成装置还可以包括:选择单元,可配置为从预先配置的多种类型发音人标识信息中选择一种发音人标识信息作为预先选定的发音人标识信息。

一些示例中,声学解码单元74还可配置为在停止合成标记指示停止第一文本的语音合成时生成第一文本的声学特征序列,该第一文本的声学特征序列包括第一文本的所有第二声学特征。或者,声学解码单元74还可配置为在停止合成标记指示继续第一文本的语音合成时,利用当前获得的第二声学特征重置第一声学特征,以便重复声学编码、对齐处理和声学解码的步骤来获得第一文本的下一第二声学特征。

至少一些实施例中,上述语音合成装置还可以包括:参数设置单元75,配置为设置语音合成模型中的语音合成参数为当前值,该语音合成参数包括如下之一或多项:文本编码参数、声学编码参数和声学解码参数;文本编码单元71、声学编码单元72、对齐处理单元73和声学解码单元74还配置为利用作为训练样本的第二文本及其真实声学特征执行语音合成模型的语音合成,获得所述第二文本的预测声学特征,该语音合成模型的语音合成包括依次执行的文本编码、声学编码、对齐处理和声学解码;参数调整单元76,配置为根据对齐处理单元73进行对齐处理所产生的对齐训练特征、第二文本的真实声学特征和预测声学特征,调整语音合成参数的取值。

一些示例中,参数调整单元76可包括:第一确定模块,配置为根据第二文本的预测声学特征和真实声学特征,确定第一损失值;第二确定模块,配置为根据对齐处理产生的对齐训练特征,确定第二损失值;第三确定模块,配置为至少基于第一损失值、第二损失值,确定语音合成参数的更新值。

一些示例中,参数调整单元76使用的对齐训练特征是由对齐处理单元73针对第一训练特征的至少一部分和第二训练特征经矩阵乘运算和归一化指数函数处理而获得的。该示例中,第二确定模块可以包括:第一计算子模块,配置为针对预设的调制矩阵与所述对齐训练特征进行矩阵乘运算;第二计算子模块,配置为计算所述第一计算子模块的矩阵乘运算的结果中各元素的绝对值;第三计算子模块,配置为计算所述第二计算子模块得到的各元素的绝对值的均值,获得第二损失值;其中,第二损失值用于对第一训练特征与第二训练特征的对齐曲线进行单调约束限制,第一训练特征是对第二文本进行文本编码而获得的,第二训练特征是对第二文本的真实声学特征进行声学编码而获得的。

一些示例中,声学解码单元74在获得所述第二文本的预测声学特征的同时,还获得预测的停止合成标记向量。该示例中,参数调整单元116除了包含上述的第一确定模块和第二确定模块之外,还可以包括:第四确定模块,配置为根据预测的停止合成标记向量和预先获得的真实声音标记向量,确定第三损失值;上述的第三确定模块还可以配置为基于第一损失值、第二损失值和第三损失值,确定语音合成参数的更新值。

上述示例中,第三确定模块可以包括:加权求和子模块,配置为对第一损失值、第二损失值和第三损失值进行加权求和,以获得总损失值;梯度子模块,配置为根据总损失值和语音合成参数中各个参数的当前值,确定语音合成参数中各个参数的梯度值;更新子模块,配置为利用语音合成参数中各个参数的梯度值计算语音合成参数中相应参数的更新值。

上述示例中,第一确定模块具体可配置为计算预测声学特征与真实声学特征的绝对值偏差,获得所述第一损失值。

上述示例中,第四确定模块具体可配置为针对预测的停止合成标记向量和预先获得的真实声音标记向量计算二分类的交叉熵损失,获得第三损失值。

上述示例中,文本编码单元71还可配置为对所述第二文本进行文本编码,以获得第一训练特征;声学编码单元72还可配置为对所述第二文本的真实声学特征进行声学编码,以获得第二训练特征;对齐处理单元73还可配置为对第一训练特征、第二训练特征和预先选定的发音人标识信息进行对齐处理,以获得第二文本的第三训练特征;声学解码单元74还可配置为对第三训练特征进行声学解码,获得第二文本的预测声学特征和预测的停止合成标记向量。

示例性电子设备

图8图示了根据本公开实施例的电子设备的框图。

如图8所示,电子设备80包括一个或多个处理器81和存储器82。

处理器81可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备80中的其他组件以执行期望的功能。

存储器82可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器81可以运行所述程序指令,以实现上文所述的本公开的各个实施例的语音合成方法和/或语音合成模型的训练方法以及/或者其他期望的功能。

在一个示例中,电子设备80还可以包括:输入装置83和输出装置84,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。例如,该输入装置83可以是麦克风或麦克风阵列。此外,该输入设备83还可以包括例如键盘、鼠标等等。该输出装置84可以向外部输出各种信息。该输出设备84可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。

当然,为了简化,图8中仅示出了该电子设备80中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备80还可以包括任何其他适当的组件。

示例性计算机程序产品和计算机可读存储介质

除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的语音合成方法和/或语音合成模型的训练方法中的步骤。

所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c 等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。

此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的语音合成方法和/或语音合成模型的训练方法中的步骤。

所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。

本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜