DNN与谱减法相结合的语音分离技术
2018-02-12冯利琪江华闫格闵长伟李玲香
冯利琪 江华 闫格 闵长伟 李玲香
摘要:针对传统DNN语音分离中噪声干扰的问题,提出了一种在DNN语音分离后期处理中结合DNN和谱减法的语音分离方法。首先提取语音声级特征,通过DNN学习带噪特征到分离目标语音的映射,得到分离目标语音;然后对分离目标语音中每一时频单元进行噪声能量估计;最后,通过快速傅里叶逆变换得到谱减后的分离语音波形信号。通过对不同类型的噪声和不同输入信噪比混合后的語音信号进行试验,结果表明,加入谱减法后分离的语音信号与只经DNN网络输出的语音信号相比,前者分离的语音可懂度和信噪比得到了显著提高,并且分离语音的信号更接近于纯净语音的信号。
关键词:语音分离;神经网络;谱减法;目标语音;噪声能量估计
Speech Separation Combined with DNN and Spectral Subtraction
FENG Li qi JIANG Hua YAN Ge MIN Chang wei LI Ling xiang
(1.Key Laboratory of Granular Computing and Application,Minnan Normal University;
2.School of Computer Science, Minnan Normal University, Zhangzhou 363000,China;
3.School of Electronics and Information Engineering,Hunan University of Science and Engineering,Yongzhou 425199,China)
Abstract:In view of the problem of noise interference in traditional DNN speech separation, a speech separation method based on DNN and spectral subtraction was proposed in the post processing of DNN speech separation. Firstly, the features of speech were extracted and the DNN was used to learn the mapping of the noisy features to the separated target speech. Then the noise energy is estimated for each time frequency unit in the separated target speech. Finally, the speech waveform was obtained by the inverse fast fourier transform. By testing the speech signal mixed by different types of noise and different input SNR, the experimental results show that compared with the speech signal output only by the DNN network, the speech signal separated after adding spectral subtraction is significantly improved in the speech intelligibility and signal to noise ratio of the proposed algorithm. The similarities between the separated speech signal and the original clean speech signal has also been greatly improved.
Key Words:speech separation; neural networks; spectral subtraction; target speech; noise energy estimation
0 引言
近年来,深度学习被广泛应用于语音信号处理领域。语音分离问题起源于“鸡尾酒会效应”[1],即从复杂的混合声音中分离所需语音。语音分离的目的主要是从被干扰的语音信号中分离出有用信号,该过程实质上相当于一个监督性学习问题。随着互联网技术飞速发展,电子设备处理语音的能力不断提高,使语音分离在众多领域发挥重要作用,如自动语音识别、助听器、移动语音通信等[2]。
单声道语音分离在语音信号处理领域已被广泛研究。随着深度学习的出现,许多深层模型被广泛应用于语音和图像处理[3 5]。其中深度神经网络(Deep Neural Networks,DNN)在语音分离领域发挥着强大作用[6 9]。Wang等[2]用DNN对多种语音分离目标进行了对比分析,并且提出了更具鲁棒性的理想比例掩蔽目标。在文献[10]中,刘文举等主要对语音分离中用到的特征、模型和分离目标作出详细介绍、归纳与总结。Wang等[11]提出了深度神经网络-支持向量机(Deep Neural Networks-Suppore Vector Machines,DNN-SVM)系统,实现了较好的泛化性能。文献[12]提出了一种新颖的基于时频掩蔽的语音分离深层叠加方法,提高了掩模估计的准确性。
Boll[13]在1979年提出了谱减法(Spectral Subtraction,SS),作为一种发展较早且应用成熟的语音去噪方法,谱减法常用于语音增强。此外,维纳滤波法[14 15]、自适应滤波器法[16 17]、均方误差估计方法[18]、非负矩阵分解(Non-negative Matrix Factorization,NMF)[19]也被广泛应用于语音处理领域。语音被维纳滤波法分离后得到的目标语音残留噪声类似于白噪声,能在一定程度上降低音乐噪声对目标语音的干扰,但是当线性滤波器平滑因子较大时,算法时间复杂度较高。自适应滤波算法在维纳滤波的基础上对滤波器进行自适应处理,能根据外界环境自动调整滤波器参数值,但是语音分离能力有限。非负矩阵分解能够挖掘出语音或噪声的线性表示,但很难挖掘语音数据中复杂的非线性结构。因此,出现了许多与深度神经网络相结合的语音分离方法[20 22]。其中,文献[20]提出了一种将DNN和约束维纳滤波联合训练优化的新型网络结构,该方法能有效去除噪声。文献[21]提出了基于DNN的最小均方误差回归拟合语音增强方法,提升了语音质量。文献[22]中提出用NMF利用语音和噪声的时空结构特点,在DNN输出层额外增加了NMF层,该模型能显著提高语音分离性能。
DNN虽有很好的鲁棒性,但是其分离后的语音仍存在噪声干扰以及噪声估计不准确的问题,影响语音信号质量,而在谱减法中,可以通过检测每一帧信号是否为有话帧进行去噪处理,且谱减法具有算法简单、时间复杂度低等优点。因此,本文用谱减法对DNN分离的语音作后期处理,提出一种改进的基于DNN和譜减法(Spectral Subtraction,SS)相结合的语音分离算法,简称为DNN-SS。首先,提取语音信号声学特征;然后将其作为神经网络输入,由训练的神经网络输出估计语音目标,再对相应语音目标中每个时频单元进行噪声能量估计,取每一帧判断该帧是否是有话帧,若该帧为无话帧,则平滑更新噪声谱值、求取噪声最大残留值,若为有话帧,则消噪,减少噪声残留值;最后再通过频谱幅值和相位角合成最终语音。
1 基于DNN的语音分离方法
通常一个监督性语音分离系统包括5个主要模块:时频分解、特征提取、分离目标、模型训练、波形合成。在训练之前,首先把纯净的语音和非平稳的噪声按照一定输入信噪比(Signal-to-Noise, SNR)进行预混合,然后从混合语音信号中提取声学特征和理想目标,将所得数据进行均值方差归一化后,分别作为输入和输出馈送到DNN中,输出估计的语音目标,最后利用估计的分离目标及混合语音信号,通过逆变换得到估计语音的波形信号。
时频掩蔽是语音分离最常用的分离目标,理想二值掩蔽(Ideal Binary Mask, IBM)和理想比例掩蔽[23](Ideal Ratio Mask, IRM)是常见的时频掩蔽。IRM定义如下:
其中, S 2(t,f)和N 2(t,f)表示混合语音中T-F单元的语音和噪声能量,η是一个可以调整的尺度因子。大量实验证明,当η=0.5 时取得的效果最好。IBM与IRM的区别在于IRM是连续的,范围在[0,1]内,因此本文选择用IRM作为实验训练目标。
2 改进的DNN语音分离方法
改进的基于DNN和谱减法的语音分离方法系统结构如图1所示。系统主要由时频分解、特征提取、分离目标、模型训练、谱减去噪、波形合成6部分组成。系统输入为带噪的混合语音,输出为分离的目标语音。
谱减法是语音去噪常用方法,基于人的感觉特性,即人的听觉系统更容易受到语音信号幅度影响,谱减法一般是对语音短时幅度谱进行估计,因为加性噪声和语音不相关的特点,通常适用于受加性噪声干扰的语音,所以谱减法本质上是输入的混合语音信号频谱幅度值减去估计的声平均谱幅度值。
2.1 训练
本实验主要使用3个声学特征[24 25],分别是幅度调制频谱(Amplitude Modulation Spectrogram,AMS)、相对频谱变换-感知线性预测系数(Relative Spectral Transform and Perceptual Linear Prediction,RASTA-PLP)、梅尔频谱倒频谱系数(Melfrequency Cepstral Coefficients,MFCC)。以上特征分别从每一帧信号中提取,将这些帧级别的特征组合形成特征集合。
本文设置的网络结构包含1个输入层,4个隐含层,1个输出层,隐含层每层有1 024个单元,Sigmoid函数作为激活函数,从图(2)可见,Sigmoid函数具有连续、光滑的性质,其公式定义如式(2)。
另外,DNN系统经随机梯度下降和交叉熵准则训练,初始学习率设为0.01,系统最大训练次数设为20。
2.2 谱减法去噪
在混合语音经过DNN分离之后,再用谱减法对其进一步分离。设DNN分离后的语音信号序列为 x(n),加窗分帧处理后得到第i帧语音信号为x i(m),帧长为L。将每帧信号x i(m)进行离散傅里叶变换,其公式如下:
其幅值是 |X i(k)| ,相角公式如下:
在一段声音中,设前导无话段(噪声段)时长为 IS,其对应帧数为NIS,NIS 计算公式为:
其中,f表示频率,L表示帧长,inc表示帧移,该噪声段平均谱值为:
式中, γ=1、γ=2分别对应于谱幅值与功率谱做谱减法,本实验γ 值为1。
则谱减算法为:
其中, α和β是两个常数,分别表示过减因子和增益补偿因子。因为都与噪声性质有关,所以经过多次试验,本实验中α和β参数分别为α=1,β=0.09。
求出每一帧谱值后,在相邻帧之间计算平均谱值。
其中,i表示第i帧,M是一个常数,计算相邻帧之间的平均值,以求得较小的谱估算方差。在实验中M=1,即在3帧之间计算平均值。
在经谱减法减噪后合成的语音中,由于噪声残留,会使语音中带有“音乐噪声”。由式(7)可见谱减法核心为:
其中, |X i(k)| γ表示某条谱线幅值,D(k)表示噪声谱某条谱线平均值。
由于噪声特性不稳定,有可能在某个时间段某条谱线谱值大于α×D(k),按式(9)相减后并没有完全消除噪声,而把其峰值保留下来。因此,为可能减少噪声残留,在减噪过程中保留噪声最大值,再对每一条谱线作进一步判断,检验C(k)是否小于最大残留噪声。如果小于最大残留噪声,在第i帧第j条谱线相邻3帧之间找最小值的一条谱线。
所得的幅值与相角作IFFT变换,得到谱减后的语音信号。因为人的听觉系统对于语音信号相位不敏感,所以在对含噪语音信号进行谱减前,保留了原来语音信号的相角,将其直接用于谱减后的语音信号中。谱减法算法流程如图3所示。
3 实验
所有预混合信号需作以下处理:①预混合语音信号,以16KHz频率进行重采样;②按照20ms窗口和10ms帧移进行分帧加窗,即每个帧有320个采样点。
3.1 数据集介绍
从IEEE Corpus[26]语音库中选用720条语音,前600条语音作为训练集,后120条语音作为测试集,训练集与测试集没有重叠部分。另外,从NOISEX-92[27]中选用4种噪声作为实验训练和测试噪声,这些噪声都不平稳,分别是工厂车间噪声(factory noise)、粉红噪声(pink noise)、驱逐舰机舱噪声(destroyer engine room noise)。为了使训练集与测试集没有重合部分,本文将每个噪声随机分成两部分,然后将第一部分与训练语音进行混合产生训练集,输入信噪比分别为-5dB、-2dB、0dB、2dB、5dB,将第二部分噪声与测试语音进行混合产生测试集。最后将所得训练集与测试集数据作均值方差归一化处理。
3.2 评价方法
为了评价分离语音的清晰度,选用客观短时目标可懂度[28](Short-Time Objective Intelligibility,STOI)。STOI指原始纯净语音与分离后语音的相关性,代表语音的可懂度,得分范围在0~1,得分越高,表示分离语音效果越好,可懂度越高。信噪比(SNR)是常用的性能衡量标准之一。信噪比越大,表示分离后语音中噪声越小,语音效果越好。
除了STOI和SNR外,分离后的语音质量可以由相似系数r评价。系数r度量分离的语音信号与原始纯净的语音信号之间的相似度,其定义公式为:
其中,N表示时间帧数,s(n)表示纯净的语音信号,(n)表示分离后的语音信号。当s(n)=(n)时,r=1,即r越接近于1,分离后语音信号与原始纯净语音信号越相近,算法性能越优。
3.3 实验结果
用MATLAB对本文算法进行实验,实验声音文件均为wav格式。纯净语音和混合语音信号的语谱以及分离语音的语谱如图4所示。
图4选用混入噪声为Factory、SNR为5dB的一个语音。从图中可以看出,经DNN算法分离后的语谱图上还有明显的杂音,与图4(a)纯净语音的语谱图有较大差别,而DNN-SS算法分离后的语谱图杂音明显变少,而且与图4(a)纯净語音的语谱图较为相似。实验表明,本文算法在分离性能上有较好的表现,目标语音分离地更准确,分离语音失真更小。
表1给出了3种噪声干扰下的混合信号经DNN分离和DNN-SS分离后的语音信号的STOI值,从表中可以看出,混入SNR为-5dB、-2dB、0dB时,DNN-SS算法的每个STOI值都明显提高,而在混入SNR为2dB、5dB时,噪声类型为驱逐舰机舱噪声,DNN-SS算法STOI值略低于DNN算法的STOI结果,说明混入的噪声类型对实验结果有一定影响。而且在混入信噪比大于等于0dB时,分离语音的STOI值明显比混入信噪比为负数时高很多,表明混入不同比例的信噪比对于STOI有一定影响,混入信噪比数越大,语音分离的可懂度越高,整体而言,本文DNN-SS算法能有效提高语音质量可懂度,且混合语音质量越差,DNN-SS算法越有优势。
在不同测试环境下,信噪比性能趋势相似。与DNN系统相比,DNN-SS算法表现更好。表2给出了输入信噪比为-5dB、-2dB、0dB、2dB、5dB时对应的工厂车间噪声、粉红噪声和驱逐舰机舱噪声混合信号后SNR结果。由表2可见,混合不同噪声后分离语音的SNR基本都得到了提高,表明对每一个时频单元进行噪声能量估计,可以有效去除噪声干扰,提高分离语音信噪比。
表3是加入工厂 车间噪声、粉红噪声和驱逐舰机舱噪声后的混合语音在原算法和改进算法下得到的相似系数r的对比。从表3可以看出在混入信噪较高时,分离语音与原始纯净语音相似系数值在逐渐变高。而在低信噪比的情况下,本文算法相似系数r的增益比较高,算法在低 信噪时取得的效果更好。由表3数据可知,不管混入何种SNR和噪声类型,本文算法得到的相 似系数r 都高于原算法得到的相似系数,证明了DNN-SS算法有效性。通过综合分析表明,改进的DNN-SS算法优于DNN算法。
4 结语
本文针对DNN语音分离方法的后期处理,提出了一种DNN与谱减法结合的语音分离方法。在不同测试条件下的试验结果表明,与未加入谱减法的DNN语音分离方法相比,本文DNN-SS算法噪声估计更加准确,能够明显提高分离语音的目标可懂度、信噪比和相似系数,从而达到提高语音分离准确性的目的。实验结果表明,谱减法在DNN中有效,尤其在信噪比低时,语音分离效果的提升更明显。针对现有系统框架,在今后的研究中,将考虑如何在保证语音信号质量的同时,提高分离速度及模型自适应能力。
参考文献:
[1] CHEN X, WANG W, WANG Y, et al. Reverberant speech separation with probabilistic time–frequency masking for B format recordings[J]. Speech Communication, 2015,68(C):41 54.
[2] WANG Y, NARAYANAN A, WANG D L. On training targets for supervised speech separation[J]. IEEE/ACM Transactions on Audio Speech & Language Processing, 2014,22(12):1849 1858.
[3] ABDEL HAMID O, MOHAMED A R, JIANG H, et al. Convolutional neural networks for speech recognition[J]. IEEE/ACM Transactions on Audio Speech & Language Processing, 2014,22(10):1533 1545.
[4] ZHANG X L, WANG D L. A deep ensemble learning method for monaural speechseparation[J]. IEEE/ACM Transactions on Audio Speech & Language Processing, 2016,24(5):967 977.
[5] ZHANG X, WANG D L. Deep learning based binaural speech separation in reverberant environments[J]. IEEE/ACM Transactions on Audio Speech & Language Processing, 2017,25(5):1075 1084.
[6] SIMPSON A J, ROMA G, PLUMBLEY M D. Deep Karaoke:extracting vocals from musical mixtures using a convolutional deep neural network[C]. International Conference on Latent Variable Analysis and Signal Separation. Springer Verlag New York, Inc. 2015:429 436.
[7] WANG Y. Supervised speech separation using deep neural networks[M]. Ohio:Dissertations & Theses Gradworks, 2015.
[8] WILLIAMSON D S, WANG Y, WANG D. Complex ratio masking for monaural speech separation[J]. IEEE/ACM Transactions on Audio Speech & Language Processing, 2016,24(3):483 492.
[9] ZHANG X, WANG D L. Deep learning based binaural speech separation in reverberant environments[J]. IEEE/ACM Transactions on Audio Speech & Language Processing, 2017,25(5):1075 1084.
[10] 劉文举,聂帅,梁山,等.基于深度学习语音分离技术的研究现状与进展[J].自动化学报,2016,42(6):819 833.
[11] WANG Y, WANG D L. Towards scaling up classification based speech separation[J]. IEEE Transactions on Audio Speech & Language Processing, 2013,21(7):1381 1390.
[12] WANG Z Q, WANG D L. Recurrent deep stacking networks for supervised speech separation[C]. IEEE International Conference on Acoustics, Speech and Signal Processing. IEEE, 2017:71 75.
[13] BOLL S. Suppression of acoustic noise in speech using spectral subtraction[J]. IEEE Trans.acoust.speech & Signal Process, 1979,27(2):113 120.
[14] CHEN J, BENESTY J, HUANG Y, et al. New insights into the noise reduction Wiener filter[J]. IEEE Transactions on Audio Speech & Language Processing, 2006,14(4):1218 1234.
[15] UPADHYAY N, JAISWAL R K. Single channel speech enhancement: using Wiener filtering with recursive noise estimation[J]. Procedia Computer Science,2016,84:22 30.
[16] POULARIKAS A D, RAMADAN Z M. Adaptive filtering primer with MATLAB[M]. Florida:CRC Press, 2006.
[17] WIDROW B, GLOVER J R, MCCOOL J M, et al. Adaptive noise cancelling:principles and applications[J]. Proceedings of the IEEE, 2005,63(12):1692 1716.
[18] HENDRIKS R C, HEUSDENS R, JENSEN J. MMSE based noise PSD tracking with low complexity[C]. IEEE International Conference on Acoustics Speech and Signal Processing, 2010.
[19] MOHAMMADIHA N, SMARAGDIS P, LEIJON A. Supervised and unsupervised speech enhancement using nonnegative matrix factorization[J]. IEEE Transactions on Audio Speech & Language Processing, 2013,21(10):2140 2151.
[20] 韓伟,张雄伟,周星宇,等.联合优化深度神经网络和约束维纳滤波的单通道语音增强方法[J].计算机应用研究,2017,34(3):706 709.
[21] XU Y, DU J, DAI L R, et al. An experimental study on speech enhancement based on deep neural networks[J]. IEEE Signal Processing Letters, 2013,21(1):65 68.
[22] NIE S, LIANG S, LI H, et al. Exploiting spectro temporal structures using NMF for DNN based supervised speech separation[C]. IEEE International Conference on Acoustics, Speech and Signal Processing, 2016:469 473.
[23] DARWIN C. Computational auditory scene analysis: principles, algorithms and applications[J]. IEEE Transactions on Neural Networks, 2008,19(1):199.
[24] WANG Y, HAN K, WANG D L. Exploring monaural features for classification based speech segregation[J]. IEEE Transactions on Audio Speech & Language Processing, 2012,21(2):270 279.
[25] DELFARAH M, WANG D L. Features for masking based monaural speech separation in reverberant conditions[J]. IEEE/ACM Transactions on Audio Speech & Language Processing, 2017,25(5):1085 1094.
[26] ROTHAUSER E H, CHAPMAN W D, GUTTMAN N, et al. IEEE recommended practice for speech quality measurements[EB/OL]. https://ieeexplore.ieee.org/servlet/opac?punumber=7405208.
[27] VARGA A, STEENEKEN H J M. Assessment for automatic speech recognition: II. NOISEX 92:a database and an experiment to study the effect of additive noise on speech recognition systems[J]. Speech Communication, 1993,12(3):247 251.
[28] TAAL C H, HENDRIKS R C, HEUSDENS R, et al. An algorithm for intelligibility prediction of time frequency weighted noisy speech[J]. IEEE Transactions on Audio Speech & Language Processing, 2011,19(7):2125 2136.