HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

一种基于变分自编码器的声码器实现方法及装置与流程

2021-01-28 17:01:14|322|起点商标网
一种基于变分自编码器的声码器实现方法及装置与流程

本发明涉及语音合成领域,具体的,涉及一种基于变分自编码器的声码器实现方法及装置。



背景技术:

在语音合成(texttospeech,简称tts)技术,涉及声学、语言学、数字信号处理技术、多媒体技术等多个学科技术,是中文信息处理领域的一项前沿技术。语音合成就是一个将文本转化为语音输出的过程,该过程分成三个部分,文字前端、声学模型和声码器,文字前端将文字转化为音素、语气、语调控制信息,声学模型再将这些信息转化为频谱图,声码器的作用是将频谱图转化为声波,声码器为tts流程中的后端。

声码器承担着很重要的角色,声码器的好坏往往决定着整个语音合成系统的质量。在现有的声码器实现方法中,大致可以分为传统的信号处理方法和神经网络的方法,但是目前这两种方案在本质上都是基于全自回归的方式,即前一个采样点决定后一个采样点,即表现为算法框架被反复调用,所以音波生成的效率较差,亟待改进。

因此,本领域迫切需要一种音波生成效率高的声码器及其实现方法。



技术实现要素:

本发明的目的在于,提供一种基于变分自编码器的声码器实现方法及装置,可以使用标准高斯白噪声直接得到音频,使得一段音频能够同时生成,而不是一个采样点一个采样点的生成,大大提高了音波生成速度,并且使得网络训练变得稳定可靠。

本申请的技术是将语音合成的前端得到的频谱图转化为人可以听到的音波,本申请人经过长期广泛深入的研究,将变分自编码器(variationalauto-encoder,vae)适应性的引入声码器方案中,不再采用现有技术全自回归式的音波产生方式,而是根据某个帧的声音特征,并行化生成相应音频。本申请通过大量筛选和测试,将变分自编码器的编码器和解码器与声码器的其他构件连接,并进行流程设计和流程优化,以及进行条件信息及参数的测试和设定等,创造性的发明了一种基于变分自编码器的声码器实现方法及装置。本申请人在此基础上完成了本发明。

本申请的一方面,提供一种基于变分自编码器的声码器实现方法,所述方法包括训练过程和应用过程,其特征在于,所述训练过程包括步骤:

s1,将音频源信号输入预处理模块,得到梅尔谱图;

s2,将梅尔谱图输入条件信息模块,得到条件信息;

s3,将条件信息和音频源信号共同输入编码器中,编码器将条件信息和音频源信号进行融合,得到中间隐藏信息;

s4,将中间隐藏信息和条件信息共同输入解码器中,解码器将输入的中间隐藏信息和条件信息进行转化,得到输出音频;

s5,将输出音频与音频源信号采用交叉熵进行损失函数计算,将中间隐藏信息和已知的标准高斯白噪声采用kl散度进行损失函数计算;然后将两个损失函数的交叉熵和kl散度,计算得到总损失函数值;

s6,然后不断重复s1-s5的步骤,采用梯度下降法进行参数优化,总损失函数值会不断降低,当总损失函数值低于某个阈值,训练完成;

训练完成后可进行应用,所述应用过程包括步骤:

将前端文字转频谱中得到的频谱图,输入条件信息模块得到条件信息,将条件信息和已知的标准高斯白噪声输入解码器,得到输出音频。

在一些实施方式中,所述预处理模块将音频源信号进行相应的特征提取,所述预处理模块依次包括:音频量化、音频分帧、傅立叶变换、和梅尔谱图变换;

进一步的,所述音频源信号经过预处理模块,变为离散数值。

在一些实施方式中,所述条件信息模块采用多层深度神经网络,所述条件信息模块包括:多层的卷积层、双向长短时记忆层、非线性变换、残差层中的一个或多个任意组合。

进一步的,所述条件信息模块优选为多层的卷积层。

在一些实施方式中,所述编码器采用多层深度神经网络,所述编码器包括:嵌入向量模块,将离散数值重新转化为连续值;以及卷积层、双向长短时记忆层、非线性变换、残差层中的一个或多个任意组合,得到中间隐藏信息。

进一步的,中间隐藏信息是一个高维矩阵,代表着神经网络对信息的深度编码,目标为希望中间隐藏信息服从正态分布。

进一步的,选用卷积层、双向长短时记忆层、非线性变换、残差层中的一个或多个任意组合,都能实现本发明的技术效果,但是具体选用其中的哪个或者哪些组合,需要根据实际的场景进行实验和选择,其中,卷积层主要学习前后多个音波点之间的特征,长短时记忆层主要用于学习整个音频波点间点特征,可以选择其一或同时使用。

在一些实施方式中,所述解码器采用多层深度神经网络,所述解码器包括:卷积层、双向长短时记忆层、非线性变换、残差层中的一个或多个任意组合。

在一些实施方式中,所述采用交叉熵(crossentropy)进行损失函数计算是用于判别解码器输出的输出音频的结果质量,即将源音频作为标准答案与输出音频进行比较;所述采用kl散度(相对熵,kldivergence)进行损失函数计算是为了将中间隐藏信息的分布变为接近高斯分布,kl散度用于衡量中间隐藏信息和标准高斯白噪声两个分布的相似度,中间隐藏信息与标准高斯白噪声的分布差异越大时,kl散度越大,反之kl散度越小。

进一步的,已知的标准高斯白噪声为已经得到的标准高斯白噪声,在测试过程中,标准高斯白噪声的样本个数决定了音频的长度,有多少个高斯噪声样本点,就有多少个音频点产生,样本个数的选取由音频采样率决定。

在一些实施方式中,采用梯度下降法进行参数优化是采用梯度下降法对神经网络的参数进行优化,该神经网络指条件信息模块、编码器、和解码器的多层深度神经网络。

进一步的,当总损失函数低于某个阈值时,说明神经网络的输出结果和目标一模一样,表明网络训练过程结束。

训练过程完成神经网络训练后,应用过程可根据前端文字转频谱得到的频谱图,输出任意相应的输出音频。

在一些实施方式中,s4和应用过程得到的输出音频为产生音频的量化值id,id对应的为唯一整数值。

进一步的,音频源信号会最终会被量化为0到255之间的整数(幅值),共有256种可能性。与传统基于全自回归式的生成方式不同,基于全自回归式的生成方式为产生后一个点需要先知道前一个点,是一个采样点一个采样点的生成,而在本申请中,由于高斯白噪声点之间为互相独立,则可以一次性全部产生,即可以并行化生成,效率大大提高。

本申请的一另方面,提供一种基于变分自编码器的声码器装置,其特征在于,所述装置包括:预处理模块、条件信息模块、编码器、解码器,在训练过程中,

所述预处理模块将输入的音频源信号处理为梅尔谱图;

然后所述条件信息模块将输入的梅尔谱图转换为条件信息;

然后所述编码器将输入的条件信息和音频源信号进行融合,得到中间隐藏信息;

然后所述解码器将输入的中间隐藏信息和条件信息共同进行转化,得到输出音频;

然后将输出音频与音频源信号采用交叉熵进行损失函数计算,将中间隐藏信息和已知的标准高斯白噪声采用kl散度进行损失函数计算;然后将两个损失函数的交叉熵和kl散度,计算得到总损失函数值;

然后不断重复上述步骤,采用梯度下降法进行参数优化,总损失函数值会不断降低,当总损失函数值低于某个阈值,训练完成;

在应用过程中,

所述条件信息模块将输入的前端文字转频谱中得到的频谱图,转化为条件信息,所述解码器将输入的条件信息和已知的标准高斯白噪声进行转化,得到输出音频。

在一些实施方式中,所述预处理模块将音频源信号进行相应的特征提取,所述预处理模块依次包括:音频量化、音频分帧、傅立叶变换、和梅尔谱图变换;

进一步的,所述音频源信号经过预处理模块,变为离散数值。

在一些实施方式中,所述条件信息模块采用多层深度神经网络,所述条件信息模块包括:多层的卷积层、双向长短时记忆层、非线性变换、残差层中的一个或多个任意组合。

进一步的,所述条件信息模块优选为多层的卷积层。

在一些实施方式中,所述编码器采用多层深度神经网络,所述编码器包括:嵌入向量模块,将离散数值重新转化为连续值;以及卷积层、双向长短时记忆层、非线性变换、残差层中的一个或多个任意组合,得到中间隐藏信息。

进一步的,中间隐藏信息是一个高维矩阵,代表着神经网络对信息的深度编码,目标为希望中间隐藏信息服从正态分布。

进一步的,选用卷积层、双向长短时记忆层、非线性变换、残差层中的一个或多个任意组合,都能实现本发明的技术效果,但是具体选用其中的哪个或者哪些组合,需要根据实际的场景进行实验和选择,其中,卷积层主要学习前后多个音波点之间的特征,长短时记忆层主要用于学习整个音频波点间点特征,可以选择其一或同时使用。

在一些实施方式中,所述解码器采用多层深度神经网络,所述解码器包括:卷积层、双向长短时记忆层、非线性变换、残差层中的一个或多个任意组合。

在一些实施方式中,所述采用交叉熵(crossentropy)进行损失函数计算是用于判别解码器输出的输出音频的结果质量,即将源音频作为标准答案与输出音频进行比较;所述采用kl散度(相对熵,kldivergence)进行损失函数计算是为了将中间隐藏信息的分布变为接近高斯分布,kl散度用于衡量中间隐藏信息和标准高斯白噪声两个分布的相似度,中间隐藏信息与标准高斯白噪声的分布差异越大时,kl散度越大,反之kl散度越小。

进一步的,已知的标准高斯白噪声为已经得到的标准高斯白噪声,在测试过程中,标准高斯白噪声的样本个数决定了音频的长度,有多少个高斯噪声样本点,就有多少个音频点产生,样本个数的选取由音频采样率决定。

在一些实施方式中,采用梯度下降法进行参数优化是采用梯度下降法对神经网络的参数进行优化,该神经网络指条件信息模块、编码器、和解码器的多层深度神经网络。

进一步的,当总损失函数低于某个阈值时,说明神经网络的输出结果和目标一模一样,表明网络训练过程结束。

训练过程完成神经网络训练后,应用过程可根据前端文字转频谱得到的频谱图,输出任意相应的输出音频。

在一些实施方式中,s4和应用过程得到的输出音频为产生音频的量化值id,id对应的为唯一整数值。

由此可见,采用本发明的基于变分自编码器的声码器实现方法,可以使用高斯白噪声直接得到音频,使得音频信号时间维度上的相关性得到打破,使得一段音频能够同时生成,大大提高了生成速度。

并且,本发明使用变分自编码器的形式,构建网络,使得训练变得稳定可靠。

附图说明

图1:本发明的基于变分自编码器的声码器的训练过程的框架图。

图2:本发明的基于变分自编码器的声码器的应用过程的框架图。

具体实施方式

描述以下实施例以辅助对本发明的理解。不意在且不应当以任何方式将实施例解释成为限制本发明的保护范围。

在以下描述中,本领域的技术人员将认识到,下文描述的本发明的实施方式可以以各种方式(例如过程、装置、系统、设备或方法)在有形的计算机可读介质上实施。在本论述的全文中,组件可描述为单独的功能单元(可包括子单元),但是本领域的技术人员将认识到,各种组件或其部分可划分成单独组件,或者可整合在一起(包括整合在单个的系统或组件内)。应注意,本文论述的功能或操作可实施为组件。组件可以以软件、硬件、或它们的组合实施。

此外,附图内的组件或系统之间的连接并不旨在限于直接连接。相反,在这些组件之间的数据可由中间组件修改、重格式化、或以其它方式改变。另外,可使用另外或更少的连接。还应注意,术语“联接”、“连接”、或“输入”应理解为包括直接连接、通过一个或多个中间设备来进行的间接连接、和无线连接。

实施例1:

一种基于变分自编码器的声码器实现方法,包括训练过程和应用过程,如图1所示,为本发明的基于变分自编码器的声码器的训练过程的框架图,训练过程如下:

s1,将音频源信号输入预处理模块,得到梅尔谱图;所述预处理模块将音频源信号进行相应的特征提取,所述预处理模块依次由音频量化、音频分帧、傅立叶变换、和梅尔谱图变换组成,所述音频源信号经过预处理模块被量化后,变为离散数值。

s2,将梅尔谱图输入条件信息模块,得到条件信息;所述条件信息模块采用多层深度神经网络,所述条件信息模块由多层的卷积层组成。

s3,将条件信息和音频源信号共同输入编码器中,编码器将条件信息和音频源信号进行融合,得到中间隐藏信息;所述编码器采用多层深度神经网络,所述编码器由嵌入向量模块、卷积层、双向长短时记忆层、和非线性变换组成,得到中间隐藏信息。

s4,将中间隐藏信息和条件信息共同输入解码器中,解码器将输入的中间隐藏信息和条件信息进行转化,得到输出音频;所述解码器采用多层深度神经网络,所述解码器由双向长短时记忆层、和非线性变换组成。

s5,将输出音频与音频源信号采用交叉熵进行损失函数计算,将中间隐藏信息和已知的标准高斯白噪声采用kl散度进行损失函数计算;然后将两个损失函数的交叉熵和kl散度,计算得到总损失函数值。

s6,然后不断重复s1-s5的步骤,采用梯度下降法进行以上神经网络的参数优化,总损失函数值会不断降低,当总损失函数值低于某个阈值,训练完成。

训练完成后,应用过程可根据前端得到的频谱图,输出任意具有相应特征的音频,如图2所示,为本发明的基于变分自编码器的声码器的应用过程的框架图,应用过程如下:

将前端文字转频谱得到的频谱图,输入条件信息模块得到条件信息,将条件信息和已知的标准高斯白噪声共同输入解码器,得到输出音频。

s4和应用过程的输出音频为产生音频的量化值id,id对应的为唯一整数值,并且使得一段音频能够同时生成,可以一次给出几百-几千个点的幅值,大大提高了音波生成速度,并且使得网络训练变得稳定可靠。

实施例2:

一种基于变分自编码器的声码器装置,其特征在于,所述装置包括:预处理模块、条件信息模块、编码器、解码器,如图1所示,为本发明的基于变分自编码器的声码器的训练过程的框架图,训练过程如下:

所述预处理模块将输入的音频源信号处理为梅尔谱图,所述预处理模块依次由音频量化、音频分帧、傅立叶变换、和梅尔谱图变换组成;

所述条件信息模块将输入的梅尔谱图转换为条件信息,所述条件信息模块采用多层深度神经网络,所述条件信息模块由双向长短时记忆层、非线性变换组成;

所述编码器将输入的条件信息和音频源信号进行融合,得到中间隐藏信息;所述编码器采用多层深度神经网络,所述编码器由嵌入向量模块、卷积层、非线性变换、和残差组成;

所述解码器将输入的中间隐藏信息和条件信息共同进行转化,得到输出音频;所述解码器采用多层深度神经网络,所述解码器由卷积层、双向长短时记忆层、非线性变换、残差组成,输出音频为产生音频的量化值id,id对应的为唯一整数值。

将输出音频与音频源信号采用交叉熵进行损失函数计算,将中间隐藏信息和已知的标准高斯白噪声采用kl散度进行损失函数计算;然后将两个损失函数的交叉熵和kl散度,计算得到总损失函数值。

然后不断重复s1-s5的步骤,采用梯度下降法进行上述神经网络的参数优化,总损失函数值会不断降低,当总损失函数值低于某个阈值,说明神经网络的输出结果和目标一模一样,训练完成。

训练完成后,应用过程可根据前端得到的频谱图,输出任意具有相应特征的音频,如图2所示,为本发明的基于变分自编码器的声码器的应用过程的框架图,应用过程如下:

所述条件信息模块将输入的前端文字转频谱中得到的频谱图,转化为条件信息,所述解码器将输入的条件信息和已知的标准高斯白噪声进行转化,得到输出音频。

输出音频为产生音频的量化值id,id对应的为唯一整数值,并且使得一段音频能够同时生成,可以一次给出几百-几千个点的幅值,大大提高了音波生成速度,并且使得网络训练变得稳定可靠。

尽管本发明已公开了多个方面和实施方式,但是其它方面和实施方式对本领域技术人员而言将是显而易见的,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。本发明公开的多个方面和实施方式仅用于举例说明,其并非旨在限制本发明,本发明的实际保护范围以权利要求为准。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips