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

一种语音合成方法、结构、终端及存储介质

文献发布时间:2023-06-19 15:47:50



技术领域

本发明涉及语音合成技术领域,特别是涉及一种语音合成方法、结构、终端及存储介质。

背景技术

基于神经网络的端到端语音合成系统TTS(Text To Speech,从文本到语音)近年来取得了巨大的进步。现有的语音合成技术主要包括基于Transformer结构的语音合成以及基于CNN(Convolutional Neural Networks,卷积神经网络)的语音合成,然而,Transformer或CNN模型都有一定的局限性。Transformer结构能够捕获长时间依赖关系,且训练效率高,但其局部特征提取细粒度较差。CNN通过一层一层的局部感受野逐步捕获局部上下文信息,然而CNN需要更多的层数或参数来捕获全局上下文信息。

发明内容

本发明提供了一种语音合成方法、结构、终端及存储介质,旨在解决现有的基于Transformer结构的语音合成存在的局部特征提取细粒度较差以及基于CNN的语音合成存在的需要更多层数或参数等技术问题。

为解决上述技术问题,本发明采用的技术方案为:

一种语音合成方法,包括:

将待合成文本的音素序列输入预训练好的语音合成模型,通过所述语音合成模型提取音素序列的局部特征;其中,所述语音合成模型为基于CNN和Transformer的语音合成模型,利用多头注意力机制获取音素序列的全局上下文信息,并利用深度可分离卷积获取音素序列的局部信息,根据所述音素序列的全局上下文信息和局部信息得到音素局部特征;

将所述音素局部特征映射为梅尔谱,得到所述待合成文本的语音合成结果。

本发明实施例采取的技术方案还包括:所述语音合成模型包括第一一维卷积层和多头注意力层,所述利用多头注意力机制获取音素序列的全局上下文信息包括:

利用所述第一一维卷积层对输入的音素序列进行音素间局部特征计算,得到第一局部特征x1;

基于所述第一局部特征x1,利用所述多头注意力层计算音素间全局相关性特征x2。

本发明实施例采取的技术方案还包括:所述语音合成模型还包括深度可分离卷积层,所述利用深度可分离卷积获取音素序列的局部信息包括:

利用所述深度可分离卷积层对所述全局相关性特征x2沿着时域进行音素内局部特征计算,得到第二局部特征x3。

本发明实施例采取的技术方案还包括:所述语音合成模型还包括第二一维卷积层,所述根据所述音素序列的全局上下文信息和局部信息得到音素局部特征包括:

基于所述第二局部特征x3,利用所述第二一维卷积层对所述音素序列进行音素局部特征计算,输出最终的音素局部特征。

本发明实施例采取的技术方案还包括:所述第一局部特征x1和全局相关性特征x2的计算公式分别为:

x1=0.5*CNN1(x)+x

x2=MHSA(x1)+x1

其中,CNN1表示第一一维卷积层,MHSA表示多头注意力层,0.5为衰减系数。

本发明实施例采取的技术方案还包括:所述第二局部特征x3的计算公式为:

x3=DWC(x2)+x2

其中,DWC表示深度可分离卷积层。

本发明实施例采取的技术方案还包括:所述最终的音素局部特征计算公式为:

y=0.5*CNN2(x3)+x3

其中,CNN2表示第二一维卷积层。

本发明实施例采取的另一技术方案为:一种语音合成系统,包括:

特征提取模块:用于将待合成文本的音素序列输入预训练好的语音合成模型,通过所述语音合成模型提取音素序列的局部特征;其中,所述语音合成模型为基于CNN和Transformer的语音合成模型,利用多头注意力机制获取音素序列的全局上下文信息,并利用深度可分离卷积获取音素序列的局部信息,根据所述音素序列的全局上下文信息和局部信息得到音素局部特征;

语音合成模块:用于将所述音素局部特征映射为梅尔谱,得到所述待合成文本的语音合成结果。

本发明实施例采取的又一技术方案为:一种终端,所述终端包括处理器、与所述处理器耦接的存储器,其中,

所述存储器存储有用于实现上述的语音合成方法的程序指令;

所述处理器用于执行所述存储器存储的所述程序指令以执行所述端到端语音合成操作。

本发明实施例采取的又一技术方案为:一种存储介质,存储有处理器可运行的程序指令,所述程序指令用于执行上述的语音合成方法。

本发明实施例的语音合成方法、结构、终端及存储介质通过将CNN和Transformer相结合,对现有的基于Fastspeech网络结构的语音合成模型进行改进,得到优化的基于CNN和Transformer的语音合成模型,优化后的语音合成模型利用Transformer中的多头注意力机制建模不同音素间关系,得到全局上下文信息,并利用深度可分离卷积精细化音素内部的局部特征,提升了局部信息颗粒度,提升了合成语音自然度,并减少了合成丢字或跳读等问题。同时,由于结合了全局和局部信息,无需加大网络层数以扩大感受野范围,可大幅度减少网络层数,减小了模型参数量、计算量和训练时间。

附图说明

图1是本发明第一实施例的语音合成方法的流程示意图;

图2是本发明第二实施例的语音合成方法的流程示意图;

图3为现有的基于Fastspeech网络结构的语音合成模型结构示意图;

图4为现有的Transformer网络结构示意图;

图5为本发明实施例的基于CNN和Transformer的语音合成模型网络结构示意图;

图6是本发明第三实施例的语音合成方法的流程示意图;

图7是本发明实施例的语音合成系统的结构示意图;

图8是本发明实施例的终端结构示意图;

图9是本发明实施例的存储介质结构示意图。

具体实施方式

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

本发明中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

请参阅图1,是本发明第一实施例的语音合成方法的流程示意图。本发明第一实施例的语音合成方法包括以下步骤:

S100:将待合成文本的音素序列输入预训练好的语音合成模型,通过语音合成模型提取音素序列的局部特征;其中,语音合成模型为基于CNN和Transformer的语音合成模型,利用多头注意力机制获取音素序列的全局上下文信息,并利用深度可分离卷积获取音素序列的局部信息,根据音素序列的全局上下文信息和局部信息得到音素局部特征;

本步骤中,语音合成模型基于CNN和Transformer网络结构,其包括第一一维卷积层CNN1、多头注意力层MHSA、深度可分离卷积层DWC以及第二一维卷积层CNN2。本发明实施例的基于CNN和Transformer的语音合成模型的特征提取过程为:首先利用第一一维卷积层CNN1对输入的音素序列x进行音素间局部特征计算,得到第一局部特征x1;第一局部特征x1的计算方式为:

x1=0.5*CNN1(x)+x (1)

其中,为了避免反向传播时的梯度衰减,乘以衰减系数0.5和跳跃连接。

然后,基于第一局部特征x1,利用多头注意力层MHSA计算音素间全局相关性特征x2,全局相关性特征x2的计算公式为:

x2=MHSA(x1)+x1 (2)

再利用深度可分离卷积层DWC对全局相关性特征x2沿着时域进行音素内局部特征计算,得到第二局部特征x3。第二局部特征x3的计算公式为:

x3=DWC(x2)+x2 (3)

最后,基于第二局部特征x3,利用第二一维卷积层CNN2对输入音素x进行音素局部特征计算,并输出最终的音素局部特征y:

y=0.5*CNN2(x3)+x3 (4)

基于上述网络结构,本发明实施例通过将多头注意力机制和深度可分离卷积向结合,以改进FFT Block网络结构,利用多头注意力机制建模全局上下文信息,同时利用深度可分离卷积捕获局部信息,从而提升音素局部特征的精细程度。

S101:将音素局部特征映射为梅尔谱,得到待合成文本的语音合成结果。

请参阅图2,是本发明第二实施例的语音合成方法的流程示意图。本发明第二实施例的语音合成方法包括以下步骤:

S200:获取待合成文本的音素序列;

S201:将待合成文本的音素序列输入预训练好的语音合成模型,语音合成模型利用一维卷积对输入的音素序列进行音素间局部特征计算,得到第一局部特征,基于第一局部特征,利用多头注意力机制计算音素间全局相关性特征,并利用深度可分离卷积对全局相关性特征沿着时域进行音素内局部特征计算,得到第二局部特征,基于第二局部特征,利用一维卷积对输入音素进行音素局部特征计算,并输出最终的音素局部特征;

本步骤中,本发明实施例通过将CNN和Transformer相结合,对现有的基于Fastspeech网络结构的语音合成模型进行改进,得到优化的基于CNN和Transformer的语音合成模型。具体的,如图3所示,为现有的基于Fastspeech网络结构的语音合成模型结构示意图。FastSpeech网络结构是基于Transformer中self-attention(自注意力)和1D卷积的一种前馈结构,该模型将文本(音素)序列作为输入并非自回归地生成Mel频谱图。它采用基于Transformer和1D卷积中的自注意力的前馈网络。由于梅尔频谱图序列比其对应的音素序列长得多,为了解决两个序列匹配长度不一致的问题,FastSpeech采用长度调节器,该长度调节器根据音素的持续时间(每个音素所对应的梅尔频谱图的数量)对音素序列进行上采样,以匹配梅尔频谱图序列的长度。调节器基于音素持续时间预测器,可预测每个音素的持续时间。

在图3所示的语音合成模型中,先利用N层FFT Block从输入的音素(phoneme)中提取表示文本全局上下文信息的隐状态,再通过Length Regulator(长度调节器)模块将隐状态和音频梅尔谱(Mel Spectrum)对齐,最后再利用N层FFT(fast Fourier transform,快速傅立叶变换)Block将对齐后的隐状态映射为梅尔谱。其中,FFT Block为Transformer结构,其结构如图4所示。FFT Block由多头注意力机制和两层一维卷积构成,并利用了残差连接和层归一化(LN)。

如图5所示,为本发明实施例的基于CNN和Transformer的语音合成模型网络结构示意图,其包括第一一维卷积层CNN1、多头注意力层MHSA、深度可分离卷积层DWC以及第二一维卷积层CNN2。本发明实施例的基于CNN和Transformer的语音合成模型的特征提取过程为:首先利用第一一维卷积层CNN1对输入的音素序列x进行音素间局部特征计算,得到第一局部特征x1;第一局部特征x1的计算方式为:

x1=0.5*CNN1(x)+x (1)

其中,为了避免反向传播时的梯度衰减,乘以衰减系数0.5和跳跃连接。

然后,基于第一局部特征x1,利用多头注意力层MHSA计算音素间全局相关性特征x2,全局相关性特征x2的计算公式为:

x2=MHSA(x1)+x1 (2)

再利用深度可分离卷积层DWC对全局相关性特征x2沿着时域进行音素内局部特征计算,得到第二局部特征x3。第二局部特征x3的计算公式为:

x3=DWC(x2)+x2 (3)

最后,基于第二局部特征x3,利用第二一维卷积层CNN2对输入音素x进行音素局部特征计算,并输出最终的音素局部特征y:

y=0.5*CNN2(x3)+x3 (4)

基于上述网络结构,本发明实施例通过将多头注意力机制和深度可分离卷积向结合,以改进FFT Block网络结构,利用多头注意力机制建模全局上下文信息,同时利用深度可分离卷积捕获局部信息,从而提升音素局部特征的精细程度。

S202:通过线性层将音素局部特征y映射为梅尔谱,得到待合成文本的语音合成结果。

基于上述,本发明第二实施例的语音合成方法将CNN和Transformer相结合,对现有的基于Fastspeech网络结构的语音合成模型进行改进,得到优化的基于CNN和Transformer的语音合成模型,优化后的语音合成模型利用Transformer中的多头注意力机制建模不同音素间关系,得到全局上下文信息,并利用深度可分离卷积精细化音素内部的局部特征,提升了局部信息颗粒度,提升了合成语音自然度,并减少了合成丢字或跳读等问题。同时,由于结合了全局和局部信息,无需加大网络层数以扩大感受野范围,可大幅度减少网络层数,减小了模型参数量、计算量和训练时间。

请参阅图6,是本发明第三实施例的语音合成方法的流程示意图。本发明第三实施例的语音合成方法包括以下步骤:

S300:获取待合成文本的音素序列;

S301:将待合成文本的音素序列输入预训练好的语音合成模型,通过语音合成模型的第一一维卷积层对输入的音素序列进行音素间局部特征计算,得到第一局部特征x1;

本步骤中,本发明实施例通过将CNN和Transformer相结合,对现有的基于Fastspeech网络结构的语音合成模型进行改进,得到优化的基于CNN和Transformer的语音合成模型。具体的,如图3所示,为现有的基于Fastspeech网络结构的语音合成模型结构示意图。FastSpeech网络结构是基于Transformer中self-attention(自注意力)和1D卷积的一种前馈结构,该模型将文本(音素)序列作为输入并非自回归地生成Mel频谱图。它采用基于Transformer和1D卷积中的自注意力的前馈网络。由于梅尔频谱图序列比其对应的音素序列长得多,为了解决两个序列匹配长度不一致的问题,FastSpeech采用长度调节器,该长度调节器根据音素的持续时间(每个音素所对应的梅尔频谱图的数量)对音素序列进行上采样,以匹配梅尔频谱图序列的长度。调节器基于音素持续时间预测器,可预测每个音素的持续时间。

在图3所示的语音合成模型中,先利用N层FFT Block从输入的音素(phoneme)中提取表示文本全局上下文信息的隐状态,再通过Length Regulator(长度调节器)模块将隐状态和音频梅尔谱(Mel Spectrum)对齐,最后再利用N层FFT(fast Fourier transform,快速傅立叶变换)Block将对齐后的隐状态映射为梅尔谱。其中,FFT Block为Transformer结构,其结构如图4所示。FFT Block由多头注意力机制和两层一维卷积构成,并利用了残差连接和层归一化(LN)。

本申请实施例中,第一局部特征x1的计算方式为:

x1=0.5*CNN1(x)+x (1)

其中,为了避免反向传播时的梯度衰减,乘以衰减系数0.5和跳跃连接。

S302:基于第一局部特征x1,利用语音合成模型的多头注意力层MHSA计算音素间全局相关性特征x2;

本步骤中,全局相关性特征x2的计算公式为:

x2=MHSA(x1)+x1 (2)

S303:利用深度可分离卷积层DWC对全局相关性特征x2沿着时域进行音素内局部特征计算,得到第二局部特征x3;

本步骤中,第二局部特征x3的计算公式为:

x3=DWC(x2)+x2 (3)

S304:基于第二局部特征x3,利用第二一维卷积层CNN2对输入音素x进行音素局部特征计算,并输出最终的音素局部特征y:

y=0.5*CNN2(x3)+x3 (4)

基于上述网络结构,本发明实施例通过将多头注意力机制和深度可分离卷积向结合,以改进FFT Block网络结构,利用多头注意力机制建模全局上下文信息,同时利用深度可分离卷积捕获局部信息,从而提升音素局部特征的精细程度。

S305:通过线性层将音素局部特征y映射为梅尔谱,得到待合成文本的语音合成结果。

基于上述,本发明第三实施例的语音合成方法将CNN和Transformer相结合,对现有的基于Fastspeech网络结构的语音合成模型进行改进,得到优化的基于CNN和Transformer的语音合成模型,优化后的语音合成模型利用Transformer中的多头注意力机制建模不同音素间关系,得到全局上下文信息,并利用深度可分离卷积精细化音素内部的局部特征,提升了局部信息颗粒度,提升了合成语音自然度,并减少了合成丢字或跳读等问题。同时,由于结合了全局和局部信息,无需加大网络层数以扩大感受野范围,可大幅度减少网络层数,减小了模型参数量、计算量和训练时间。

在一个可选的实施方式中,还可以:将所述的语音合成方法的结果上传至区块链中。

具体地,基于所述的语音合成方法的结果得到对应的摘要信息,具体来说,摘要信息由所述的语音合成方法的结果进行散列处理得到,比如利用sha256s算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。用户可以从区块链中下载得该摘要信息,以便查证所述的语音合成方法的结果是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

请参阅图7,是本发明实施例端到端语音合成系统的结构示意图。本发明实施例端到端语音合成系统40包括:

数据获取模块41:用于获取待合成文本的音素序列;

特征提取模块42:用于将待合成文本的音素序列输入预训练好的语音合成模型,语音合成模型利用多头注意力机制获取音素序列的全局上下文信息,并利用深度可分离卷积获取音素序列的局部信息,根据音素序列的全局上下文信息和局部信息得到音素局部特征;其中,本发明实施例通过将CNN和Transformer相结合,对现有的基于Fastspeech网络结构的语音合成模型进行改进,得到优化的基于CNN和Transformer的语音合成模型。具体的,如图3所示,为现有的基于Fastspeech网络结构的语音合成模型结构示意图。FastSpeech网络结构是基于Transformer中self-attention(自注意力)和1D卷积的一种前馈结构,该模型将文本(音素)序列作为输入并非自回归地生成Mel频谱图。它采用基于Transformer和1D卷积中的自注意力的前馈网络。由于梅尔频谱图序列比其对应的音素序列长得多,为了解决两个序列匹配长度不一致的问题,FastSpeech采用长度调节器,该长度调节器根据音素的持续时间(每个音素所对应的梅尔频谱图的数量)对音素序列进行上采样,以匹配梅尔频谱图序列的长度。调节器基于音素持续时间预测器,可预测每个音素的持续时间。

在图3所示的语音合成模型中,先利用N层FFT Block从输入的音素(phoneme)中提取表示文本全局上下文信息的隐状态,再通过Length Regulator(长度调节器)模块将隐状态和音频梅尔谱(Mel Spectrum)对齐,最后再利用N层FFT(fast Fourier transform,快速傅立叶变换)Block将对齐后的隐状态映射为梅尔谱。其中,FFT Block为Transformer结构,其结构如图4所示。FFT Block由多头注意力机制和两层一维卷积构成,并利用了残差连接和层归一化(LN)。

如图5所示,为本发明实施例的基于CNN和Transformer的语音合成模型网络结构示意图,其包括第一一维卷积层CNN1、多头注意力层MHSA、深度可分离卷积层DWC以及第二一维卷积层CNN2。本发明实施例的基于CNN和Transformer的语音合成模型的特征提取过程为:首先利用第一一维卷积层CNN1对输入的音素序列x进行音素间局部特征计算,得到第一局部特征x1;第一局部特征x1的计算方式为:

x1=0.5*CNN1(x)+x (1)

其中,为了避免反向传播时的梯度衰减,乘以系数0.5和跳跃连接。

然后,基于第一局部特征x1,利用多头注意力层MHSA计算音素间全局相关性特征x2,全局相关性特征x2的计算公式为:

x2=MHSA(x1)+x1 (2)

再利用深度可分离卷积层DWC对全局相关性特征x2沿着时域进行音素内局部特征计算,得到第二局部特征x3。第二局部特征x3的计算公式为:

x3=DWC(x2)+x2 (3)

最后,基于第二局部特征x3,利用第二一维卷积层CNN2对输入音素x进行音素局部特征计算,并输出最终的音素局部特征y:

y=0.5*CNN2(x3)+x3 (4)

基于上述网络结构,本发明实施例通过将多头注意力机制和深度可分离卷积向结合,以改进FFT Block网络结构,利用多头注意力机制建模全局上下文信息,同时利用深度可分离卷积捕获局部信息,从而提升音素局部特征的精细程度。

语音合成模块43:用于通过线性层将音素局部特征y映射为梅尔谱,得到待合成文本的语音合成结果。

基于上述,本发明实施例的语音合成系统通过将CNN和Transformer相结合,对现有的基于Fastspeech网络结构的语音合成模型进行改进,得到优化的基于CNN和Transformer的语音合成模型,优化后的语音合成模型利用Transformer中的多头注意力机制建模不同音素间关系,得到全局上下文信息,并利用深度可分离卷积精细化音素内部的局部特征,提升了局部信息颗粒度,提升了合成语音自然度,并减少了合成丢字或跳读等问题。同时,由于结合了全局和局部信息,无需加大网络层数以扩大感受野范围,可大幅度减少网络层数,减小了模型参数量、计算量和训练时间。

请参阅图8,为本发明实施例的终端结构示意图。该终端50包括处理器51、与处理器51耦接的存储器52。

存储器52存储有用于实现上述语音合成方法的程序指令。

处理器51用于执行存储器52存储的程序指令以执行端到端语音合成操作。

其中,处理器51还可以称为CPU(Central Processing Unit,中央处理单元)。处理器51可能是一种集成电路芯片,具有信号的处理能力。处理器51还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

请参阅图9,图9为本发明实施例的存储介质的结构示意图。本发明实施例的存储介质存储有能够实现上述所有方法的程序文件61,其中,该程序文件61可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

技术分类

06120114581840