低信噪比环境下子带能熵比端点检测算法

2020-07-06 07:57沈钰瑞李文钧金伟杰岳克强
计算技术与自动化 2020年2期

沈钰瑞 李文钧 金伟杰 岳克强

摘   要:语音端点检测是将采集到的语音信号从复杂的噪声背景中提取出来,确定每段语音的开始和结束,是后续处理的基础。对于语音端点检测在低信噪比的复杂噪声环境下准确率低的问题,提出了一种多窗谱估计减噪和子带能熵比法结合的语音端点检测算法。该算法通过改进多窗谱谱减法对语音信号进行减噪,在分析了常规谱熵端点检测算法的基础上结合对数能量,以改进的子带能熵比作为阈值进行端点检测。实验表明,该算法在不同环境的低信噪环境下,准确率高,具有较高的鲁棒性。

关键词:端点检测;低信噪比;谱熵法;子带能熵比法;对数能量

中图分类号:TN911.72                                     文献标志码:A

文章编号:1003—6199(2020)02—0109—05

Abstract:The speech endpoint detection is to extract the speech segment from the complex noise background in the collected speech signal,and determine the start and end of each speech,which is the basis of subsequent processing. For the problem that speech endpoint detection has low accuracy under complex noise environment with low SNR,a speech endpoint detection algorithm based on multi-taper spectrum estimation and noise reduction combined with improved energy entropy ratio method is proposed. The algorithm denoises the speech signal by improving the multi-taper spectral subtraction. Based on the analysis of the conventional spectral entropy endpoint detection algorithm combined with the logarithmic energy,the improved subband entropy ratio is used as the threshold for endpoint detection. Experiments show that the algorithm has high accuracy and high robustness under low SNR environment in different environments.

Key words:endpoint detectionlow;low signal to noise ratio;spectral entropy;subband energy entropy ratio;logarithmic energy

在人與人之间的自然语言的通信外,语音信号处理技术在计算机智能与人机交互中的作用越来越重要。而具备高准确率且鲁棒性好的端点检测算法对于语音信号处理尤为重要。在语音信号处理中,如果语音信号输入信噪比很高,那么只需要通过信号的短时能量就能区分语音段和噪声背景[1],但在低信噪比下单纯通过短时能量进行端点检测效果很差。除此,传统算法还有相关法[2]、谱距离法[3]、小波变换[4]等应用于端点检测。近些年有研究学者还提出了多种端点检测算法,如TEO语音端点检测[5],基于Teager能量算子和经验模态分解的语音端点检测[6],基于小波能量熵的语音端点检测[7],还有将短时频谱峰值融合短时能量和过零率进行自适应逐级分段计算的端点检测算法[8]。当前针对低信噪比的端点检测,如何有效提高复杂噪声环境下的信噪比,更准确的语音端点检测技术仍是语音信号处理的重要研究课题。基于此,提出一种多窗谱估计减噪和子带能熵比法结合的语音端点检测算法,基于对数能量和短时能熵比在幅值上的巨大差异,以此作为阈值对语音信号进行端点检测,取得了较高的准确性。

1   改进的多窗谱估计的谱减法

1.1   多窗谱估计的谱减法

基本谱减法中仅用了一个数据窗对噪声谱进行估计,会存在一定的误差。多窗谱法减噪通过对语音信号同一数据序列使用多个正交窗分别求直接谱,然后对多个直接谱取平均值获取噪声谱值[9]。采用这种估计方式方差值较小,得到的噪声谱值会更加准确,进而可以得到更加准确的端点检测结果。

2.2   改进的多窗谱估计谱减法

对多窗谱功率谱密度估计相邻帧之间进行平滑处理,计算平滑多窗谱功率谱密度估计。

多窗谱估计谱减法中,面对不同噪声环境,这两个参数为固定值。为了提高谱减法降噪后语音信号的信噪比,在张青提出的多窗谱估计改进方法的基础上[10],对过检因子α和增益补偿因子β反复试验,在不同信噪比下提出约束,以适应不同噪声环境。对α和β的取值如下:

最后通过增益因子计算谱减后的幅度谱,IFFT后得到谱减后的语音信号。

2   改进的能熵比法

2.1   基本谱熵法

信息熵表现为能量的随机性,与能量幅值无关,能够很好的区分语音与非语音,并且信息熵对噪声具有一定的鲁棒性,通过信息熵的方法还能减少运算[11]。

在语音信号中,对于含噪信号x(n),加窗分帧处理后得到第i帧信号为xi(m),做快速傅氏变换后得到Xi(k),其中第k条谱线频率分量fk的能量谱为Yi(k) = Xi(k)2。

每个频率分量的归一化谱概率密度函数定义为:

2.2   改进的子带谱熵法

针对谱熵法在低信噪比环境下准确率下降问题,为了提高算法对噪声的抗干扰能力,对子带谱熵法端点提出了以下方面的改进:

1)为了减少短时谱熵在无语音段的起伏,采用中值平滑处理来完成。语音信号输入后,对每个数据点,通过一个滑动窗在其邻域中取中值。中值平滑的优点是既可以有效地去除少量的野点,又不会破坏数据在两个平滑段之间的阶跃变化。

2)根据语音和噪声在频带上的差异,对含噪信号做出约束。基于常规语音信号的频带主要集中在250-3500Hz,设第k条谱线频率为fk,有:

3)谱熵信号具有抗噪性,但每个谱点幅度在低信噪比时容易受噪声干扰。通过子带谱熵的方法能够极大程度降低每帧信号快速傅里叶变换后的谱线值受噪声的影响[12]。

3   对数能量与改进的子带谱熵法相结合的

子带能熵比法端点检测

赵欢等人提出了一种将对数能量和谱熵作为特征的端点检测方法[14],其在噪声环境中表现出了不错的稳健性,在信噪比变低的情况下仍取得较好的实验效果。对语音信号的对数能量以及子带谱熵进行仿真,如图1所示。

从图可发现,语音信号中有话段的对数能量是上凸的,而谱熵值相反。将对数能量除以谱熵作为端点检测两级判决的阈值,可以在处理低信噪比语音信号中拉大语音段和噪声段之间的数值差距,提高端点检测准确率。

双门限法对经典的双门中的短时平均能量进行对数能量计算关系:

对其改进,用新的子带谱熵值代替原有普通谱熵值计算能熵比表示为:

该算法以多窗谱估计谱减法对语音信号进行降噪处理,通过更新的子带能熵比作为阈值,進行两级判决的端点检测算法总体实现的流程框图如下:

4   算法实现及仿真

4.1   算法检测结果

基于传统端点检测算法中,首先从实验室安静环境中录取纯净语音信号。信号采样频率为 8 kHz,采样精度为 16 bit。算法中对语音信号加汉明窗做分帧处理,帧长位20 ms,帧移40%。

为了检测算法在低信噪比环境下的检测性能,将纯语音信号与白噪声叠加,得到信噪比为-5、0、5 dB的带噪信号,对其进行谱减降噪观察信噪比的改变。降噪结果见表1。

从数据看出,-5 dB的语音信号在谱减后信噪比提高到5.38 dB,0 dB的语音信号提高到了9.18 dB,5 dB提高到12.4 dB,改进的多窗谱估计的谱减法在不同信噪比环境下都能显著提高信噪比,这令噪声对后续能熵比检测的干扰程度大大降低。

接下来我们再对不同信噪比的带噪语音进行端点检测的检测,仿真结果以实线在能熵比波形上标注语音信号的采样初始点,以虚线标注结束点。实验结果见图3。

通过端点检测结果并比对原始纯净语音,我们可以发现在-5 dB时第三个语音段出现了微小的音尾缺失,而其他语音段的端点检测效果很好,近乎与纯净语音重合。由此可以确定本文算法在不同信噪比下都能准确地将语音段从背景噪声中提取出来。

4.2   性能比较分析

以算法检测的准确率作为评价算法好坏的标准,通过数值来体现准确率[15]。定义端点检测的准确率:

式中,fnc表示总的帧数,ss表示语音帧被错判为噪声帧的数目,ff表示噪声帧被错判为语音帧的数目。

在实验中,针对传统的双门限算法、普通谱熵法和多窗谱减结合子带能熵比算法对白噪声在不同信噪比环境下进行实验比较。环境信噪比分别为10 db、5 db以及0 db。对随机样本数据进行检测然后取平均值,得到检测正确率结果如表2所示。

当SNR为10 db时,三种算法都表现了很好的准确率。但是随着加入白噪声增加SNR值的下降,传统的双门限算法的准确率急剧下降,而改进算法在复杂噪声环境中仍保持了很高的准确率,且优于谱熵法。因此可以得出,本文提出的多窗谱减谱和子带能熵比联合算法对于不同信噪比的噪声环境适应性很好。

4.3   不同噪声环境下的噪声检测

由于采集设备以及语音背景复杂多样,单纯白噪声的检测不具有普遍性。从Noise-92噪音数据库中选取了几种典型的噪声信号:白噪声,工厂噪声和粉红噪声。实验不同噪声环境下算法准确率见图4。设置信噪比SNR = 0。

图(a)中,对0 dB的粉红噪声带噪语音进行谱减,信噪比提高到了7.84 dB,再通过改进的能熵比端点检测,出现轻微的丢音,但总体准确率较高;图(b)中以相同方法对工厂噪声进行检测,实验结果良好且优于粉红噪声结果。因此基于多窗谱估计结合子带能熵比的端点检测改进算法在不同噪声环境下都有良好的适应性。

5   结   论

当复杂噪声背景下语音信号信噪比降低之后,常规的端点检测算法准确率无法满足实际需求,易出现误判和丢音现象。提出了一种低信噪比环境下端点检测的改进算法,改进了子带谱熵法,并在概率分布式中引入正常数K,提高语音和噪音在波形上的差别,结合对数能量对语音进行端点检测。通过实验表明,该端点检测算法在不同信噪比,不同噪声环境下都保持了较高的检测准确率,抗噪能力强,具有良好的鲁棒性。

参考文献

[1]    JIANG Z,XU Z,WANG F,et al. Double threshold energy detection of cooperative spectrum sensing in cognitive radio[C]// International Conference on Cognitive Radio Oriented Wireless Networks & Communications,2008.

[2]    ZHANG D,YING G. A novel algorithm for CPM-signal endpoint detection based on auto correlation[C]// Sino-foreign-interchange Conference on Intelligent Science & Intelligent Data Engineering,2011.

[3]    DU F,HUANG Q,WEI C,et al. Speech endpoint detection based on improved cepstral mean subtraction[C]// Second International Conference on Intelligent System Design & Engineering Application,2012.

[4]   ZHANG X,ZHAO Z,ZHAO G. A speech endpoint detection method based on wavelet coefficient variance and sub-band amplitude variance[C]// International Conference on Innovative Computing,2006.

[5]    KUMAR J,JENA P. Solution to fault detection during power swing using Teager-Kaiser energy operator[J]. Arabian Journal for Science & Engineering,2017,42(12):5003-5013.

[6]    沈希忠,鄭晓修. 基于Teager能量算子和经验模态分解的语音端点检测算法[J]. 电子与信息学报,2018,v.40(07):93-99.

[7]    李乐,王玉英,李小霞. 一种改进的小波能量熵语音端点检测算法[J]. 计算机工程,2017(05):274-280.

[8]    沈希忠,郑晓修. 基于自适应分段的语音端点融合检测[J]. 应用技术学报,2018,18(03):89-93.

[9]    武鹏鹏,赵刚,邹明. 基于多窗谱估计的改进谱减法[J]. 现代电子技术,2008,31(12):150-152.

[10]  张青,吴进. 基于多窗谱估计的改进维纳滤波语音增强[J]. 计算机应用与软件,2017,34(3):67-70.

[11]  WU B F,WANG K C. Robust endpoint detection algorithm based on the adaptive band-partitioning spectral entropy in adverse environments[J]. IEEE Transactions on Speech & Audio Processing,2005,13(5):762-775.

[12]  WANG J. Notice of retraction an real-time voice activity robust detection based on subband spectrum[C]// Power Engineering & Automation Conference,2011.

[13]  王琳,李成荣. 一种基于自适应谱熵的端点检测改进方法[J]. 计算机仿真,2010,27(12):373-375.

[14]  赵欢,王纲金,赵丽霞. 一种新的对数能量谱熵语音端点检测方法[J]. 湖南大学学报(自然科学版),2010,37(7):72-77.

[15]  GUO Q,NAN L,JI G. A improved dual-threshold speech endpoint detection algorithm[C]// International Conference on Computer & Automation Engineering,2010.