python音频 降噪_一种基于深度神经网络的音频降噪方法技术

【技术实现步骤摘要】

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

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

技术介绍

现实生活中的语音音频信号或是歌声音频信号,往往都不是纯净的,都伴有各种各样的噪声。而音频降噪的目的就是尽可能的去除音频信号中的噪声,使音色转换后的歌声更纯净,从而改善音频的质量,提高它的清晰度以及可懂度。传统的音频降噪方法主要有基于统计模型的贝叶斯估计法、子空间算法、谱减法等。这些算法都对噪声的特性有很强的假设,其中,谱减法的计算复杂度最低,只需要进行正反傅里叶变换,然而当音频信号的信噪比比较低时,谱减法对音频的可懂度损伤很大。传统的无监督降噪算法大多数都是基于背景噪声的加性特征或是音频和噪声之间的某种统计特性而提出并实现的,这导致了这些算法的适用范围很小。从噪声干扰的复杂性出发,考虑利用深度神经网络这种非线性模型对带噪音频和纯净音频间的映射关系进行建模,并实现对音色转换后音频的降噪。因此,本专利基于上述分析,利用深度神经网络训练出泛化能力更强的音频降噪模型,完成对音频的降噪。

技术实现思路

本专利技术的目的在于提供一种基于深度神经网络的音频降噪方法,能够对音频特别是音色转换后语音和歌声音频的降噪。为实现上述目的,本专利技术的技术方案是:一种基于深度神经网络的音频降噪方法,包括如下步骤:步骤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,激活函数为线性激活函数。以上是本专利技术的较佳实施例,凡依本专利技术技术方案所作的改变,所产生的功能作用未超出本专利技术技术方案的范围时,均属于本专利技术的保护范围。本文档来自技高网...

你可能感兴趣的:(python音频,降噪)