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

语音特征预测方法、装置、设备及可读存储介质

文献发布时间:2023-06-19 11:52:33


语音特征预测方法、装置、设备及可读存储介质

技术领域

本申请涉及语音处理技术领域,更具体地说,涉及一种语音特征预测方法、装置、设备及可读存储介质。

背景技术

随着人工智能相关技术应用的发展,语音合成技术的应用领域不断拓展,例如,从广播式应用(如车站、银行、机场广播等)到人机交互式应用(如人工智能助理、客服等)等领域都会应用到语音合成技术,这对合成语音的表现力、音质等有了更高的要求。

目前的语音合成方法在合成语音的过程中,基于同一个文本只能合成一种语音。而人在读同样的文本时,会由于语境、情绪、状态等变化,生成不同的语音,这种变化性是目前的语音合成方法无法实现的,也就是说,目前的语音合成方法对合成语音的控制力较差。

发明内容

有鉴于此,本申请提供了一种语音特征预测方法、装置、设备及可读存储介质,以提高对合成语音的控制力。

为了实现上述目的,现提出的方案如下:

一种语音特征预测方法,包括:

提取文本数据的文本特征,得到文本特征序列;

通过预先训练好的语音特征预测模型对所述文本特征序列进行至少一个韵律层级的编码,得到所述文本数据在每一个韵律层级的隐变量序列;

根据所述文本特征序列,以及所述文本数据在各个韵律层级的隐变量序列,确定所述文本数据对应的语音特征序列。

上述方法,优选的,通过预先训练好的语音特征预测模型得到所述文本数据在每一个韵律层级的隐变量序列,根据所述文本特征序列,以及所述文本数据在各个韵律层级的隐变量序列,确定所述文本数据对应的语音特征序列的过程,包括:

通过所述语音特征预测模型的编码模块对所述文本特征序列进行至少一个韵律层级的编码,得到所述文本数据在每一个韵律层级的隐变量序列;

通过所述语音特征预测模型的解码模块根据所述文本特征序列,以及所述文本数据在各个韵律层级的隐变量序列,确定所述文本数据对应的语音特征序列。

上述方法,优选的,所述通过所述语音特征预测模型的解码模块根据所述文本特征序列,以及所述文本数据在各个韵律层级的隐变量序列,确定所述文本数据对应的语音特征序列,包括:

对于每一个隐变量序列,通过所述语音特征预测模型的隐层特征获取模块,以预置处理方式对该隐变量序列中的各个隐变量分别进行处理,得到该隐变量序列对应的隐层特征序列;所述预置处理方式具有:以所述预置处理方式对同一隐变量进行至少两次处理得到的至少两个隐层特征相同或不同的能力;

通过所述语音特征预测模型的预测模块,根据所述文本特征序列,以及各个隐变量序列对应的隐层特征序列,确定所述文本数据对应的语音特征序列。

上述方法,优选的,所述语音特征序列为:

语音时长序列,或者,声学特征序列,或者,波形点特征序列。

上述方法,优选的,所述通过所述语音特征预测模型的编码模块,对所述文本特征序列进行至少一个韵律层级的编码,包括:

若所述语音特征序列为声学特征序列,或者,波形点特征序列,则通过所述编码模块,基于所述文本特征序列中的各个文本特征对应的语音时长对所述文本特征序列进行至少一个韵律层级的编码,得到所述文本数据在每一个韵律层级的隐变量序列;

若所述语音特征序列为语音时长序列,则通过所述编码模块,直接对所述文本特征序列进行至少一个韵律层级的编码,得到所述文本数据在每一个韵律层级的隐变量序列。

上述方法,优选的,所述通过所述语音特征预测模型的编码模块,基于所述文本特征序列中的各个文本特征对应的语音时长对所述文本特征序列进行至少一个韵律层级的编码,包括:

通过所述语音特征预测模型的编码模块,对于所述文本特征序列中的每一个文本特征,将该文本特征对应的语音时长与该文本特征进行拼接,得到该文本特征对应的拼接特征;

对由各个拼接特征构成的拼接特征序列进行至少一个韵律层级的编码,得到所述文本数据在每一个韵律层级的隐变量序列。

上述方法,优选的,所述通过所述语音特征预测模型的预测模块,根据所述文本特征序列,以及各个隐变量序列对应的隐层特征序列,确定所述文本数据对应的语音特征序列,包括:

通过所述语音特征预测模型的预测模块,对应所述文本特征序列中的每一个文本特征,将该文本特征,以及各个韵律层级上的隐变量序列中基于该文本特征生成的隐变量对应的隐层特征进行拼接,得到该文本特征对应的隐层特征;

对所述文本特征序列中的各个文本特征对应的隐层特征进行解码,得到所述文本数据的语音特征。

上述方法,优选的,所述对于每一个隐变量序列,通过所述语音特征预测模型的隐层特征获取模块,以预置处理方式对该隐变量序列中的各个隐变量分别进行处理,包括:

通过所述隐层特征获取模块,对该隐变量序列中的各个隐变量以相同的预置方式进行处理;

或者,

通过所述隐层特征获取模块,对该隐变量序列中的至少部分隐变量以不同的预置方式进行处理。

上述方法,优选的,所述通过所述隐层特征获取模块,对该隐变量序列中的各个隐变量以相同的预置方式进行处理,包括:

通过所述隐层特征获取模块,对该隐变量序列中的各个隐变量分别进行随机采样,得到该隐变量序列对应的隐层特征序列;

或者,

通过所述隐层特征获取模块,确定该隐变量序列中的每一个隐变量的均值,利用该隐变量序列中的每一个隐变量对应的可调系数,对该隐变量的均值进行调节,得到该隐变量序列中的各个隐变量对应的隐层特征。

上述方法,优选的,所述通过所述隐层特征获取模块,对该隐变量序列中的至少部分隐变量以不同的预置方式进行处理,包括:

通过所述隐层特征获取模块,对于每一个隐变量序列,对该隐变量序列中的部分隐变量分别进行随机采样,得到该部分隐变量中的各个隐变量对应的隐层特征;

确定该隐变量序列中的另一部分隐变量中的各个隐变量的均值,利用所述另一部分隐变量中的每一个隐变量对应的可调系数,对该隐变量的均值进行调节,得到所述另一部分隐变量中的中的各个隐变量对应的隐层特征。

一种语音特征预测装置,包括:

文本特征提取模块,用于提取文本数据的文本特征,得到文本特征序列;

编码控制模块,用于通过预先训练好的语音特征预测模型对所述文本特征序列进行至少一个韵律层级的编码,得到所述文本数据在每一个韵律层级的隐变量序列;

解码控制模块,用于通过所述语音特征预测模型根据所述文本特征序列,以及所述文本数据在每一个韵律层级的隐变量序列,确定所述文本数据对应的语音特征序列。

上述装置,优选的,所述编码控制模块包括:

隐变量编码控制模块,用于通过所述语音特征预测模型的编码模块对所述文本特征序列进行至少一个韵律层级的编码,得到所述文本数据在每一个韵律层级的隐变量序列;

预测控制模块,用于通过所述语音特征预测模型的解码模块根据所述文本特征序列,以及所述文本数据在各个韵律层级的隐变量序列,确定所述文本数据对应的语音特征序列。

上述装置,优选的,所述预测控制模块包括:

隐层特征获取控制模块,用于对于每一个隐变量序列,通过所述语音特征预测模型的隐层特征获取模块,以预置处理方式对该隐变量序列中的各个隐变量分别进行处理,得到该隐变量序列对应的隐层特征序列;所述预置处理方式具有:以所述预置处理方式对同一隐变量进行至少两次处理得到的至少两个隐层特征相同或不同的能力;

语音特征确定模块,用于通过所述语音特征预测模型的预测模块,根据所述文本特征序列,以及各个隐变量序列对应的隐层特征序列,确定所述文本数据对应的语音特征序列。

上述装置,优选的,所述语音特征序列为:

语音时长序列,或者,声学特征序列,或者,波形点特征序列。

上述装置,优选的,所述隐变量编码控制模块具体可以用于:

若所述语音特征序列为声学特征序列,或者,波形点特征序列,则通过所述编码模块,基于所述文本特征序列中的各个文本特征对应的语音时长对所述文本特征序列进行至少一个韵律层级的编码,得到所述文本数据在每一个韵律层级的隐变量序列;

若所述语音特征序列为语音时长序列,则通过所述编码模块,直接对所述文本特征序列进行至少一个韵律层级的编码,得到所述文本数据在每一个韵律层级的隐变量序列。

上述装置,优选的,隐变量编码控制模块在通过所述编码模块,基于所述文本特征序列中的各个文本特征对应的语音时长对所述文本特征序列进行至少一个韵律层级的编码时,具体可以用于:

通过所述语音特征预测模型的编码模块,对于所述文本特征序列中的每一个文本特征,将该文本特征对应的语音时长与该文本特征进行拼接,得到该文本特征对应的拼接特征;

对由各个拼接特征构成的拼接特征序列进行至少一个韵律层级的编码,得到所述文本数据在每一个韵律层级的隐变量序列。

上述装置,优选的,所述语音特征确定模块包括:

拼接控制模块,用于通过所述语音特征预测模型的预测模块,对应所述文本特征序列中的每一个文本特征,将该文本特征,以及各个韵律层级上的隐变量序列中基于该文本特征生成的隐变量对应的隐层特征进行拼接,得到该文本特征对应的隐层特征;

确定模块,用于对所述文本特征序列中的各个文本特征对应的隐层特征进行解码,得到所述文本数据的语音特征。

上述装置,优选的,所述隐层特征获取控制模块在对于每一个隐变量序列,通过所述语音特征预测模型的隐层特征获取模块,以预置处理方式对该隐变量序列中的各个隐变量分别进行处理时,具体用于:

通过所述隐层特征获取模块,对该隐变量序列中的各个隐变量以相同的预置方式进行处理;

或者,

通过所述隐层特征获取模块,对该隐变量序列中的至少部分隐变量以不同的预置方式进行处理。

上述装置,优选的,所述隐层特征获取控制模块在通过所述隐层特征获取模块,对该隐变量序列中的各个隐变量以相同的预置方式进行处理时,具体用于:

通过所述隐层特征获取模块,对该隐变量序列中的各个隐变量分别进行随机采样,得到该隐变量序列对应的隐层特征序列;

或者,

通过所述隐层特征获取模块,确定该隐变量序列中的每一个隐变量的均值,利用该隐变量序列中的每一个隐变量对应的可调系数,对该隐变量的均值进行调节,得到该隐变量序列中的各个隐变量对应的隐层特征。

上述装置,优选的,所述隐层特征获取控制模块在通过所述隐层特征获取模块,对该隐变量序列中的至少部分隐变量以不同的预置方式进行处理,时,具体用于:

通过所述隐层特征获取模块,对于每一个隐变量序列,对该隐变量序列中的部分隐变量分别进行随机采样,得到该部分隐变量中的各个隐变量对应的隐层特征;

确定该隐变量序列中的另一部分隐变量中的各个隐变量的均值,利用所述另一部分隐变量中的每一个隐变量对应的可调系数,对该隐变量的均值进行调节,得到所述另一部分隐变量中的中的各个隐变量对应的隐层特征。

上述装置,优选的,还可以包括模型训练模块,具体用于:

通过后验编码模块,根据文本样本对应的语音样本的语音特征序列,对文本样本的文本特征序列进行至少一个韵律层级的编码,得到文本样本在每个韵律层级的后验隐变量序列。

通过语音特征预测模型的编码模块,对文本样本的文本特征序列进行至少一个韵律层级的编码,得到文本样本在每一个韵律层级的先验隐变量序列。

通过语音特征预测模型的隐层特征获取模块,对于每一个后验隐变量序列,以预置处理方式对该后验隐变量序列中的各个后验隐变量分别进行处理,得到该后验隐变量序列对应的后验隐层特征序列。

通过语音特征预测模型的预测模块,对文本特征序列和各个韵律层级的后验隐层特征序列进行处理,以重构语音样本的语音特征序列。

以重构的语音特征序列趋近于语音样本的语音特征序列,每一个先验隐变量序列趋近于同一韵律层级的后验隐变量序列为目标,对先验编码模块,以及语音特征预测模型的参数进行更新

一种语音特征预测设备,包括存储器和处理器;

所述存储器,用于存储程序;

所述处理器,用于执行所述程序,实现如上任一项所述的语音特征预测方法的各个步骤。

一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上任一项所述的语音特征预测方法的各个步骤。

从上述的技术方案可以看出,本申请实施例提供的语音特征预测方法、装置、设备及可读存储介质,提取文本数据的文本特征,得到文本特征序列,通过预先训练好的语音特征预测模型对文本特征序列进行至少一个韵律层级的编码,得到文本数据在每一个韵律层级的隐层变量序列;根据文本特征序列,以及文本数据在每一个韵律层级的隐层变量序列,确定文本数据对应的语音特征序列。本申请实施例提供的语音特征预测方案,对文本特征序列进行至少一个韵律层级的编码,得到至少一个韵律层级的隐变量序列,由于在每个韵律层级均得到多个隐变量,而基于每个隐变量可以确定不同的隐层特征,因而,基于至少一个韵律层级的隐变量序列,至少可以在一个韵律层级上对隐层特征进行多种控制,在得到多个韵律层级的隐变量序列时,还可以在每个韵律层级上分别对隐层特征进行多种控制,从而可以对隐层特征进行多种控制,增加了对隐层特征的控制能力,从而可以在每个韵律层级分别对语音特征的生成进行多种控制,使得语音特征在上述至少一个韵律层级的各个韵律层级上均可控,进而使得合成语音在上述至少一个韵律层级的各个韵律上均是可控的,增强了对语音合成控制能力。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例公开的语音特征预测方法的一种实现流程图;

图2a为本申请实施例公开的语音特征预测模型的一种结构示意图;

图2b为本申请实施例公开的语音特征预测模型中编码模块进行一个韵律的层级的编码时的一种示例图;

图2c为本申请实施例公开的语音特征预测模型中编码模块进行两个韵律的层级的编码时的一种示例图;

图3为本申请实施例公开的通过预先训练好的语音特征预测模型对文本特征序列进行处理的一种实现流程图;

图4为本申请实施例公开的解码模块的一种结构示意图;

图5为本申请实施例公开的通过语音特征预测模型的解码模块根据文本特征序列,以及文本数据在各个韵律层级的隐变量序列,确定文本数据对应的语音特征序列的一种实现流程图;

图6为本申请实施例公开的语音特征预测模型的训练架构示意图;

图7为本申请实施例公开的语音特征预测装置的一种结构示意图;

图8为本申请实施例公开的语音特征预测设备的硬件结构框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

语音合成是指给定文本数据,基于该文本数据生成对应的语音信号。合成语音信号需要先基于文本数据预测语音特征,包括语音时长,声学特征和波形点特征。

本申请的发明人研究发现,对于每一种语音特征,目前的语音特征预测方法只能预测出固定的语音特征。比如,对于声学特征,在给定文本时,目前的语音特征预测方法只能预测出一种声学特征,即在这个文本下的平均声学特征。而人在读同样的文本时,会由于语境、情绪、状态等变化,生成不同的语音,这种变化性是目前的语音特征预测方法无法实现的,而且,人能够通过对句子中的特定词的重读来实现对其强调,这种控制能力也是现有的语音特征预测方法所欠缺的,这就导致语音合成系统合成的语音缺乏表现力和控制力。

为了提高对合成语音的控制力,本申请的基本思想是:对文本特征序列进行至少一个韵律层级的编码,得到至少一个韵律层级的隐变量序列,从而可以在每个韵律层级分别对语音特征的生成进行控制,使得语音特征在至少一个韵律层级上是可控的,进而使得合成语音在上述至少一个韵律层级的各个韵律上均是可控的,增强了对语音合成的控制能力。

基于上述基本思想,本申请实施例提供的语音特征预测方法的一种实现流程图如图1所示,可以包括:

步骤S11:提取文本数据的文本特征,得到文本特征序列。

本申请实施例中,可以按照语音特征的建模尺度对文本数据进行特征提取,语音特征的建模尺度可以是音素,也可以是音节,或者,可以是其它建模尺度,比如,字或词等。

在确定语音特征的建模尺度后,可以根据该建模尺度对文本数据进行解析,得到文本数据中在该建模尺度的各个建模对象,然后对建模对象进行特征提取,得到文本数据的文本特征序列。文本特征序列中的每个文本特征对应文本数据的一个建模对象,该建模对象对应的文本特征可以是该建模对象的显性特征,即具有明确含义的特征。

以建模尺度为音素为例,通过对文本数据进行解析,得到音素串,然后对音素串进行特征提取,得到每个音素对应的文本特征,音素串中的各个音素对应的文本特征构成文本特征序列,其中,每个音素对应的文本特征包含以下信息中的一种或多种:该音素是什么,该音素的前一个音素是什么,该音素的后一个音素是什么,该音素的声调是什么,还可以包括位置信息,例如该音素在句子中的位置,该音素在当前子句中的位置等。

本申请实施例中,文本特征的建模尺度与语音时长的建模尺度相同。

步骤S12:通过预先训练好的语音特征预测模型对文本特征序列进行至少一个韵律层级的编码,得到文本数据在每一个韵律层级的隐变量序列。

可选的,上述至少一个韵律层级可以是如下几个韵律层级中的至少一个韵律层级:音素,韵律词,韵律短语,韵律子句,韵律句子等。这些韵律层级可以认为是根据对句子进行文本分析得到的句子在不同尺度上的划分。

如表1所示,为本申请实施例对“中国女排第一时间获奥运门票,开启史上第十次奥运之旅”这句话进行韵律层级划分的一种示例。该示例中,L1表示韵律词这一韵律层级,L3表示韵律短语这一韵律层级,L4表示韵律子句这一韵律层级,L5表示韵律句子这一韵律层级。

表1

当然,除了上述列举的几个韵律层级,本申请实施例中,还可以定义更多的层级,比如,还可以定义比音素更小的层级,比如,多帧级,帧级等。

不同韵律层级的建模尺度不同,其中,音素层级的建模尺度是音素,即音素层级的隐变量序列中的隐变量与由文本数据解析得到的音素串中的音素一一对应;韵律词层级的建模尺度是词,即韵律词层级的隐变量序列中的隐变量与由文本数据解析得到的词序列中的词一一对应;韵律短语层级的建模尺度是短语,即韵律短语层级的隐变量序列中的隐变量与由文本数据解析得到的短语序列中的短语一一对应;韵律子句层级的建模尺度是子句,即韵律子句层级的隐变量序列中的隐变量与由文本数据解析得到的子句序列中的子句一一对应;韵律句子层级的建模尺度是句子,即韵律词层级的隐变量序列中的隐变量与由文本数据解析得到的句子序列中的句子一一对应。

每一个隐变量序列中的隐变量表征文本数据在该隐变量序列所属韵律层级的建模对象的韵律特征分布。比如,音素层级的隐变量序列中的每一个隐变量表征该隐变量对应的音素的韵律特征分布,韵律词层级的隐变量序列中的每一个隐变量表征该隐变量对应的词的韵律特征分布,韵律短语层级的隐变量序列中的每一个隐变量表征该隐变量对应的短语的韵律特征分布,韵律子句层级的隐变量序列中的每一个隐变量表征该隐变量对应的子句的韵律特征分布,韵律句子层级的隐变量序列中的每一个隐变量表征该隐变量对应的句子的韵律特征分布。

每个隐变量所表征的韵律特征分布均可以包括多种韵律特征分布,比如,每个隐变量表征的韵律特征分部均可以包含:语速分布,声调分布等等。

本申请实施例中,对文本特征序列按韵律层级进行编码,可以仅在一个韵律层级进行编码,也可以在两个或更多个韵律层级上进行编码。但不管是在几个韵律层级上进行编码,每个韵律层级均得到多个隐变量。

步骤S13:根据文本特征序列,以及文本数据在各个韵律层级的隐变量序列,确定文本数据对应的语音特征序列。

语音特征序列可以为语音时长序列,或者,可以为声学特征序列,或者,可以为波形点特征序列。

其中,语音时长的建模对象可以是语音对应的音素,声学特征的建模对象可以是语音对应的语音帧,波形点的建模对象也可以是语音对应的语音帧的语音波形点。

可选的,对应语音时长,其建模尺度一般为音素级,相较于声学特征和波形点以帧为单位建模,语音时长的建模尺度相对较大,可以选择通过语音特征预测模型对文本特征序列进行L5、L4、L3、L1四个韵律层级的编码。对应于声学特征,可以选择通过语音特征预测模型对文本特征序列进行较少韵律层级的编码,比如,进行L3、L1两个韵律层级的编码。对于波形点特征,也可以进行较少韵律层级的编码,比如,进行帧级、多帧级的编码。

另外,波形点可以是直接根据声学特征建模,基于此,本申请实施例中,若需要预测的语音特征为波形点特征,则步骤S11中提取文本数据的文本特征,得到文本特征序列,可以包括获取文本数据的声学特征,得到声学特征序列。该声学特征序列可以是预先根据文本数据生成并存储好的,需要时直接读取声学特征序列即可。

由于在每个韵律层级均得到多个隐变量,而基于每个隐变量可以确定不同的隐层特征,因而,基于至少一个韵律层级的隐变量序列,至少可以在一个韵律层级上对隐层特征进行多种控制,在得到多个韵律层级的隐变量序列时,还可以在每个韵律层级上分别对隐层特征进行多种控制,从而可以对隐层特征进行多种控制,增加了对隐层特征的控制能力,从而可以在每个韵律层级分别对语音特征的生成进行多种控制,使得语音特征在上述至少一个韵律层级的各个韵律层级上均可控,进而使得合成语音在上述至少一个韵律层级的各个韵律上均是可控的,增强了对语音合成的控制能力。

请参阅图2a,图2a为本申请实施例提供的语音特征预测模型的一种结构示意图,可以包括:编码模块21和解码模块22;其中,

编码模块21用于对文本特征序列进行至少一个韵律层级的编码,得到文本数据在每一个韵律层级的隐变量序列。

当对文本特征序列进行至少两个韵律层级的编码时,通常先对文本特征序进行较高韵律层级的编码,得到较高韵律层级的隐变量序列,然后利用较高韵律层级隐变量序列进行较低韵律层级的编码,得到较低韵律层级的隐变量序列。在每个韵律层级进行编码时,隐变量之间是有时序相关性的,即计算某个尺度的建模对象的隐变量时,不是仅利用这个建模对象相关的文本特征进行计算,而是利用这个建模对象相关的文本特征和前一时刻计算得到的隐层向量进行计算的。

如图2b所示,图2b为本申请实施例提供的语音特征预测模型中编码模块进行一个韵律层级的编码时的一种示例图。不管该韵律层级是哪一个韵律层级,在进行该韵律层级的编码时,每个隐变量(如图2b中的z

基于图2b所示语音特征预测模型的架构,语音特征建模模型可以理解为:给定文本数据(记为c)时,为了生成语音特征x,首先需要生成文本数据对应的隐变量序列z,然后,根据文本数据c和隐变量序列z生成语音特征,用公式可以表示为:

p(x,z|c)=p(z|c)p(x|z,c) (1)

p(z|c)表示给定文本数据c时,生成隐变量序列z的概率,p(x|z,c)表示在根据文本数据c获取隐变量序列z后,根据文本数据c和隐变量序列z生成语音特征x的概率。其中,隐变量表征韵律信息的分布,隐变量序列z使用自回归形式展开,如公式(2)所示,以显示韵律信息的连续性,该韵律信息的连续性具体表现为:在生成z时,是依次生成z

p(z|c)=p(z

M表示隐变量序列中隐变量的个数。

如图2c所示,图2c为本申请实施例提供的语音特征预测模型中编码模块进行两个韵律层级的编码时的一种示例图。该示例中,编码模块21对文本特征序列进行了L3和L1两个韵律层级的编码。编码模块21首先对文本特征序列进行L3韵律层级的编码,得到的隐变量序列记为z

比如,假设文本特征序列为“开启史上第十次奥运之旅”这句话的文本特征,则编码模块21首先对其进行L3层级的编码,得到的隐变量序列z

基于图2c所述语音特征预测模型的架构示意图,进行多韵律层级的编码时,语音特征建模模型可以理解为:给定文本数据c时,为了生成语音特征x,首先需要生成文本数据对应的多个韵律层级的隐变量序列z

p(z

M1表示L1韵律层级的隐变量序列z

可选的,编码模块21可以通过神经网络实现,比如,编码模块21可以通过卷积神经网络(Convolutional Neural Network,CNN)实现,或者,通过循环神经网络(RecurrentNeural Network,RNN)实现,或者,通过长短时记忆网络(Long Short-Term Memory,LSTM)实现,或者,通过多种网络的组合实现等等。具体以哪种网络形式实现,本申请不做具体限定。

解码模块22用于根据文本特征序列,以及文本数据在各个韵律层级的隐变量序列,确定文本数据对应的语音特征序列。

可选的解码模块22也可以通过神经网络实现,比如,编码模块21可以通过CNN实现,或者,通过RNN实现,或者,通过LSTM实现,或者,通过波网(WaveNet)实现,或者,通过基于流的网络(WaveGlow)实现,或者,通过多种网络的组合实现等等。具体以哪种网络形式实现,本申请不做具体限定。

相应的,上述通过预先训练好的语音特征预测模型对文本特征序列进行处理的一种实现流程图如图3所示,可以包括::

步骤S31:通过语音特征预测模型的编码模块21对文本特征序列进行至少一个韵律层级的编码,得到文本数据在每一个韵律层级的隐变量序列;

步骤S32:通过语音特征预测模型的解码模22块根据文本特征序列,以及文本数据在各个韵律层级的隐变量序列,确定文本数据对应的语音特征序列。

在一可选的实施例中,解码模块22的一种结构示意图如图4所示,可以包括:隐层特征获取模块41和预测模块42;其中,

隐层特征获取模块41用于:对于每一个隐变量序列,以预置处理方式对该隐变量序列中的各个隐变量分别进行处理,得到该隐变量序列对应的隐层特征序列;其中,预置处理方式具有:以预置处理方式对同一隐变量进行至少两次处理得到的至少两个隐层特征相同或不同的能力。

也就是说,当以预置方式对一个隐变量进行一次处理得到一个隐层特征后,当再次以该预置方式对该隐变量进行处理时,得到隐层特征和上一次得到的隐层特征可能是不同的。

预置方式可以是对隐变量进行采样,可以是随机采样,或者,可以是按照一定规则进行采样,具体采样方式不做具体限定,只要保证每次采样得到隐层特征和上一次采样得到的隐层特征有可能不同即可。除了采样,也可以是其他处理方式,比如按照指定的规则对隐变量的所有可能取值进行计算,得到隐层特征等,同样的,对隐变量的所有可能取值的具体处理方式不做具体限定,只要保证每次处理得到隐层特征和上一次处理得到的隐层特征有可能不同即可。

预测模块42用于:根据文本特征序列,以及各个隐变量序列对应的隐层特征序列,确定文本数据对应的语音特征序列。

可选的,可以通过预测模块42,对应文本特征序列中的每一个文本特征,将该文本特征,以及各个韵律层级上的隐变量序列中基于该文本特征生成的隐变量对应的隐层特征进行拼接,得到该文本特征对应的隐层特征。

以“中国女排第一时间获奥运门票,开启史上第十次奥运之旅”为例,假设对这句话提取文本特征时,文本特征的建模尺度为词,即每个文本特征对应一个词,则根据表1所示,这句话包含12个韵律词,那么根据这句话提取到的文本特征序列中包含12个特征,每个特征对应L1层级的一个韵律词,假设对文本特征进行了两个韵律层级的编码,分别为L4层级和L3层级,则L4层级的隐变量序列中有两个隐变量,分别对应L4层级的两个子句,L3层级的隐变量序列中有4个隐变量,分别对应L3层级的四个韵律短语。则对应“中国”这个词对应的文本特征,本申请实施例中,是将“中国”这个词对应的文本特征,“中国女排”的隐变量对应的隐层特征,以及“中国女排第一时间获奥运门票”的隐变量对应的隐层特征进行拼接,得到“中国”这个词对应的文本特征对应的隐层特征。同理,对应“女排”这个词对应的文本特征,本申请实施例中,是将“女排”这个词对应的文本特征,“中国女排”的隐变量对应的隐层特征,以及“中国女排第一时间获奥运门票”的隐变量对应的隐层特征进行拼接,得到“女排”这个词对应的文本特征对应的隐层特征。同理,对应“第一”这个词对应的文本特征,本申请实施例中,是将“第一”这个词对应的文本特征,“第一时间获奥运门票”的隐变量对应的隐层特征,以及“中国女排第一时间获奥运门票”的隐变量对应的隐层特征进行拼接,得到“第一”这个词对应的文本特征对应的隐层特征。

通过预测模块42对文本特征序列中的各个文本特征对应的隐层特征进行解码,得到文本数据的语音特征。

相应的,上述通过语音特征预测模型的解码模块22根据文本特征序列,以及文本数据在各个韵律层级的隐变量序列,确定文本数据对应的语音特征序列的一种实现流程图如图5所示,可以包括:

步骤S51:对于每一个隐变量序列,通过隐层特征获取模块41,以预置处理方式对该隐变量序列中的各个隐变量分别进行处理,得到该隐变量序列对应的隐层特征序列。

步骤S52:通过预测模块42,根据文本特征序列,以及各个隐变量序列对应的隐层特征序列,确定文本数据对应的语音特征序列。

在一可选的实施例中,上述对于每一个隐变量序列,通过语音特征预测模型的隐层特征获取模块41,以预置处理方式对该隐变量序列中的各个隐变量分别进行处理的一种实现方式可以为:

通过隐层特征获取模块41,对该隐变量序列中的各个隐变量以相同的预置方式进行处理。具体可以有以下两种可选的实现方式

方式一

可以通过隐层特征获取模块41,对该隐变量序列中的各个隐变量分别进行随机采样,得到该隐变量序列对应的隐层特征序列。

通过随机采样,可以保证隐层特征的多样性。比如,对于“我是中国人”这句话,根据不同的采样结果合成的语音的重读强调点可能不同,比如,某一次采样后合成的结果可能是“我”字重读,其它文字没有重读,而下一次采样后合成的结果可能是“中国”重读,而其它文字不重读。由于是随机采样,所以,每次合成的语音在什么地方重读是不确定的。

方式二

通过隐层特征获取模块41,确定该隐变量序列中的每一个隐变量的均值,利用该隐变量序列中的每一个隐变量对应的可调系数,对该隐变量的均值进行调节,得到该隐变量序列中的各个隐变量对应的隐层特征。

隐变量对应的可调系数可以由用户设定,比如,为用户提供交互界面,在该交互界面上提供文本数据在各个韵律层级的隐变量的对应的内容(比如,文本数据中的词、短语、子句、句子等),并为每个韵律层级提供可调系数的可调范围,从而用户可以针对特定的内容在该内容所属韵律层级的可调范围内指定可调系数的具体取值。

通过设定可调系数,可以由用户指定语音的重读或轻读等韵律信息。比如,如果用户想对“中国”进行重读,则可以将“中国”这个韵律词对应的可调系数调大,从而合成的语音可以实现对“中国”的重读。进一步提高语音的可控性。

本申请实施例中,用户可以仅对其关注的内容进行可调系数的调节,此时该内容对应的隐变量的隐层特征为隐变量的均值与用户确定的可调系数的乘积。对于用户未进行调节的内容,则以该内容对应的隐变量的均值作为该内容对应的隐变量对应的隐层特征。

在一可选的实施例中,上述对于每一个隐变量序列,通过语音特征预测模型的隐层特征获取模块41,以预置处理方式对该隐变量序列中的各个隐变量分别进行处理的另一种实现方式可以为:

通过隐层特征获取模块41,对该隐变量序列中的至少部分隐变量以不同的预置方式进行处理。

也就是说,对隐变量序列中的各个隐变量进行处理时,对不同的隐变量进行处理的方式可以相同,也可以不同。通过对不同的隐变量以不同的处理方式进行处理,可以进一步丰富隐层特征的多样性。

可选的,可以通过隐层特征获取模块41,对于每一个隐变量序列,对该隐变量序列中的部分隐变量分别进行随机采样,得到该部分隐变量中的各个隐变量对应的隐层特征;

确定该隐变量序列中的另一部分隐变量中的各个隐变量的均值,利用该另一部分隐变量中的每一个隐变量对应的可调系数,对该隐变量的均值进行调节,得到另一部分隐变量中的中的各个隐变量对应的隐层特征。

比如,假设隐变量序列中有10个隐变量,则可以对其中的v1个隐变量以随机采样确定隐层特征,对其中的v2个隐变量以利用可调系数对隐变量均值进行调节的方式获得隐层特征。其中,v1+v2=10。

在一可选的实施例中,上述通过语音特征预测模型的编码模块21,对文本特征序列进行至少一个韵律层级的编码的一种实现方式可以为:

若语音特征序列为语音时长序列,则通过编码模块21,直接对文本特征序列进行至少一个韵律层级的编码,得到文本数据在每一个韵律层级的隐变量序列。

若语音特征序列为声学特征序列,或者,波形点特征序列,则通过编码模块21,基于文本特征序列中的各个文本特征对应的语音时长对文本特征序列进行至少一个韵律层级的编码,得到文本数据在每一个韵律层级的隐变量序列。

具体的,在进行声学特征或者波形点建模时,需要时长信息,本申请实施例中,是将根据文本特征序列中每一个文本特征对应的语音时长对文本特征序列进行至少一个韵律层级的编码。从而保证每一个韵律层级的隐层变量中均包含时长相关信息。

文本特征对应的语音时长即为该文本特征对应的建模对象对应的语音时长。建模对象对应的语音时长可以是根据文本数据预测得到的建模对象的语音时长。即先根据文本数据进行语音时长的预测,在预测得到文本特征对应的建模对象的语音时长后,再根据该语音时长以及文本数据进行声学特征的预测或波形点的预测。

可选的,可以通过编码模块21,对于文本特征序列中的每一个文本特征,将该文本特征对应的语音时长与该文本特征进行拼接,得到该文本特征对应的拼接特征。

比如,文本特征序列中的每个文本特征对应一个音素,则对应文本特征序列中的每一个文本特征,将该文本特征对应的音素对应的语音时长与该文本特征进行拼接,得到该文本特征对应的拼接特征。

对由各个拼接特征构成的拼接特征序列进行至少一个韵律层级的编码,得到文本数据在每一个韵律层级的隐变量序列。

请参阅图6,图6为本申请实施例提供的语音特征预测模型的训练架构示意图。该示例是以两个韵律层级的编码为例进行说明。在其它一些实施例中,可以只进行一个韵律层级的编码,或者,可以进行三个或更多个韵律层级的编码。在一可选的实施例中,上述语音特征预测模型的训练过程可以包括:

通过后验编码模块61,根据文本样本对应的语音样本的语音特征序列,对文本样本的文本特征序列进行至少一个韵律层级的编码,得到文本样本在每个韵律层级的后验隐变量序列。

在训练阶段,输入后验编码模块61的是文本样本的文本特征序列,以及该文本样本对应的语音样本的语音特征序列。比如,要生成声学特征,则输入后验编码模块61的是文本样本的文本特征序列,以及该文本样本对应的语音样本的声学特征序列。

当对文本特征序列进行多个韵律层级的编码时,后验编码模块61首先根据声学特征序列对文本特征序列进行较低韵律层级的编码,得到较低韵律层级的后验隐变量序列,然后根据较低韵律层级的后验隐变量序列和声学特征序列对文本特征序列进行较高韵律层级的编码,得到较高韵律层级的后验隐变量序列。如图6所示,后验编码模块61先进行L1层级的韵律编码,得到L1层级的后验隐变量序列

通过语音特征预测模型的编码模块21,对文本样本的文本特征序列进行至少一个韵律层级的编码,得到文本样本在每一个韵律层级的先验隐变量序列。

在通过后验编码模块61根据文本样本对应的语音样本的语音特征序列,对文本样本的文本特征序列进行至少一个韵律层级的编码的同时,还可以通过语音特征预测模型的编码模块21对文本样本的特征序列进行至少一个韵律层级的编码,得到文本样本在每一个韵律层级的先验隐变量序列。编码模块21对输入的文本特征序列进行至少一个韵律层级的编码时,是先对文本特征序列进行较高韵律层级的编码,得到较高韵律层级的先验隐变量序列,然后根据较高韵律层级的先验隐变量序列对文本特征序列进行较低韵律层级的编码,得到较低韵律层级的先验隐变量序列。如图6所示,编码模块21先进行L3层级的韵律编码,得到L3层级的先验隐变量序列

通过语音特征预测模型的隐层特征获取模块41,对于每一个后验隐变量序列,以预置处理方式对该后验隐变量序列中的各个后验隐变量分别进行处理,得到该后验隐变量序列对应的后验隐层特征序列;预置处理方式的实现过程可以参看前述实施例,这里不再赘述。

通过语音特征预测模型的预测模块42,对文本特征序列和各个韵律层级的后验隐层特征序列进行处理,以重构语音样本的语音特征序列。重构语音特征序列的过程可以参看前述实施例,这里不再赘述。

以重构的语音特征序列趋近于语音样本的语音特征序列,每一个先验隐变量序列趋近于同一韵律层级的后验隐变量序列为目标,对先验编码模块61,以及语音特征预测模型的参数进行更新。

语音特征预测模型的参数包括:编码模块21的参数,隐层特征获取模块41的参数和预测模块42的参数。

在图6所示示例中,每一个先验隐变量序列趋近于同一韵律层级的后验隐变量序列是指

具体的,可以基于近似最大似然准则对语音特征预测模型的参数进行更新,以图6所示示例为例,具体的损失函数Loss可以为:

其中,p(x|c,z

该示例中,损失函数Loss包含三项,第一项为声学特征x的重构误差,第二项表示L3层级的先验隐变量和后验隐变量之间的KL距离,第三项表示L1层级的先验隐变量和后验隐变量之间的KL距离

与方法实施例相对应,本申请实施例还提供一种语音特征预测装置,本申请实施例提供的语音特征预测装置的一种结构示意图如图7所示,可以包括:

文本特征获取模块71,编码控制模块72和解码控制模块73;其中,

文本特征获取模块71用于获取文本数据的文本特征,得到文本特征序列;

编码控制模块72用于通过预先训练好的语音特征预测模型对所述文本特征序列进行至少一个韵律层级的编码,得到所述文本数据在每一个韵律层级的隐变量序列;

解码控制模块73用于通过所述语音特征预测模型根据所述文本特征序列,以及所述文本数据在每一个韵律层级的隐变量序列,确定所述文本数据对应的语音特征序列。

本申请实施了提供的语音特征预测装置,对文本特征序列进行至少一个韵律层级的编码,得到至少一个韵律层级的隐变量序列,由于在每个韵律层级均得到多个隐变量,而基于每个隐变量可以确定不同的隐层特征,因而,基于至少一个韵律层级的隐变量序列,至少可以在一个韵律层级上对隐层特征进行多种控制,在得到多个韵律层级的隐变量序列时,还可以在每个韵律层级上分别对隐层特征进行多种控制,从而可以对隐层特征进行多种控制,增加了对隐层特征的控制能力,从而可以在每个韵律层级分别对语音特征的生成进行多种控制,使得语音特征在上述至少一个韵律层级的各个韵律层级上均可控,进而使得合成语音在上述至少一个韵律层级的各个韵律上均是可控的,增强了对语音合成的控制能力。

在一可选的实施例中,所述编码控制模块72包括:

隐变量编码控制模块,用于通过所述语音特征预测模型的编码模块对所述文本特征序列进行至少一个韵律层级的编码,得到所述文本数据在每一个韵律层级的隐变量序列;

预测控制模块,用于通过所述语音特征预测模型的解码模块根据所述文本特征序列,以及所述文本数据在各个韵律层级的隐变量序列,确定所述文本数据对应的语音特征序列。

在一可选的实施例中,所述预测控制模块包括:

隐层特征获取控制模块,用于对于每一个隐变量序列,通过所述语音特征预测模型的隐层特征获取模块,以预置处理方式对该隐变量序列中的各个隐变量分别进行处理,得到该隐变量序列对应的隐层特征序列;所述预置处理方式具有:以所述预置处理方式对同一隐变量进行至少两次处理得到的至少两个隐层特征相同或不同的能力;

语音特征确定模块,用于通过所述语音特征预测模型的预测模块,根据所述文本特征序列,以及各个隐变量序列对应的隐层特征序列,确定所述文本数据对应的语音特征序列。

在一可选的实施例中,所述语音特征序列为:

语音时长序列,或者,声学特征序列,或者,波形点特征序列。

在一可选的实施例中,隐变量编码控制模块具体可以用于:

若所述语音特征序列为声学特征序列,或者,波形点特征序列,则通过所述编码模块,基于所述文本特征序列中的各个文本特征对应的语音时长对所述文本特征序列进行至少一个韵律层级的编码,得到所述文本数据在每一个韵律层级的隐变量序列;

若所述语音特征序列为语音时长序列,则通过所述编码模块,直接对所述文本特征序列进行至少一个韵律层级的编码,得到所述文本数据在每一个韵律层级的隐变量序列。

在一可选的实施例中,隐变量编码控制模块在通过所述编码模块,基于所述文本特征序列中的各个文本特征对应的语音时长对所述文本特征序列进行至少一个韵律层级的编码时,具体可以用于:

通过所述语音特征预测模型的编码模块,对于所述文本特征序列中的每一个文本特征,将该文本特征对应的语音时长与该文本特征进行拼接,得到该文本特征对应的拼接特征;

对由各个拼接特征构成的拼接特征序列进行至少一个韵律层级的编码,得到所述文本数据在每一个韵律层级的隐变量序列。

在一可选的实施例中,所述语音特征确定模块包括:

拼接控制模块,用于通过所述语音特征预测模型的预测模块,对应所述文本特征序列中的每一个文本特征,将该文本特征,以及各个韵律层级上的隐变量序列中基于该文本特征生成的隐变量对应的隐层特征进行拼接,得到该文本特征对应的隐层特征;

确定模块,用于对所述文本特征序列中的各个文本特征对应的隐层特征进行解码,得到所述文本数据的语音特征。

在一可选的实施例中,所述隐层特征获取控制模块在对于每一个隐变量序列,通过所述语音特征预测模型的隐层特征获取模块,以预置处理方式对该隐变量序列中的各个隐变量分别进行处理时,具体用于:

通过所述隐层特征获取模块,对该隐变量序列中的各个隐变量以相同的预置方式进行处理;

或者,

通过所述隐层特征获取模块,对该隐变量序列中的至少部分隐变量以不同的预置方式进行处理。

在一可选的实施例中,所述隐层特征获取控制模块在通过所述隐层特征获取模块,对该隐变量序列中的各个隐变量以相同的预置方式进行处理时,具体可以用于:

通过所述隐层特征获取模块,对该隐变量序列中的各个隐变量分别进行随机采样,得到该隐变量序列对应的隐层特征序列;

或者,

通过所述隐层特征获取模块,确定该隐变量序列中的每一个隐变量的均值,利用该隐变量序列中的每一个隐变量对应的可调系数,对该隐变量的均值进行调节,得到该隐变量序列中的各个隐变量对应的隐层特征。

在一可选的实施例中,所述隐层特征获取控制模块在通过所述隐层特征获取模块,对该隐变量序列中的至少部分隐变量以不同的预置方式进行处理,时,具体可以用于:

通过所述隐层特征获取模块,对于每一个隐变量序列,对该隐变量序列中的部分隐变量分别进行随机采样,得到该部分隐变量中的各个隐变量对应的隐层特征;

确定该隐变量序列中的另一部分隐变量中的各个隐变量的均值,利用所述另一部分隐变量中的每一个隐变量对应的可调系数,对该隐变量的均值进行调节,得到所述另一部分隐变量中的中的各个隐变量对应的隐层特征。

在一可选的实施例中,还可以包括模型训练模块,具体用于:

通过后验编码模块61,根据文本样本对应的语音样本的语音特征序列,对文本样本的文本特征序列进行至少一个韵律层级的编码,得到文本样本在每个韵律层级的后验隐变量序列。

通过语音特征预测模型的编码模块21,对文本样本的文本特征序列进行至少一个韵律层级的编码,得到文本样本在每一个韵律层级的先验隐变量序列。

通过语音特征预测模型的隐层特征获取模块41,对于每一个后验隐变量序列,以预置处理方式对该后验隐变量序列中的各个后验隐变量分别进行处理,得到该后验隐变量序列对应的后验隐层特征序列。

通过语音特征预测模型的预测模块42,对文本特征序列和各个韵律层级的后验隐层特征序列进行处理,以重构语音样本的语音特征序列。

以重构的语音特征序列趋近于语音样本的语音特征序列,每一个先验隐变量序列趋近于同一韵律层级的后验隐变量序列为目标,对先验编码模块61,以及语音特征预测模型的参数进行更新。

本申请实施例提供的语音特征预测装置可应用于语音特征预测设备,如PC终端、云平台、服务器及服务器集群等。可选的,图8示出了语音特征预测设备的硬件结构框图,参照图8,语音特征预测设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;

在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;

处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;

存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;

其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:

获取文本数据的文本特征,得到文本特征序列;

通过预先训练好的语音特征预测模型对所述文本特征序列进行至少一个韵律层级的编码,得到所述文本数据在每一个韵律层级的隐变量序列;

根据所述文本特征序列,以及所述文本数据在各个韵律层级的隐变量序列,确定所述文本数据对应的语音特征序列。

可选的,所述程序的细化功能和扩展功能可参照上文描述。

本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:

获取文本数据的文本特征,得到文本特征序列;

通过预先训练好的语音特征预测模型对所述文本特征序列进行至少一个韵律层级的编码,得到所述文本数据在每一个韵律层级的隐变量序列;

根据所述文本特征序列,以及所述文本数据在各个韵律层级的隐变量序列,确定所述文本数据对应的语音特征序列。

可选的,所述程序的细化功能和扩展功能可参照上文描述。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 语音特征预测方法、装置、设备及可读存储介质
  • 基于联合学习框架的设备使用寿命的预测方法、装置、计算机设备及计算机可读存储介质
技术分类

06120113081637