1.本发明属于语音增强技术领域,尤其涉及一种基于掩膜映射和混合空洞卷积网络的语音增强方法。
背景技术:2.语音增强是指语音信号受到环境噪声干扰、抑制甚至淹没后,从噪声背景中提取有用的语音信号的技术,其目的是尽可能抑制、降低噪声干扰,提高信噪比和语音可懂度,提升语音感知质量。语音增强技术可以提高语音信号处理系统的整体性能。
3.当然语音增强算法种类多样,根据不同的分类标准可以将其进行归类。根据传感器或麦克风的数量,可以分为单通道(单麦克风)语音增强和阵列(多麦克风)语音增强。单通道语音增强算法可以根据时候含有标签分为无监督语音增强方法(传统语音增强方法)和有监督语音增强方法。传统的无监督语音增强方法包含谱减法、维纳滤波法、基于语音存在概率的软判决增强方法,基于最小均方误差的语音幅度谱增强、对数谱域的最小均方误差的估计、基于子空间的方法等。传统语音增强方法存在噪声的非平稳性假设、音乐噪声等不足。有监督语音增强方法主要包括基于隐马尔科夫模型的语音增强、基于稀疏表示算法和基于深度学习算法等。其中基于深度学习的语音增强总体上可以分为基于频谱映射和基于掩膜两大类方法,但算法会存在以下问题,掩膜映射采用多帧特征参数估计一帧的掩膜,忽略了谱图的二维信息,不能充分发挥二维卷积核的作用。与基于掩膜的方法相比,频谱映射步骤更加简化,但是建模需要考虑如何有效地结合先验知识和提高算法泛化性问题。
技术实现要素:4.本发明目的在于提供一种基于掩膜映射和混合空洞卷积网络的语音增强方法,以解决现有掩膜映射采用多帧特征参数估计一帧的掩膜,忽略了谱图的二维信息,不能充分发挥二维卷积核的作用,而频谱映射建模需要考虑如何有效地结合先验知识和提高算法泛化性的技术问题。
5.为解决上述技术问题,本发明的具体技术方案如下:
6.一种基于掩膜映射和混合空洞卷积网络的语音增强方法,包括以下步骤:
7.步骤1、在纯净语音信号中加入不同类型、不同信噪比的噪声,得到含噪的训练语音信号;
8.步骤2、对步骤1得到的含噪训练语音信号进行预处理,包括归一化、分帧、加窗,得到分帧后的含噪语音信号;
9.步骤3、对步骤2的各帧语音信号进行短时傅里叶变换,提取各帧含噪语音信号的对数功率谱,将若干帧对数功率谱组成二维对数功率图谱,同时根据纯净语音的对数功率谱和噪声的对数功率谱,计算理想比值掩膜,将若干帧的理想比值掩膜组成二维理想比值掩膜矩阵;
10.步骤4、将步骤3得到的二维对数功率图谱,作为混合空洞卷积网络的输入特征,将
对应帧的二维理想比值掩膜矩阵,作为训练目标,基于二维理想比值掩膜矩阵和网络输出的实际二维估计比值掩膜矩阵之间的损失函数对网络权重的偏导,训练混合空洞卷积网络;
11.步骤5、对不同声学环境下的含噪测试语音信号进行预处理,并计算各帧语音信号的短时傅里叶变换,提取各帧语音信号的对数功率谱和相位谱,并将若干帧对数功率谱组成二维对数功率图谱;
12.步骤6、将步骤5的二维对数功率图谱,作为步骤4训练好的混合空洞卷积网络的输入特征参数,计算二维估计比值掩膜矩阵;
13.步骤7、将步骤6得到的二维估计比值掩膜矩阵和步骤5的各帧语音信号对数功率谱进行相乘,得到修正后的对数功率谱,并结合步骤5的各帧相位谱,进行短时逆傅里叶变换,得到增强后的时域语音信号。
14.进一步的,所述步骤1中的语音信号加入噪声的计算公式为:
15.d(n)=s(n)+v(n)
16.其中,d(n)表示含噪语音信号,s(n)为纯净的单声道语音信号,v(n)表示指定信噪比的噪声信号,n表示样本点序号。
17.进一步的,所述步骤2和步骤5中的预处理具体包含:
18.归一化方法为:
[0019][0020]
其中,d(n)为含噪语音信号,d
max
为d(n)幅度绝对值的最大值,x(n)为归一化后的语音信号;
[0021]
分帧方法为:采用预设分帧长度和帧移,将x(n)划分为多个单帧信号x(k
·
l+m),0≤k《k,0≤m《m,其中,k为帧序号,k为总帧数,m表示一帧内的采样序号,m为帧长,l为帧移;
[0022]
加窗方法为:
[0023]
x(k,m)=wh(m)x(k
·
l+m)
[0024]
其中x(k,m)为分帧加窗后的第k帧语音信号,wh(m)为窗函数。
[0025]
进一步的,所述步骤3中的对数功率谱和理想比值掩膜计算具体包括:
[0026]
首先计算分帧后第k帧语音信号x(k,m)的短时傅里叶变换:
[0027][0028]
其中,f表示傅里叶变换的频点序号;
[0029]
频谱x(k,f)的幅度谱进行对数运算,得到对数功率谱xs(k,f):
[0030]
xs(k,f)=10log
10
[|x(k,f)|2]
[0031]
每一帧、每一个频点对应的理想比值掩膜的计算如下:
[0032][0033]
其中,s(k,f)表示纯净语音信号在预处理、短时傅立叶变换后的频谱;
[0034]
v(k,f)表示噪声信号在预处理、短时傅立叶变换后的频谱,可调参数β取0.5;
[0035]
根据其频谱对称性,选择前m/2个频点的对数功率谱xs(k,f),同时每m/2帧的对数功率谱进行组合,即这m/2帧中每一帧的前m/2个频点对数功率谱按照帧的前、后顺序拼接在一起,得到具有时频特征的二维对数功率图谱c(l),其构成形式为:
[0036][0037]
其中l表示二维对数功率图谱的序号,c(l)每一列为某一帧的对数功率谱;
[0038]
c(l)对应的二维理想比值掩膜矩阵r(l)的计算如下:
[0039][0040]
进一步的,所述步骤4中训练混合空洞卷积网络的过程包括以下步骤:
[0041]
步骤4.1、混合空洞卷积网络由下采样、混合空洞卷积模块的堆叠结构、上采样和跳跃连接四部分组成,其中混合空洞卷积模块由不同膨胀率的卷积层、批量归一化和激活函数组成;
[0042]
步骤4.2、将含噪训练语音的二维对数功率图谱c(l)作为输入特征参数,对应的二维理想比值掩膜矩阵r(l)作为训练目标,根据二维理想比值掩膜矩阵和网络输出的实际二维估计比值掩膜矩阵的损失函数进行优化;
[0043]
步骤4.3、训练时,在每个神经元前设置一个服从伯努利分布的dropout概率系数为0.5,用以随机生成一个概率相等、取值为0或1的向量,若向量取值为0,则表示该神经元不参与本次前向和梯度计算,反之,若向量取值为1,则该神经元参与本次前向和梯度计算,这样使得每一次网络迭代中以一定概率随机使一部分神经元节点失效;
[0044]
步骤4.4、计算当前训练特征参数的损失函数l
mse
(r(l),r’(l)),使用反向传播算法,计算损失函数l
mse
(r(l),r’(l))对网络权重的偏导,并修正网络权重;
[0045]
步骤4.5、重复步骤4.2至步骤4.4优化网络,直到网络收敛,采用掩膜映射思路的混合空洞卷积网络训练过程结束。
[0046]
进一步的,所述步骤4.2中的二维理想比值掩膜矩阵和网络输出的实际二维估计比值掩膜矩阵之间的损失函数采用均分误差为:
[0047][0048]
其中,r(l)为二维对数功率谱图对应的二维理想比值掩膜矩阵,r’(l)为混合空洞
卷积网络实际输出的二维比值掩膜矩阵,r
i,j
(l)表示r(l)矩阵的第i行、第j列数据,r’i,j
(l)表示r’(l)矩阵的第i行、第j列数据。
[0049]
本发明的一种基于掩膜映射和混合空洞卷积网络的语音增强方法,具有以下优点:
[0050]
本发明将训练语音信号若干帧的二维对数功率图谱作为输入特征,将二维理想比值掩膜矩阵作为训练目标,充分考虑相邻帧之间的关联性,利用混合空洞卷积网络实现含噪对数功率图谱到掩膜矩阵的映射。混合空洞卷积可以扩大卷积核感受野,有效解决棋盘效应,可以充分提取二维对数功率图谱中的细节信息,采用含噪语音的二维对数功率图谱作为输入特征,二维理想比值掩膜矩阵作为训练目标进行训练,在下采样层和上采样层之间添加跳跃链接,实现局部和全局特征的结合。测试过程中将二维对数功率图谱作为输入,利用训练好的混合空洞卷积网络得到二维估计比值掩膜矩阵,结合相位信息对语音信号进行增强,本发明大幅提高了语音的感知质量,且算法兼具鲁棒性与泛化性。
附图说明
[0051]
图1为本发明的整体算法流程图;
[0052]
图2为本发明的基于掩膜映射和混合空洞卷积网络的网络结构图;
[0053]
图3为本发明的混合空洞卷积模块的结构图。
具体实施方式
[0054]
为了更好地了解本发明的目的、结构及功能,下面结合附图,对本发明一种基于掩膜映射和混合空洞卷积网络的语音增强方法做进一步详细的描述。
[0055]
如图1所示,本实施例提供的基于掩膜映射和混合空洞卷积网络的语音增强方法包括以下步骤:
[0056]
步骤1、训练和测试语音信号中加入不同类型、不同信噪比的噪声,得到含噪训练和含噪测试语音信号,计算公式为:
[0057]
d(n)=s(n)+v(n)
[0058]
其中,d(n)表示含噪语音信号,s(n)为纯净的单声道语音信号,v(n)表示指定信噪比的噪声信号,n表示样本点序号。
[0059]
本例中采用noisex-92噪声库的数据,主要包含白噪声、babble噪声等。纯净语音为来自chains speech corpus语音库单人朗读单通道男声和女声的语音信号,取其中9名男性和9名女性讲述的4段寓言作为训练集,共72段,平均时长为43s,取另外3名男性和3名女性的33句短句作为测试集,共297段,平均时长为3s。将上述噪声分别以信噪比为-5db、0db、5db和10db共4种不同信噪比添加到纯净语音中,同时为了验证本发明方法的泛化性,使用非训练集的非匹配噪声与非训练集的信噪比(-7.5db、-2.5db、2.5db、7.5db、12.5db)进行鲁棒性与泛化性的测试。
[0060]
步骤2、对步骤1中得到的含噪单通道语音信号进行预处理,包括归一化、分帧、加窗,得到分帧、加窗后的语音信号,具体包括以下子步骤:
[0061]
步骤2.1、归一化方法为:
[0062][0063]
其中,d(n)为含噪语音信号,d
max
为d(n)幅度绝对值的最大值,x(n)为归一化后的语音信号;
[0064]
步骤2.2、分帧方法为:采用预设分帧长度和帧移,将x(n)划分为多个单帧信号x(k
·
l+m),0≤k《k,0≤m《m,其中,k为帧序号,k为总帧数,m表示一帧内的采样序号,m为帧长,l为帧移;
[0065]
步骤2.3、加窗方法为:
[0066]
x(k,m)=wh(m)x(k
·
l+m)
[0067]
其中x(k,m)为加窗后的第k帧语音信号,wh(m)为窗函数,本实施例中窗函数为汉明窗。
[0068]
步骤3、对步骤2得到的分帧加窗后的语音信号,计算二维对数功率图谱和二维理想比值掩膜矩阵,计算公式为:
[0069]
首先计算分帧后第k帧语音信号x(k,m)的短时傅里叶变换:
[0070][0071]
其中,f表示傅里叶变换的频点序号。
[0072]
频谱x(k,f)的幅度谱进行对数运算,得到对数功率谱xs(k,f):
[0073]
xs(k,f)=10log
10
[|x(k,f)|2]
[0074]
每一帧、每一个频点对应的理想比值掩膜的计算如下:
[0075][0076]
其中,s(k,f)表示纯净语音信号s(n)预处理、短时傅立叶变换后的频谱,v(k,f)表示噪声信号v(n)在预处理、短时傅立叶变换后的频谱,可调参数β取0.5。
[0077]
根据其频谱对称性,选择前m/2个频点的对数功率谱xs(k,f),同时每m/2帧的对数功率谱进行组合,即这m/2帧中每一帧的前m/2个频点对数功率谱按照帧的前、后顺序拼接在一起,得到具有时频特征的二维对数功率图谱c(l),其构成形式为:
[0078][0079]
其中l表示二维对数功率图谱的序号,c(l)每一列为某一帧的对数功率谱。
[0080]
c(l)对应的二维理想比值掩膜矩阵r(l)的计算如下:
[0081][0082]
步骤4、对步骤3得到的二维对数功率图谱,作为混合空洞卷积网络的输入特征,将二维理想比值掩膜矩阵,作为训练目标,基于二维理想比值掩膜矩阵和网络输出的实际二维估计比值掩膜矩阵之间的损失函数对网络权重的偏导,训练混合空洞卷积网络。
[0083]
下面给出本实施例的基于掩膜映射的混合空洞卷积网络。事实上,本发明的网络结构不限制于此实施例的网络结构。
[0084]
如图2所示,本例的网络结构包含下采样、混合空洞卷积模块的堆叠结构、上采样和跳跃连接。图中每个卷积模块都由卷积层(convolutional layer,conv)或反卷积层(deconvolutional layer,deconv)和批量归一化(batch normalization,bn)开始。每个模块下的k表示卷积层(或反卷积层)卷积核的大小,o表示卷积核数目,s表示卷积步长,例如:k7o16s1表示:卷积核大小为7x7,卷积数目为16个,卷积步长为1。为了提升模型训练速度并避免过度拟合,引入dropout层,即在每个神经元前设置一个服从伯努利分布的dropout概率系数为0.5,用以随机生成一个概率相等、取值为0或1的向量,若向量取值为0,则该神经元不参与本次前向和梯度计算,反之,若向量取值为1,则该神经元参与本次前向和梯度计算,这样使得每一次网络迭代中以一定概率随机使一部分神经元节点失效,从而增加网络的泛化能力。输入的特征参数为二维对数功率图谱,经过卷积减小特征图的大小,输出矩阵在混合空洞卷积模块中得到充分的可区分特征提取,再通过上采样的膨胀解码过程恢复特征图大小,最后采用sigmoid非线性激活函数得到一个(0,1)之间的数值表示真假样本的概率,0表示为假样本,1表示为真样本,同时下采样、上采样之间的跳跃连接实现了局部和全局特征的结合。
[0085]
在本实施例中采用6个混合空洞卷积模块(hybrid dilated convolution block,hdcb)堆叠结构。该部分紧接在下采样之后,主要目的是进行更加充分的可区分特征提取。hdcb是在卷积神经网络基础上发展而来,可以有效扩大卷积核的感受野,同时不增加参数量,本实施例使用的hdcb的具体结构如图3,其中conv,r=1、conv,r=2、conv,r=3分别表示膨胀率为1、2、3的空洞卷积运算,批量归一化(batch normalization,bn)模块用于将所有批数据强制在统一的数据分布下,增强了模型的泛化能力,修正线性单元(rectified linear unit,relu)是为激活函数。
[0086]
网络结构训练过程为:输入特征参数为二维对数功率图谱,训练目标为二维理想比值掩膜矩阵,根据二维理想比值掩膜矩阵和网络输出的实际估计比值掩膜矩阵的损失函数l
mse
(r(l),r’(l)),使用反向传播算法,计算掩膜映射的损失函数l
mse
(r(l),r’(l))对网络权重的偏导,并根据偏导得到网络的权重修改项,修正网络权重,从而进行网络训练优化,本例中,损失函数为:
[0087][0088]
其中,r(l)为二维对数功率谱图对应的二维理想比值掩膜矩阵,r’(l)为混合空洞卷积网络实际输出的二维比值掩膜矩阵,r
i,j
(l)表示r(l)矩阵的第i行、第j列数据,r’i,j
(l)表示r’i,j
(l)矩阵的第i行、第j列数据。
[0089]
本例中网络的权重修改项为:
[0090][0091]
其中,μ为学习率,是损失函数l
mse
(r(l),r’(l))对权重w的偏导。
[0092]
网络训练时使用adam优化器在最小均方误差准则下以0.0002的学习率对网络进行训练。当然,本发明并没有限制网络的相关设置参数。
[0093]
步骤5、对不同声学环境下的含噪测试语音信号进行预处理,包括归一化、分帧、加窗,得到分帧加窗后的含噪测试语音信号,其中预处理过程与步骤2相同。
[0094]
分帧加窗后的语音信号计算短时傅里叶变换,提取各帧语音信号的对数功率谱和相位谱,并将若干帧对数功率谱组成二维对数功率图谱,二维对数功率图谱的计算与步骤3相同。
[0095]
步骤6、将步骤5得到的二维对数功率图谱作为步骤4混合空洞卷积网络的特征参数,计算二维估计比值掩膜矩阵。
[0096]
步骤7、将步骤6的二维估计比值掩膜矩阵,结合步骤5的各帧语音对数功率谱和相位信息,进行短时逆傅里叶变换,得到最终增强后的时域语音信号。
[0097]
对以上方法进行仿真验证,最终的性能评估如下:
[0098]
本例采用pesq分值来评估语音信号的感知质量,不同噪声类型、不同信噪比下的语音增强后的pesq结果如表所示。pesq的分值范围为[0,5],分值越接近5代表语音质量越好。
[0099]
表1白噪声匹配信噪比环境下本发明方法增强前后语音pesq比较
[0100]
snr(db)处理前增强后增幅-51.02391.14970.125801.02781.31330.285551.04141.52050.4791101.08681.75940.6726
[0101]
表2 babble噪声匹配信噪比环境下本发明方法增强前后语音pesq比较
[0102]
snr(db)处理前增强后增幅-51.04521.08190.036701.07821.19350.115351.17391.4130.2391101.39361.70030.3067
[0103]
由表1、表2可知,当测试语音的噪声类型、信噪比与训练语音一致时,增强语音的
pesq分值有了显著提高,表明本发明方法明显改善了语音的感知质量。
[0104]
为了验证本发明方法的泛化性,给出测试语音的信噪比与训练语音不一致时,增强前后pesq分值的比较,如表3所示。
[0105]
表3非匹配信噪比下本发明方法增强前后语音pesq比较
[0106]
snd(db)处理前增强后增幅-7.51.04831.06610.0179-2.51.03831.15780.11952.51.05841.33470.27637.51.12981.58210.452312.51.30621.85540.5492
[0107]
根据表3的结果,当测试语音信噪比和训练语音信噪比不一致时,本发明增强后的语音pesq依然保持稳定的增幅,表明本发明对声学环境具有泛化性。
[0108]
综上,在复杂的声学环境下,基于掩膜映射和混合空洞卷积网络的语音增强方法在提升客观评价指标pesq上效果很好,且本发明方法性能稳定,具有较好的泛化性。
[0109]
可以理解,本发明是通过一些实施例进行描述的,本领域技术人员知悉的,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本技术的权利要求范围内的实施例都属于本发明所保护的范围内。