文献标识码: A
DOI:10.16157/j.issn.0258-7998.2016.01.018
中文引用格式: 赵蓉蓉,李鸿燕,曹猛. 基于CASA和谱减法的清音分离改进算法[J].电子技术应用,2016,42(1):68-71.
英文引用格式: Zhao Rongrong,Li Hongyan,Cao Meng. An improved unvoiced speech segregation based on CASA and spectral subtraction[J].Application of Electronic Technique,2016,42(1):68-71.
0 引言
实际环境中,语音信号往往会受到噪声或者其他语音信号的干扰。计算听觉场景分析(Computational Auditory Scene Analysis,CASA)利用计算机模拟人耳对听觉场景进行构建和分析,用于语音分离[1]。经过三十多年的研究,CASA已经在语音信号处理领域取得较大进展[2-3]。
语音可分为清音和浊音两类。浊音具有准周期性和共振峰结构,能量集中在低频段;清音则没有明显的时频域特征,能量较小,容易受到强噪声的干扰。但语音的部分信息储存在清音中,一旦清音受损,语言的可懂度会明显降低。
2008年,Hu Guoning和Wang Deliang首次尝试对清音进行分离[4]。2009年,Hu Ke和Wang Deliang对算法进行了改进,提出了一种结合谱减法的清音分离算法[5]。2011年,在此基础上加入Tandem算法用于浊音分离[6],效果有所改善。但此算法在全部时频区域对清音信号进行估计,而且在估计清音信号的残余噪声时认为一个清音块中的每个时频单元所包含的噪声能量是相同的,即将两个相邻浊音块的噪声能量平均值作为该清音块的噪声能量估计值。但如果干扰噪声是时变信号,清音块中的每个清音单元的噪声能量就会存在差异,上述估计算法就会出现偏差。因此,上述算法存在复杂度高、运算量大、噪声估计不准确的问题。针对此问题,本文提出一种改进的基于CASA和谱减法的清音分离算法。首先对onset/offset线索进行检测,得到可能存在清音的时频块,然后利用相邻时频单元能量具有连续性的原理,对相应时频块中每个时频单元分别进行噪声能量估计,减小运算量,提高算法的有效性。
1 算法结构
基于CASA和谱减法的语音分离算法的系统结构如图1所示。系统主要由听觉外围处理、浊音分离和清音分离三个部分组成,输入为带噪语音,输出为分离目标语音。
1.1 听觉外围处理和浊音分离
听觉外围处理主要模拟人耳听觉特性,将输入的带噪语音信号分解为一系列时频单元[7],这些时频单元作为输入信号分别输入到浊音分离和清音分离部分,进行下一步处理。
在浊音分离前先进行特征提取,提取的特性包括自相关图、包络自相关、主导基音、相邻信道互相关以及相邻信道包络互相关等。浊音分离主要用Tandem算法[8]。该算法利用基音估计和二值模估计两个互相影响的环节,迭代运算进行浊音的分离,提高基音估计和浊音分离性能。
1.2 改进清音分离
原清音分离算法首先通过移除周期信号去除浊音和周期性噪声,再利用分离出来的浊音段估计清音段的背景残余噪声能量,最后用谱减法去除噪声得到目标清音。
本文提出的改进清音分离算法,在原算法的基础上进行了两点改进。第一,在估计噪声能量之前先通过估计onset/offset判别出可能存在清音的时频块;第二,在进行噪声能量估计时利用相邻时频单元能量具有连续性的原理,对清音块中的每个时频单元分别进行噪声能量估计。
1.2.1 onset/offset估计
语音信号的onset/offset(起止时刻)会引起听觉毛细胞的神经冲动,不同声源一般不可能存在相同的起止时刻[9]。onset/offset表现为信号能量的突然变化,也就是能量的极值点。
首先对听觉外围处理的输出进行包络提取,对应得到语音信号的能量,然后将其对时间求导得到能量的极值点,即语音信号的onset/offset。定义E(c,t)为语音信号能量,O(c,t)为语音onset/offset检测值,则O(c,t)计算式为:
通过估计onset/offset得到语音信号出现波动的时频区域,认为清音可能存在于这些区域,再在这些时频区域进行噪声能量的估计。
1.2.2 噪声能量估计
根据语音信号的短时平稳性可知相邻时频单元的能量具有连续性。利用这一原理,改进算法在估计某个时频单元的噪声能量时,用与其相邻的两个时频单元噪声能量的平均值作为其估计值,从而对清音块中每个时频单元分别进行噪声能量估计。
定义NdB(c,m)为清音块中的时频单元u(c,i)的噪声能量估计值,其计算式为:
其中,EdB(c,m-1)和EdB(c,m+1)分别表示与时频单元u(c,m)相邻的前一个和后一个时频单元的能量,y(c,m-1)和y(c,m+1)分别为其二值模。
对于该清音块的第一个时频单元,噪声能量估计的计算式为:
其中,EdB(c,i)表示时频单元u(c,i)的能量,y(c,i)为其二值模,m1是当前清音信号的第一帧的帧数,l1是该清音段之前的浊音段的长度。
对于该清音块的最后一个时频单元,噪声能量估计的计算式为:
其中,m2是当前清音信号的最后一帧的帧数,l2是该清音段之后的浊音段的长度。
与原算法类似[6],如果清音单元位于语音的起始时刻或者结束时刻,则相应地取相邻的后一个浊音块或前一个浊音块中二值模为0的时频单元进行估计。如果与清音块相邻的邻浊音块间不存在二值模为0的时频单元,则往前或者往后推至下一相邻浊音块搜寻,直至至少出现一个满足条件的浊音块。如果信道中都不存在二值模为0的时频单元,则取信道中前5帧混合信号的能量平均值作为噪声能量估计值。
1.2.3 谱减法去除噪声
假设X(c,m)和N(c,m)分别表示时频单元u(c,i)中的混合语音能量和估计噪声能量,则该时频单元的信噪比(dB)为:
可以看出,除了要根据ζ(c,m)的取值正负来进行时频单元混合能量的取舍外,时频单元的信噪比式(5)与谱减法的表达公式一致。所以此处理方法相当于传统的谱减法。对于谱减产生的“音乐噪声”,用Berouti提出的过减法(over-subtraction)来削弱[10],即减去噪声能量估计值的2倍来平衡“音乐噪声”,得到了较好的效果。
2 仿真实验
为了验证提出的改进算法的性能,对其进行仿真实验。实验采用10段纯净语音和10种不同类型的非语音噪声混合,组成一个100段混合语音的测试库。实验采用的10段纯净语音信号选自TIMIT语音库。该10段纯净语音包括5段女声、5段男声,语音信号的采样频率均为16 kHz。此外,实验采用的10种不同类型的非语音噪声是从俄亥俄州立大学的计算机信息和感知科学实验室Guoning Hu搜集的100个非语音噪声(100 Nonspeech sounds)中抽取得到。
为了直观地评价系统的性能,用纯净女声语音“Pizzerias are convenient for a quick lunch.”与警车鸣笛声混合得到带噪语音信号,将这个混合信号作为输入进行仿真实验。图2表示纯净语音和混合信号的时域波形和对应的语谱图以及改进算法得到的最终分离结果。
从图中可以看出分离的清音的二值模集中在高频段,这也验证了清音能量集中在高频区域这一理论。分离得到的浊音二值模和清音二值模结合,使目标二值模更加完整,也使分离得到的语音失真更小,分离语音的时域波形与纯净语音的时域波形更加一致。
3 性能评估
为定量评价改进算法的有效性,信噪比(Signal to Noise Ratio,SNR)是常用的性能衡量标准之一。其定义公式为:
表1给出了不同噪声类型的混合语音的输入信噪比、原算法的输出信噪比以及改进算法的输出信噪比。可以看出,本文提出的改进算法分离语音的信噪比增益在原算法的基础上有了进一步提高,改进算法得到的分离语音SNR平均比混合语音SNR高14.10 dB,比原算法分离语音SNR提高0.66 dB。尽管改进算法得到的信噪比增益较原算法提高较少,但由于主要提高部分在清音,所以语音的完整度和可懂度还是会有所提高。分析结果表明,改进算法能够更有效地去除噪声干扰,提高分离语音的信噪比。
除了信噪比增益外,相似系数e也是语音质量性能评价的有效标准之一。相似系数用来度量分离语音信号和原始的纯净语音信号的近似程度,定义式为:
表2是不同噪声类型的混合语音在原算法和改进算法下得出的相似系数e。由表2数据可知,改进算法得到的相似系数e比原算法得到的相似系数更接近于1,说明了改进算法更有效准确的清音分离。但改进算法的分离语音与原始纯净语音仍然存在差异,这是噪声估计不准确导致清音损失所致。通过综合分析表明,改进算法分离语音更接近于原始纯净语音,语音分离的效果更加显著。
4 结论
本文提出的基于听觉场景分析和谱减法的清音分离改进算法,在清音分离前先通过onset/offset估计找出可能存在清音的时频区域,再在这些区域进行清音分离,而不用在所有时频区域进行清音分离,从而大大减少了算法的运算量,提高了算法的效率。在进行清音噪声能量估计时利用相邻时频单元能量具有连续性的原理,对清音块中的每个时频单元分别进行噪声能量估计。这一改进充分考虑了噪声的不稳定性和时变性,使噪声估计更加精确,从而提高了清音分离的准确性。仿真实验结果和分析表明,相比于原算法,改进算法更好地实现了语音的分离,得到的信噪比更高,分离语音与目标语音的相似度更高。
参考文献
[1] BROWN G J,COOKE M.Computational auditory scene analysis[J].Computer Speech & Language,1994,8(4):297-336.
[2] HU K,WANG D L.An unsupervised approach to cochannel speech separation[J].IEEE Transactions on Audio,Speech and Language Processing,2013,21(1):120-129.
[3] JIANG Y,WANG D L,LIU R S,et al.Binaural classification for reverberant speech segregation using deep neural networks[J].IEEE Transactions on Audio,Speech and Language Processing,2014,22(12):2112-2121.
[4] HU G N,WANG D L.Segregation of unvoiced speech from nonspeech interference[J].Journal of the Acoustical Society of America,2008,124(2):1306-1319.
[5] HU K,WANG D L.Incorporating spectral subtraction and noise type for unvoiced speech segregation[C].Proceedings of IEEE International Conference on Acoustics,Speech,and Signal Processing,2009:4425-4428.
[6] HU K,WANG D L.Unvoiced speech segregation from nonspeech interference via CASA and spectral subtraction[J].IEEE Transactions on Audio,Speech and Language Processing,2011,19(6):1600-1609.
[7] 屈俊玲,李鸿燕.基于计算听觉场景分析的混合语音信号分离算法研究[J].计算机应用研究,2014,31(12):3822-3824.
[8] HU G N,WANG D L.A tandem algorithm for pitch estimation and voiced speech segregation[J].IEEE Transactions on Audio,Speech and Language Processing,2010,18(8):2067-2079.
[9] HU K,WANG D L.Auditory segmentation based on onset and offset analysis[J].IEEE Transactions on Audio,Speech and Language Processing,2007,15(2):396-405.
[10] BEROUTI M,SCHWARTZ R,MAKHOUL J.Enhancement of speech corrupted by acoustic noise[C].Proceedings of IEEE International Conference on Acoustics,Speech,and Signal Processing.Washington:IEEE,1979:208-211.