一种基于深度神经网络的音频降噪方法与流程

文档序号:15048582发布日期:2018-07-27 23:26阅读:5495来源:国知局

本发明涉及歌唱领域的音频降噪方法,特别是一种基于深度神经网络的音频降噪方法。



背景技术:

现实生活中的语音音频信号或是歌声音频信号,往往都不是纯净的,都伴有各种各样的噪声。而音频降噪的目的就是尽可能的去除音频信号中的噪声,使音色转换后的歌声更纯净,从而改善音频的质量,提高它的清晰度以及可懂度。

传统的音频降噪方法主要有基于统计模型的贝叶斯估计法、子空间算法、谱减法等。这些算法都对噪声的特性有很强的假设,其中,谱减法的计算复杂度最低,只需要进行正反傅里叶变换,然而当音频信号的信噪比比较低时,谱减法对音频的可懂度损伤很大。

传统的无监督降噪算法大多数都是基于背景噪声的加性特征或是音频和噪声之间的某种统计特性而提出并实现的,这导致了这些算法的适用范围很小。从噪声干扰的复杂性出发,考虑利用深度神经网络这种非线性模型对带噪音频和纯净音频间的映射关系进行建模,并实现对音色转换后音频的降噪。

因此,本专利基于上述分析,利用深度神经网络训练出泛化能力更强的音频降噪模型,完成对音频的降噪。



技术实现要素:

本发明的目的在于提供一种基于深度神经网络的音频降噪方法,能够对音频特别是音色转换后语音和歌声音频的降噪。

为实现上述目的,本发明的技术方案是:一种基于深度神经网络的音频降噪方法,包括如下步骤:

步骤s1:对数据进行预处理,得到带噪音频数据;

步骤s2:训练dnn音频降噪模型,得到的dnn音频降噪模型可以完成音色转换后的歌声的对数功率谱与纯净音频的对数功率谱之间的映射;

步骤s3:对音色转换后的歌声进行降噪,即结合步骤s2中训练好的dnn音频降噪模型、输出的对数功率谱以及相位信息,重建出降噪后的音频。

在本发明一实施例中,所述步骤s1的具体实现方式为:采用timit数据集作为纯净的音频数据;并在纯净音频上添加不同信噪比等级及不同种类的多种噪声,以此生成带噪音频数据。

在本发明一实施例中,所述信噪比等级包括20db、15db、10db。

在本发明一实施例中,所述噪声的种类包括加性高斯白噪声、babble、restaurant、street、car、exhibition。

在本发明一实施例中,所述步骤s2具体包括以下步骤:

步骤s21:用带噪音频的对数功率谱对堆叠rbm进行预训练,采用无监督的、逐层贪婪的训练方法,并用cd算法来更新rbm的参数;

步骤s22:用随机梯度下降算法训练整体的dnn音频降噪模型;dnn音频降噪模型中rbm部分的参数采用步骤s21训练得到的参数进行初始化,dnn音频降噪模型输出层的参数进行随机初始化;dnn音频降噪模型的损失函数为纯净音频的对数功率谱与dnn音频降噪模型输出的降噪后的对数功率谱之间的最小均方误差,计算公式如下:

其中,e表示均方误差;分别表示第n个样本降噪后的对数功率谱和纯净音频的对数功率谱;n表示总的样本个数;d表示对数功率谱的大小;(wl,bl)表示第l层的权重和偏置;权重w和偏置b的更新方式如下:

其中,λ表示学习率。

在本发明一实施例中,所述步骤s22中,dnn音频降噪模型构成如下:

第一层rbm是具有一个可见层和一个隐藏层的高斯-伯努利受限玻尔兹曼机,节点数为2048,激活函数为sigmoid;

第二层rbm是伯努利-伯努利受限玻尔兹曼机,节点数2048,激活函数为sigmoid;

第三层rbm是伯努利-伯努利受限玻尔兹曼机,节点数2048,激活函数为sigmoid;

第四层rbm是输出层,节点数257,激活函数为线性激活函数。

相较于现有技术,本发明具有以下有益效果:本发明方法利用深度神经网络训练出泛化能力更强的音频降噪模型,完成对音频的降噪。

附图说明

图1是本发明的方法流程示意框图。

图2是本发明的实施例中应用的深度神经网络的结构图。

具体实施方式

下面结合附图,对本发明的技术方案进行具体说明。

本发明的一种基于深度神经网络的音频降噪方法,如图1所示,包括如下步骤:

步骤s1:对数据进行预处理。

步骤s2:训练dnn音频降噪模型,得到的dnn模型可以完成音色转换后的歌声的对数功率谱与纯净音频的对数功率谱之间的映射。

步骤s3:对音色转换后的歌声进行降噪,结合s2中训练好的dnn模型,输出的对数功率谱以及相位信息,重建出降噪后的音频。

进一步,所述步骤s1的具体做法是使用timit数据集作为纯净的音频数据;并在纯净音频上添加不同等级信噪比的多种噪声,信噪比等级有20db,15db,10db等,噪声的种类包括加性高斯白噪声、babble、restaurant、street、car、exhibition等,以此来生成带噪的音频数据。

进一步,所述步骤s2具体包括以下步骤:

步骤s21:用带噪音频的对数功率谱对堆叠rbm进行预训练,使用的是无监督的、逐层贪婪的训练方法,并用cd算法(contrastivedivergence)来更新rbm的参数。

步骤s22:用随机梯度下降算法(stochasticgradientdescent,sgd)训练整体的dnn降噪模型。dnn模型中rbm部分的参数用上一步预训练得到的参数进行初始化,模型输出层的参数进行随机初始化。模型的损失函数为纯净音频的对数功率谱与模型输出的降噪后的对数功率谱之间的最小均方误差(minimummeansquarederror,mmse),计算公式如下:

其中,e表示均方误差;分别表示第n个样本降噪后的对数功率谱和纯净音频的对数功率谱;n表示总的样本个数;d表示对数功率谱的大小;(wl,bl)表示第l层的权重和偏置;权重w和偏置b的更新方式如下:

其中,λ表示学习率。

在本实施例中,步骤s22如图所示,dnn降噪模型如下:

第一层rbm是具有一个可见层和一个隐藏层的高斯-伯努利受限玻尔兹曼机(gaussian-bernoullirbm,gbrbm),节点数为2048,激活函数为sigmoid;

第二层rbm是伯努利-伯努利受限玻尔兹曼机(bernoulli-bernoullirbm,bbrbm),节点数2048,激活函数为sigmoid;

第三层rbm是伯努利-伯努利受限玻尔兹曼机(bernoulli-bernoullirbm,bbrbm),节点数2048,激活函数为sigmoid;

第四层rbm是输出层,节点数257,激活函数为线性激活函数。

以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1