掌桥专利:专业的专利平台
掌桥专利
首页

语音合成方法、语音合成装置、存储介质与电子设备

文献发布时间:2023-06-19 09:27:35


语音合成方法、语音合成装置、存储介质与电子设备

技术领域

本公开涉及语音合成技术领域,尤其涉及一种语音合成方法、语音合成装置、计算机可读存储介质与电子设备。

背景技术

近年来,随着计算机技术和数字信号处理技术的不断发展,语音合成(Text toSpeech,TTS)技术也得到了相应的发展,并且已被应用于多种场景,例如游戏语音、智能音箱、电话查询系统等。

其中,混合文本的语音合成是语音合成技术中的重要组成部分。目前,对于混合文本,如中英混合文本的语音合成,主要是由掌握混合语言的录音师录制混合文本,从而通过深度学习等方法训练合成混合文本的语音数据,但是这种方法只适用于单说话人的语音合成,不能适用于多说话人的应用场景;在一些方法中,混合文本的语音合成也可以通过将中文语音数据和英文语音数据同时加入至训练模型,采用文本表征方式将文本数据作为训练模型的建模单元进行训练,使得中文语音数据与英文文本得到更多的交融,但是通过这种方法合成的混合语音数据往往会出现不同说话人的声音,语音数据的流利度和自然度不够。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

发明内容

本公开提供了一种语音合成方法、语音合成装置、计算机可读存储介质与电子设备,进而至少在一定程度上改善现有技术中混合语音生成流利度和自然度不高的问题。

本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。

根据本公开的第一方面,提供一种语音合成方法,所述方法包括:获取其他说话人的多语言语音数据和目标说话人的中文语音文本数据;根据所述多语言语音数据中是否包括文本标签数据确定所述多语言语音数据和所述中文语音文本数据的训练策略;按照所述训练策略训练所述多语言语音数据和所述中文语音文本数据,得到所述目标说话人的多语言合成模型;获取待合成文本,通过所述多语言合成模型生成所述待合成文本的预测声学特征,所述待合成文本包括至少两种语种类型;通过声码器将所述预测声学特征转换为所述目标说话人的混合语音数据,以进行播放。

在本公开的一种示例性实施方式中,所述根据所述多语言语音数据中是否包括文本标签数据确定所述多语言语音数据和所述中文语音文本数据的训练策略,包括:确定所述多语言语音数据中是否包括文本标签数据,以在确定所述多语言语音数据中不包括文本标签数据时,确定所述多语言语音数据和所述中文语音文本数据的训练策略为第一训练策略;以及在确定所述多语言语音数据中包括文本标签数据时,确定所述多语言语音数据和所述中文语音文本数据的训练策略为第二训练策略;所述按照所述训练策略训练所述多语言语音数据和所述中文语音文本数据,得到所述目标说话人的多语言合成模型,包括:在确定所述训练策略为所述第一训练策略时,按照所述第一训练策略训练所述多语言语音数据和所述中文语音文本数据,得到所述多语言合成模型;或者在确定所述训练策略为所述第二训练策略时,按照所述第二训练策略训练所述多语言语音数据和所述中文语音文本数据,得到所述多语言合成模型。

在本公开的一种示例性实施方式中,所述按照所述第一训练策略训练所述多语言语音数据和所述中文语音文本数据,得到所述目标说话人的多语言合成模型,包括:采用无监督训练模型训练所述多语言语音数据,生成所述多语言语音数据的预训练模型;通过所述中文语音文本数据对所述预训练模型进行监督式训练,生成所述多语言合成模型。

在本公开的一种示例性实施方式中,所述按照所述第二训练策略训练所述多语言语音数据和所述中文语音文本数据,得到所述目标说话人的多语言合成模型,包括:采用监督训练模型训练所述多语言语音数据和该多语言语音数据的文本标签数据,生成所述多语言语音数据的预训练模型;通过所述中文语音文本数据对所述预训练模型进行监督式训练,生成所述多语言合成模型。

在本公开的一种示例性实施方式中,在确定所述多语言语音数据和所述中文语音文本数据的训练策略为第二训练策略后,所述方法还包括:确定所述多语言语音数据的噪声数量,以在确定所述噪声数量小于预设阈值时,确定所述训练策略为第三训练策略;所述按照所述训练策略训练所述多语言语音数据和所述中文语音文本数据,得到所述目标说话人的多语言合成模型,包括:按照所述第三训练策略训练所述多语言语音数据和所述中文语音文本数据,得到所述多语言合成模型。

在本公开的一种示例性实施方式中,所述按照所述第三训练策略训练所述多语言语音数据和所述中文语音文本数据,得到所述目标说话人的多语言合成模型,包括:采用监督训练模型对所述多语言语音数据和所述中文语音文本数据的混合数据进行训练,生成所述多语言合成模型。

在本公开的一种示例性实施方式中,在按照所述训练策略训练所述多语言语音数据和所述中文语音文本数据时,所述方法还包括:提取所述中文语音文本数据中的语音数据,以根据所述语音数据生成所述目标说话人的原始声学特征;计算所述原始声学特征与所述预测语音特征之间的误差,以通过反向传播算法对所述多语言合成模型进行训练。

在本公开的一种示例性实施方式中,在按照所述训练策略训练所述多语言语音数据和所述中文语音文本数据时,所述方法还包括:将所述多语言语音数据的文本标签数据转换成多语言音素序列,以及将所述中文语音文本数据的文本数据转换成中文音素序列;将所述多语言语音数据的语音数据转换成多语言语音特征,以及将所述中文语音文本数据的语音数据转换成中文语音特征;基于注意力机制,通过计算所述多语言音素序列中各音素与所述多语言语音特征中各语音分帧的相似性,得到所述多语言音素序列和所述多语言语音特征的注意力得分;以及通过计算所述中文音素序列中各音素与所述中文语音特征中各语音分帧的相似性,得到所述中文音素序列和所述中文语音特征的注意力得分。

在本公开的一种示例性实施方式中,在通过所述多语言合成模型生成所述待合成文本的预测声学特征前,所述方法还包括:将所述待合成文本转换成音素序列。

根据本公开的第二方面,提供一种语音合成装置,所述语音合成装置包括:获取模块,用于获取其他说话人的多语言语音数据和目标说话人的中文语音文本数据;确定模块,用于根据所述多语言语音数据中是否包括文本标签数据确定所述多语言语音数据和所述中文语音文本数据的训练策略;训练模块,用于按照所述训练策略训练所述多语言语音数据和所述中文语音文本数据,得到所述目标说话人的多语言合成模型;生成模块,用于获取待合成文本,通过所述多语言合成模型生成所述待合成文本的预测声学特征,所述待合成文本包括至少两种语种类型;转换模块,用于通过声码器将所述预测声学特征转换为所述目标说话人的混合语音数据,以进行播放。

在本公开的一种示例性实施方式中,所述确定模块用于确定所述多语言语音数据中是否包括文本标签数据,以在确定所述多语言语音数据中不包括文本标签数据时,确定所述多语言语音数据和所述中文语音文本数据的训练策略为第一训练策略,以及在确定所述多语言语音数据中包括文本标签数据时,确定所述多语言语音数据和所述中文语音文本数据的训练策略为第二训练策略;所述训练模块用于在确定所述训练策略为所述第一训练策略时,按照所述第一训练策略训练所述多语言语音数据和所述中文语音文本数据,得到所述多语言合成模型,或者在确定所述训练策略为所述第二训练策略时,按照所述第二训练策略训练所述多语言语音数据和所述中文语音文本数据,得到所述多语言合成模型。

在本公开的一种示例性实施方式中,所述训练模块还用于采用无监督训练模型训练所述多语言语音数据,生成所述多语言语音数据的预训练模型,通过所述中文语音文本数据对所述预训练模型进行监督式训练,生成所述多语言合成模型。

在本公开的一种示例性实施方式中,所述训练模块还用于采用监督训练模型训练所述多语言语音数据和该多语言语音数据的文本标签数据,生成所述多语言语音数据的预训练模型,通过所述中文语音文本数据对所述预训练模型进行监督式训练,生成所述多语言合成模型。

在本公开的一种示例性实施方式中,在确定所述多语言语音数据和所述中文语音文本数据的训练策略为第二训练策略后,所述确定模块还用于确定所述多语言语音数据的噪声数量,以在确定所述噪声数量小于预设阈值时,确定所述训练策略为第三训练策略,所述训练模块还用于按照所述第三训练策略训练所述多语言语音数据和所述中文语音文本数据,得到所述多语言合成模型。

在本公开的一种示例性实施方式中,所述训练模块还用于采用监督训练模型对所述多语言语音数据和所述中文语音文本数据的混合数据进行训练,生成所述多语言合成模型。

在本公开的一种示例性实施方式中,在按照所述训练策略训练所述多语言语音数据和所述中文语音文本数据时,所述训练模块还用于提取所述中文语音文本数据中的语音数据,以根据所述语音数据生成所述目标说话人的原始声学特征,计算所述原始声学特征与所述预测语音特征之间的误差,以通过反向传播算法对所述多语言合成模型进行训练。

在本公开的一种示例性实施方式中,在按照所述训练策略训练所述多语言语音数据和所述中文语音文本数据时,所述训练模块还用于将所述多语言语音数据的文本标签数据转换成多语言音素序列,以及将所述中文语音文本数据的文本数据转换成中文音素序列,将所述多语言语音数据的语音数据转换成多语言语音特征,以及将所述中文语音文本数据的语音数据转换成中文语音特征,基于注意力机制,通过计算所述多语言音素序列中各音素与所述多语言语音特征中各语音分帧的相似性,得到所述多语言音素序列和所述多语言语音特征的注意力得分,以及通过计算所述中文音素序列中各音素与所述中文语音特征中各语音分帧的相似性,得到所述中文音素序列和所述中文语音特征的注意力得分。

在本公开的一种示例性实施方式中,在通过所述多语言合成模型生成所述待合成文本的预测声学特征前,所述生成模块还用于将所述待合成文本转换成音素序列。

根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种语音合成方法。

根据本公开的第四方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一种语音合成方法。

本公开具有以下有益效果:

根据本示例性实施方式中的语音合成方法、语音合成装置、计算机可读存储介质与电子设备,可以通过判断其他说话人的多语言语音数据中是否包括文本标签数据确定上述多语言语音数据和目标说话人的中文语音文本数据的训练策略,并按照该训练策略训练上述多语言语音数据和中文语音文本数据,得到目标说话人的多语言合成模型,进而通过该多语言合成模型生成获取的待合成文本的预测声学特征,通过声码器将预测声学特征转换为目标说话人的混合语音数据,以进行播放。一方面,本示例性实施方式只需要获取其他说话人的多语言语音数据和目标说话人的中文数据,而不需要目标说话人的多语言数据,避免了由不同说话人录制不同语种的语音数据而产生的数据分布不匹配的问题,且其他说话人的多语言语音数据可以是各种数据来源的数据,因此降低了语音合成方法对数据的依赖性,实现了一种非常方便的合成混合语音数据的方法;另一方面,通过预先确定多语言语音数据和中文语音文本数据的训练策略,可以按照该训练策略训练多语言语音数据和中文语音文本数据,而不需要根据每种模型的训练结果确定对应的训练模型,因此,在相当程度上提高了生成目标说话人的混合语音数据的准确率和效率,也可以提高合成混合语音数据的准确率和效率,同时也相应地提高了混合语音数据的流利度和自然度。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施方式,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出本示例性实施方式中一种语音合成方法的流程图;

图2示出本示例性实施方式中一种语音合成方法的子流程图;

图3示出本示例性实施方式中另一种语音合成方法的子流程图;

图4示出本示例性实施方式中再一种语音合成方法的子流程图;

图5示出本示例性实施方式中另一种语音合成方法的流程图;

图6示出本示例性实施方式中再一种语音合成方法的流程图;

图7示出本示例性实施方式中一种语音合成装置的结构框图;

图8示出本示例性实施方式中一种用于实现上述方法的计算机可读存储介质;

图9示出本示例性实施方式中一种用于实现上述方法的电子设备。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。

相关技术的一种方案中,在合成混合语音数据时,可以采用混合数据合成混合文本的语音,具体的,以中英混合文本为例,可以通过中文录音师和英文录音师分别录制中文语音和英文语音,将中文语音和英文语音加入训练模型,并在该训练模型中加入中英文的语种向量,同时对不同的语种采用不同的编码器,来提高混合语音数据的整体流利度。然而,在这种方法中,由于每个说话人的训练数据都是单语言数据,而在测试或者模型运行中需要用同一个说话人的声音合成混合语音数据,即数据始终存在分布不匹配的问题,由此导致合成的混合语音数据自然度不高。

鉴于前述的各种问题,本公开的示例性实施方式首先提供了一种语音合成方法。该方法可以应用于电子设备,使其可以生成目标说话人的混合语音数据,该混合语音数据一般可以是多种语言的语音数据;目标说话人可以是需要生成声学特征,即生成表达声音特性的音频特征数据的说话人,根据实际需求,可以包括一个或多个说话人。

图1示出了本示例性实施方式中语音合成方法的一种流程,可以包括以下步骤S110~S150:

步骤S110.获取其他说话人的多语言语音数据和目标说话人的中文语音文本数据。

其中,多语言语音数据可以是包括两种或两种以上语种的语音数据,按照数据类型,多语言语音数据可以是纯语音数据,也可以包括语音数据和语音数据对应的文本数据;中文语音文本数据可以是包括中文文本和对应的中文语音的配对数据。

一般的,其他说话人的多语言语音数据可以采用公开的语音数据集,或者也可以是操作人员通过录制等方式收集的不同说话人的多个语种的语音数据;目标说话人的中文语音文本数据可以通过由目标说话人录制语音数据,并生成该语音数据对应的中文数据得到。相对而言,在实际应用中,获取目标说话人的中文数据是比较方便的,只需要目标说话人录制或输入一定的语音数据即可,且语音数据对应的中文文本可以也通过将语音数据转换成文本得到。

此外,上述多语言语音数据和中文语音文本数据均可以存储在特定的数据库或数据平台中,从而在下一次或者针对不同语音合成场景进行语音合成时,可以直接从上述数据库或数据平台获取对应的数据。

步骤S120.根据上述多语言语音数据中是否包括文本标签数据确定该多语言语音数据和中文语音文本数据的训练策略。

其中,文本标签数据可以是上述多语言语音数据对应的文本数据,例如,对于一段语音数据而言,其文本标签数据可以是翻译该段语音数据得到的文本数据;训练策略是指训练上述多语言语音数据和中文语音文本数据的方式,可以包括监督学习、无监督学习或将监督学习和无监督学习进行组合,以及以何种方式组合等等。

当上述多语言语音数据中包括文本标签数据时,可以通过文本标签数据验证训练结果的准确性。因此,可以根据上述多语言语音数据中是否包括文本标签数据确定上述多语言语音数据和上述中文语音文本数据的训练策略。

步骤S130.按照上述训练策略训练上述多语言语音数据和中文语音文本数据,得到目标说话人的多语言合成模型。

其中,多语言合成模型可以是一种确定的生成混合语言的声学特征,即生成表达声音特性的音频特征数据的计算方法,其可以是一种特定的算法模型,也可以是由多种算法组合生成的混合算法模型。

在确定上述多语言语音数据和中文语音文本数据的训练策略后,可以按照该训练策略训练上述多语言语音数据和中文语音文本数据,从而在训练完成后,将生成的模型确定为目标说话人的多语言合成模型。

步骤S140.获取待合成文本,通过上述多语言合成模型生成上述待合成文本的预测声学特征。

其中,上述待合成文本可以是任意一个说话人通过手机、电脑或智能录音设备等终端设备输入的文本数据,且待合成文本可以包括至少两种语种类型;预测声学特征可以是对语音信号进行模数转换等生成的表达声音特性的频谱特征,以梅尔频谱为例,其可以用于表示短期音频信号的频谱。

在实际应用中,上述待合成文本可以根据应用场景通过不同的方式获取,例如,游戏应用中,待合成文本可以是任意一个或多个玩家在终端设备上输入的文本数据,也可以是游戏应用中预先存储的快捷文本;再例如,在电话查询系统中,待合成文本可以是提供查询服务的企业预先配置的默认通话文本。在获取待合成文本后,可以将待合成文本输入至上述多语言合成模型中进行训练,并在训练结束后得到上述待合成文本的预测声学特征。

在一种可选的实施方式中,在通过上述多语言合成模型生成待合成文本的预测声学特征时,也可以先将待合成文本转换为目标说话人的预测语音特征,如可以是待合成文本的表达声音特性的音频序列,进而通过神经网络等将得到的预测语音特征转换成目标说话人的声音频谱信号,即也就是目标说话人的预测声学特征。

步骤S150.通过声码器将上述预测声学特征转换为目标说话人的混合语音数据,以进行播放。

其中,声码器可以是Griffin-Lim(一种将频谱信号转换为波形信号的算法)声码器,可以用于将声学特征转换成语音波形。

在接收到目标说话人的预测声学特征后,可以通过声码器将该预测声学特征转换成语音信号,提取出语音信号的特征参量加以编码或加密等,使其和传输信道相匹配,经由该传输信道,可以将编码和加密后的语音信号传输至接收端,并恢复为混合语音数据。

在得到混合语音数据后,可以对该混合语音数据进行播放。通常,该混合语音数据的声音信息与目标说话人的声音特征较为相似。

如步骤S120中所述,文本标签数据可以用于确定训练结果的准确性,因此,在一种可选的实施方式中,步骤S120中的训练策略可以通过以下方式确定:

确定上述多语言语音数据中是否包括文本标签数据,以在确定该多语言语音数据中不包括文本标签数据时,确定上述多语言语音数据和中文语音文本数据的训练策略为第一训练策略;以及

在确定上述多语言语音数据中包括文本标签数据时,确定上述多语言语音数据和中文语音文本数据的训练策略为第二训练策略。

其中,第一训练策略可以是一种无监督式训练策略和监督式训练策略相结合的训练方式,例如,可以对上述多语言语音数据采用无监督训练模型,对上述中文语音文本数据采用监督训练模型,将上述无监督训练模型和监督训练模型组合为一个确定的训练模型;第二训练策略可以是一种监督式训练策略,例如,可以对上述多语言语音数据和中文语音文本数据分别采用相同的监督训练模型,将由该相同的监督训练模型组合而成的训练模型作为最终的训练模型。

进一步的,考虑到现实环境的复杂性,语音数据中往往会包含一定数量的噪声,在一种可选的实施方式中,在确定上述多语言语音数据中包括文本标签数据的训练策略为第二训练策略后,步骤S120中的训练策略也可以通过以下方式确定:

确定上述多语言语音数据的噪声数量,以在确定该噪声数量小于预设阈值时,确定上述训练策略为第三训练策略。

其中,预设阈值一般可以通过统计上述多语言语音数据的噪声数量进行确定,例如,可以设置为噪声总数量的平均值、1/3值等;第三训练策略可以是另一种监督式训练策略,例如可以将上述多语言语音数据和中文语音文本数据进行混合,并对混合数据采用相同的监督训练模型进行训练。

当多语言语音数据中的噪声数量较小时,噪声对训练模型的影响较小,并且由于上述多语言语音数据中包括文本标签数据,因此,可以采用监督式训练策略作为上述多语言语音数据和中文语音文本数据的训练策略;相反,当多语言语音数据的噪声数量较大时,噪声对训练模型的影响较大,因此,可以将上述多语言语音数据和中文语音文本数据的训练策略确定为上述第二训练策略。

在步骤S130中,当通过步骤S120确定上述多语言语音数据和中文语音文本数据的训练策略为第一训练策略和第二训练策略后,在一种可选的实施方式中,可以在确定上述多语言语音数据和中文语音文本数据的训练策略为第一训练策略时,按照该第一训练策略训练上述多语言语音数据和中文语音文本数据;或者,也可以在确定上述多语言语音数据和中文语音文本数据的训练策略为第二训练策略时,按照该第二训练策略训练上述多语言语音数据和中文语音文本数据,从而在训练结束后,得到目标说话人的多语言合成模型。

具体的,在一种可选的实施方式中,在按照第一训练策略训练上述多语言语音数据和中文语音文本数据时,参考图2所示,可以通过以下步骤S210~S220实现:

步骤S210.采用无监督训练模型训练上述多语言语音数据,生成上述多语言语音数据的预训练模型;

步骤S220.通过上述中文语音文本数据对上述预训练模型进行监督式训练,生成上述多语言合成模型。

其中,预训练模型可以是一种确定的无监督训练算法,如可以是K均值聚类算法,此时,多语言合成模型是一种确定的、可以提取目标说话人的预测声学特征的无监督训练算法。

当上述多语言语音数据中不包括文本标签数据时,可以采用无监督训练模型首先对上述多语言语音数据进行训练,生成预训练模型,再通过上述中文语音文本数据对所生成的预训练模型进行监督式训练,从而对上述预训练模型的参数进行调整,同时在每次训练结束后,通过计算训练模型的准确率等因子确定训练模型的性能,从而在训练模型性能达到最佳,如准确率最高时,将得到的预训练模型作为最终得到的多语言合成模型,并通过该多语言合成模型得到目标说话人的预测声学特征。

当上述多语言语音数据中包括文本标签数据时,可以按照第二训练策略对上述多语言语音数据和中文语音文本数据进行训练,具体的,在一种可选的实施方式中,参考图3所示,上述按照第二训练策略对多语言语音数据和中文语音文本数据进行训练的方法可以通过以下步骤S310~S320实现:

步骤S310.采用监督训练模型训练上述多语言语音数据和该多语言语音数据的文本标签数据,生成上述多语言语音数据的预训练模型;

步骤S320.通过上述中文语音文本数据对上述预训练模型进行监督式训练,生成上述多语言合成模型。

其中,当上述多语言语音数据中包括文本标签数据时,预训练模型可以是一种确定的监督训练算法,如可以是支持向量机算法、随机森林算法等,此时,多语言合成模型是一种确定的、可以提取目标说话人的预测声学特征的监督训练算法。

当上述多语言语音数据中包括文本标签数据时,可以采用监督训练模型首先对上述多语言语音数据进行训练,并在每次训练结束后根据该多语言语音数据的文本标签数据对训练模型的性能进行验证,从而在训练模型的性能达到最佳时,如准确率较高时,将所生成的训练模型作为预训练模型;然后通过上述中文语音文本数据对所生成的预训练模型再次进行监督式训练,进一步对预训练模型的参数进行调整,使预训练模型的性能进一步得到提升,在预训练模型的性能,如准确率达到最高时,将对应的预训练模型作为最终的多语言合成模型,并通过该多语言合成模型得到目标说话人的预测声学特征。

进一步的,当根据步骤S120中确定上述多语言语音数据和中文语音文本数据的训练策略为第三训练策略时,也可以按照该第三训练策略对上述多语言语音数据和中文语音文本数据进行训练。具体的,在一种可选的实施方式中,按照第三训练策略训练上述多语言语音数据和中文语音文本数据可以通过采用监督训练模型对上述多语言语音数据和中文语音文本数据的混合数据进行训练,以生成上述多语言合成模型。

其中,当确定上述多语言语音数据和中文语音文本数据的训练策略为第三训练策略时,多语言合成模型可以是另一种生成目标说话人的预测声学特征的监督训练算法。

当多语言语音数据的噪声数量较小,且包括文本标签数据时,说明多语言语音数据的数据质量较好,则可以对该多语言语音数据与目标说话人的中文语音文本数据进行混合,采用监督训练模型对混合数据进行训练。相应的,当上述监督训练模型的性能达到最佳时,可以将得到的监督训练模型确定为最终得到的多语言合成模型,以通过该多语言合成模型得到目标说话人的预测声学特征。需要说明的是,在将多语言语音数据和中文语音文本数据进行混合时,可以根据需求确定混合比例,从而按照所确定的混合比例对上述两种数据进行混合,如3:7或1:1等,本示例性实施方式对此不做特殊限定。

为了提高预测声学特征的准确率,在一种可选的实施方式中,在通过步骤S130训练上述多语言语音数据和中文语音文本数据时,还可以通过反向传播算法对上述多语言合成模型进行迭代更新,具体的,可以通过以下方式实现:

提取上述中文语音文本数据中的语音数据,以根据该语音数据生成目标说话人的原始声学特征;

计算上述原始声学特征与预测声学特征之间的误差,以通过反向传播算法对上述多语言合成模型进行训练。

其中,原始声学特征可以通过将中文语音文本数据中的语音数据转换成语音信号,对其进行信号处理等操作转换为语音特征序列,并将该语音特征序列转换为声音频谱信号。

在得到目标说话人的原始声学特征和预测声学特征后,可以通过计算目标说话人的原始声学特征和预测声学特征之间的误差,来判断上述多语言合成模型的训练性能。具体的,原始声学特征和预测声学特征之间的误差可以通过以下公式计算:

其中,i表示语音特征的顺序,y

当原始声学特征和预测声学特征之间的误差大于误差阈值时,可以通过梯度下降算法等更新上述多语言合成模型的参数,重新训练对应的语音合成模型。同时,在每次训练后,可以计算原始声学特征和预测声学特征之间的误差,直至该误差小于误差阈值或者模型的迭代次数达到次数阈值时停止训练,此时得到的合成模型即为最终生成的多语言合成模型,通过该多语言合成模型可以得到目标说话人的预测声学特征。需要说明的是,误差阈值和次数阈值一般可以根据操作人员根据经验自行设置,本示例性实施方式对此不做特殊限定。

此外,在按照训练策略对上述多语言语音数据和中文语音文本数据进行训练时,需要将语音数据和文本数据分别转换成语音特征序列和音素序列,其中,语音特征通过分帧等信号处理方法可以划分为多个语音分帧,为了确定每个语音分帧在音素序列中对应的音素等,在一种可选的实施方式中,如图4所示,在按照步骤S130对上述多语言语音数据和中文语音文本数据进行训练时,还可以通过以下步骤S410~S440对上述多语言语音数据和中文语音文本数据进行处理:

步骤S410.将上述多语言语音数据的文本标签数据转换成多语言音素序列,以及将上述中文语音文本数据的文本数据转换成中文音素序列;

步骤S420.将上述多语言语音数据的语音数据转换成多语言语音特征,以及将上述中文语音文本数据的语音数据转换成中文语音特征;

步骤S430.基于注意力机制,通过计算上述多语言音素序列中各音素与上述多语言语音特征中各语音分帧的相似性,得到上述多语言音素序列和多语言语音特征的注意力得分;以及

步骤S440.通过计算上述中文音素序列中各音素与上述中文语音特征中各语音分帧的相似性,得到上述中文音素序列和中文语音特征的注意力得分。

其中,音素是根据语音的自然属性划分出来的最小语音单位,从声学性质来看,音素是从音质角度划分出来的最小语音单位。以汉语文字作为示例,汉语音节ā(啊)、ài(爱)均包含一个音素,bài(拜)包含两个音素等;语音特征是指按照一定编码方式构成的语音数据的数学序列,通常可以通过进行信号处理的声码器转换而成;语音分帧是从语音特征中截取的一段语音信号,一般可以通过相应的窗函数对语音特征进行加窗处理得到。

在得到多语言语音数据的多语言语音特征和多语言音素序列、中文语音文本数据的中文语音特征和中文音素序列后,可以通过注意力机制分别确定多语言语音特征和多语言音素序列、中文语音特征和中文音素序列中音素与语音分帧的对应关系。具体的,参考图5所示,可以通过以下步骤S510~S560对上述多语言语音数据和中文语音文本数据进行处理:

步骤S510.对上述多语言语音数据的文本标签数据和上述中文语音文本数据中的文本数据进行文本处理,如正则化、文本转音素等,将上述文本标签数据和上述中文语音文本数据中的文本数据分别转换成多语言音素序列和中文音素序列。

步骤S520.提取上述多语言语音数据中语音数据的声学特征,得到多语言声学特征,同时提取上述中文语音文本数据中语音数据的声学特征,得到中文声学特征。

步骤S530.通过编码器分别对上述多语言音素序列和上述中文音素序列进行非线性变换,从而将上述多语言音素序列和上述中文音素序列映射到高维特征空间。

步骤S540.采用神经网络等声学解码器将上述多语言声学特征和中文声学特征转换成多语言语音特征和中文语音特征。

步骤S550.基于注意力机制,计算上述多语言音素序列中各音素和多语言语音特征中每个语音分帧的相似性,得到上述多语言音素序列和多语言语音特征的注意力得分,以及计算上述中文音素序列中各音素与中文语音特征中各语音分帧的相似性,得到上述中文音素序列和中文语音特征的注意力得分。

具体的,在计算注意力得分时,可以计算上述多语言音素序列中每个音素与上述多语言语音特征中每个语音分帧的相似性或者相关性,得到多语言音素序列中每个音素的权重系数,然后对每个音素的值进行加权求和,得到最终的注意力得分。相应地,对上述中文音素序列和中文语音特征的注意力得分也可以通过相同的方法计算得到,此处不再赘述。

根据上述注意力得分,多语言合成模型可以更好地表示每个音素和语音分帧的重要性,以及每个音素与各语音分帧的对应关系,也就是说,使得上述多语言合成模型可以隐性“对齐”各个音素和语音分帧,从而在训练过程中,可以重点着眼于语音信息中的重要信息,提高模型的训练效率和准确率。

在经过注意力机制处理后,可以通过上述多语言合成模型生成目标说话人的预测声学特征。例如,可以通过上述多语言合成模型可以提取待合成文本的音频序列,也就是预测语音特征,并通过如图5步骤S560所示的神经网络等声学解码器将该预测语音特征转换为对应的预测声学特征。

在一种可选的实施方式中,在获取待合成文本数据后,可以根据预先存储的文字与音素的对应关系,将待合成文本数据转换成音素序列,或者也可以通过特定的音素转换工具将待合成文本数据转换成音素序列。

此外,当存在多个说话人时,为了得到每个说话人的预测声学特征,在一种可选的实施方式中,可以在上述注意力机制中加入各说话人的说话人向量,并通过上述多语言合成模型得到每个说话人的预测声学特征。其中,说话人向量可以是经过初始化的向量,每个向量用于唯一地表示一个说话人。

图6示出了本示例性实施方式中另一种语音合成方法的流程,如图所示,可以包括以下步骤S601~S620:

步骤S601.获取其他说话人的多语言语音数据和目标说话人的中文语音文本数据。

步骤S602.确定上述多语言语音数据中是否包括文本标签数据。

具体的,可以通过对上述多语言语音数据中的语音数据和文本标签数据进行匹配校验,判断上述多语言语音数据中的语音数据与文本标签数据中文本数据存在对应关系的语音数据数量,以在该数量大于一定数值时确定多语言语音数据包括文本标签数据,执行步骤S609;否则,则确定上述多语言语音数据不包括文本标签数据,执行步骤S603。

步骤S603.确定上述多语言语音数据和中文语音文本数据的训练策略为第一训练策略。

步骤S604.采用无监督训练模型对上述多语言语音数据进行训练。

步骤S605.生成预训练模型。

步骤S606.通过上述目标说话人的中文语音文本数据对上述步骤S605生成的预训练模型进行监督式训练。

步骤S607.生成多语言合成模型。

步骤S608.通过上述多语言合成模型得到目标说话人的预测语音特征,然后执行步骤S620。

步骤S609.判断上述多语言语音数据的噪声数量是否大于预设阈值。

具体的,可以通过上述多语言语音数据进行聚类处理,从而根据聚类结果确定上述多语言语音数据的噪声数量。在确定上述多语言语音数据的噪声数量不小于预设阈值时,执行步骤S610;在确定上述多语言语音数据的噪声数量小于预设阈值时,执行步骤S616。

步骤S610.确定上述多语言语音数据和中文语音文本数据的训练策略为第二训练策略。

步骤S611.采用监督训练模型对上述多语言语音数据进行训练。

步骤S612.生成预训练模型。

步骤S613.通过上述目标说话人的中文语音文本数据对上述步骤S612生成的预训练模型进行监督式训练。

步骤S614.生成多语言合成模型。

步骤S615.通过上述多语言合成模型得到目标说话人的预测语音特征,然后执行步骤S620。

步骤S616.确定上述多语言语音数据和中文语音文本数据的训练策略为第三训练策略。

步骤S617.采用监督训练模型对上述多语言语音数据和中文语音文本数据的混合数据进行训练。

步骤S618.生成多语言合成模型。

步骤S619.通过上述多语言合成模型得到目标说话人的预测语音特征,然后执行步骤S620。

步骤S620.得到目标说话人的预测声学特征。

综上,根据本示例性实施方式中的语音合成方法,可以通过判断其他说话人的多语言语音数据中是否包括文本标签数据确定上述多语言语音数据和目标说话人的中文语音文本数据的训练策略,并按照该训练策略训练上述多语言语音数据和中文语音文本数据,得到目标说话人的多语言合成模型,进而通过该多语言合成模型生成获取的待合成文本的预测声学特征,通过声码器将预测声学特征转换为目标说话人的混合语音数据,以进行播放。一方面,本示例性实施方式只需要获取其他说话人的多语言语音数据和目标说话人的中文数据,而不需要目标说话人的多语言数据,避免了由不同说话人录制不同语种的语音数据而产生的数据分布不匹配的问题,且其他说话人的多语言语音数据可以是各种数据来源的数据,因此降低了语音合成方法对数据的依赖性实现了一种非常方便的合成混合语音数据的方法;另一方面,通过预先确定多语言语音数据和中文语音文本数据的训练策略,可以按照该训练策略训练多语言语音数据和中文语音文本数据,而不需要根据每种模型的训练结果确定对应的训练模型,因此,在相当程度上提高了生成目标说话人的混合语音数据的准确率和效率,也可以提高合成混合语音数据的准确率和效率,同时也相应地提高了混合语音数据的流利度和自然度。

进一步的,本示例性实施方式还提供了一种语音合成装置,参考图7所示,语音合成装置700可以包括:获取模块710,可以用于获取其他说话人的多语言语音数据和目标说话人的中文语音文本数据;确定模块720,可以用于根据多语言语音数据中是否包括文本标签数据确定多语言语音数据和中文语音文本数据的训练策略;训练模块730,可以用于按照训练策略训练多语言语音数据和中文语音文本数据,得到目标说话人的多语言合成模型;生成模块740,可以用于获取待合成文本,通过多语言合成模型生成待合成文本的预测声学特征,待合成文本包括至少两种语种类型;转换模块750,可以用于通过声码器将预测声学特征转换为目标说话人的混合语音数据,以进行播放。

在本公开的一种示例性实施方式中,确定模块720可以用于确定多语言语音数据中是否包括文本标签数据,以在确定多语言语音数据中不包括文本标签数据时,确定多语言语音数据和中文语音文本数据的训练策略为第一训练策略,以及在确定多语言语音数据中包括文本标签数据时,确定多语言语音数据和中文语音文本数据的训练策略为第二训练策略;训练模块730可以用于在确定训练策略为第一训练策略时,按照第一训练策略训练多语言语音数据和中文语音文本数据,得到多语言合成模型,或者在确定训练策略为第二训练策略时,按照第二训练策略训练多语言语音数据和中文语音文本数据,得到多语言合成模型。

在本公开的一种示例性实施方式中,训练模块730还可以用于采用无监督训练模型训练多语言语音数据,生成多语言语音数据的预训练模型,通过中文语音文本数据对预训练模型进行监督式训练,生成多语言合成模型。

在本公开的一种示例性实施方式中,训练模块730还可以用于采用监督训练模型训练多语言语音数据和该多语言语音数据的文本标签数据,生成多语言语音数据的预训练模型,通过中文语音文本数据对预训练模型进行监督式训练,生成多语言合成模型。

在本公开的一种示例性实施方式中,在确定多语言语音数据和中文语音文本数据的训练策略为第二训练策略后,确定模块720还可以用于确定多语言语音数据的噪声数量,以在确定噪声数量小于预设阈值时,确定训练策略为第三训练策略,训练模块730还可以用于按照第三训练策略训练多语言语音数据和中文语音文本数据,得到多语言合成模型。

在本公开的一种示例性实施方式中,训练模块730还可以用于采用监督训练模型对多语言语音数据和中文语音文本数据的混合数据进行训练,生成多语言合成模型。

在本公开的一种示例性实施方式中,在按照训练策略训练多语言语音数据和中文语音文本数据时,训练模块730还可以用于提取中文语音文本数据中的语音数据,以根据语音数据生成目标说话人的原始声学特征,计算原始声学特征与预测语音特征之间的误差,以通过反向传播算法对多语言合成模型进行训练。

在本公开的一种示例性实施方式中,在按照训练策略训练多语言语音数据和中文语音文本数据时,训练模块730还可以用于将多语言语音数据的文本标签数据转换成多语言音素序列,以及将中文语音文本数据的文本数据转换成中文音素序列,将多语言语音数据的语音数据转换成多语言语音特征,以及将中文语音文本数据的语音数据转换成中文语音特征,基于注意力机制,通过计算多语言音素序列中各音素与多语言语音特征中各语音分帧的相似性,得到多语言音素序列和多语言语音特征的注意力得分,以及通过计算中文音素序列中各音素与中文语音特征中各语音分帧的相似性,得到中文音素序列和中文语音特征的注意力得分。

在本公开的一种示例性实施方式中,在通过多语言合成模型生成待合成文本的预测声学特征前,生成模块740还可以用于将待合成文本转换成音素序列。

上述装置中各模块的具体细节在方法部分实施方式中已经详细说明,未披露的方案细节内容可以参见方法部分的实施方式内容,因而不再赘述。

所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。

参考图8所示,描述了根据本公开的示例性实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

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

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

本公开的示例性实施方式还提供了一种能够实现上述方法的电子设备。下面参照图9来描述根据本公开的这种示例性实施方式的电子设备900。图9显示的电子设备910仅仅是一个示例,不应对本公开实施方式的功能和使用范围带来任何限制。

如图9所示,电子设备900可以以通用计算设备的形式表现。电子设备900的组件可以包括但不限于:上述至少一个处理单元910、上述至少一个存储单元920、连接不同系统组件(包括存储单元920和处理单元910)的总线930和显示单元940。

其中,存储单元920存储有程序代码,程序代码可以被处理单元910执行,使得处理单元910执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,处理单元910可以执行图1至图6所示的方法步骤等。

存储单元920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)921和/或高速缓存存储单元922,还可以进一步包括只读存储单元(ROM)923。

存储单元920还可以包括具有一组(至少一个)程序模块925的程序/实用工具924,这样的程序模块925包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

电子设备900也可以与一个或多个外部设备1000(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备900交互的设备通信,和/或与使得该电子设备900能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口950进行。并且,电子设备900还可以通过网络适配器960与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器960通过总线930与电子设备900的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的示例性实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

此外,上述附图仅是根据本公开示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例性实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开示例性实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开示例性实施方式的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方式。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施方式仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

技术分类

06120112178008