陈泽伟,曾庆宁,谢先明,龙超
桂林电子科技大学信息与通信学院,广西桂林541004
基于自相关函数的语音端点检测方法
陈泽伟,曾庆宁,谢先明,龙超
桂林电子科技大学信息与通信学院,广西桂林541004
CNKI网络出版:2017-03-13,http://kns.cnki.net/kcms/detail/11.2127.TP.20170313.1638.006.html
语音端点检测是指在一段语音中确定出语音信号的起始点和结束点,这在语音信号处理中是非常重要的一步,广泛应用于语音定位、识别、增强、去噪等方面。准确的语音端点检测不但可以缩短语音系统的处理时间,而且也排除了噪声段可能引起的干扰,此外准确的语音端点检测还会影响语音识别等后期的处理[1]。目前端点检测方法仍是基于传统的几种,大体上可以分为两类[2-3],一类是基于模式识别的方法,但该方法复杂度高、运算量大,实时性不强。另一类是基于阈值的方法,该方法由提取语音和噪声不同特征来设定阈值从而检测出语音和噪声,该方法原理简单、运算量小因而使用广泛。目前虽然有多种语音端点检测方法如短时平均能量法[4]、短时平均过零率法[5]、自相关法、方差法、LPC系数法以及LPC预测误差法[6-7]等,但作为最基本的检测方法,基于短时能量和短时过零率的双门限法[8-10]仍有很大的研究空间和研究价值。短时过零率的检测方法比较简单,然而在较低信噪比的情况下准确度受到很大的影响。
本文首先对语音和噪声的相关函数的特性进行研究,定义自相关函数主峰的最大值与次大值的比值,然后将该比值与传统的能量-过零率双门限端点检测中的过零率进行对比分析。最后改进并利用自相关函数主峰最大值与次大值的比值进行端点检测,并与利用能量-过零率的双门限法[11]在不同信噪比下进行实验。结果表明,本文方法能较好地检测出语音端点,并优于能量-过零率的双门限法。
由于自相关与互相关的特性相似,本文只考察一段噪声的自相关函数,归一化后如图1,仅在中间处有一个明显的峰值,数值为1。
图1 噪声帧自相关函数
将此自相关函数最大值处(方框)放大如图2,可以看到,除最大值1外,次大值幅度在0.1至0.15之间,可以近似认为次大值为0.1,即噪声自相关函数的最大值与次大值的比值an≈10,这里an定义为噪声信号主峰的最大值与次大值的比值。
图2 噪声帧自相关函数最大值处细节
一段语音信号的自相关函数归一后波形如图3,不仅有数个明显的波峰,且在主峰有密集的“棍棒”。将主波峰顶点处(方框)放大,从图4可以看出,次大值幅度在0.99至0.995之间,非常接近于最大值1,且信号自相关函数的最大值与次大值的比值as≈1,这里as定义为语音信号主峰的最大值与次大值的比值。an与as均称为自相关函数主峰比值。随机噪声的an≈10而纯净语音的as≈1,前者约为后者的10倍,因此可利用这个特征来区分噪声信号和语音信号。
图3 语音信号帧自相关函数
图4 语音信号帧自相关函数最大值处细节
语音分帧后每帧求自相关,然后计算每帧的主峰比值,最后所有主峰比值归一化。图5为一段语音信号及自相关函数主峰比值波形[12]。观察图5可知,语音的自相关函数主峰比值波形在噪声段的幅度比较高,在语音段的幅度非常低甚至接近于零,且噪声段和语音段的边沿陡峭,变化非常明显。因此只要设置合理的双门限阀值[13]即可利用此特征检测噪声段和语音段的方法是可行的。双门限是指图5中横虚线T1和横实线T2。此图中,当波形数值低于T2便肯定是语音,再从波形数值低于或高于T1来判决起止点。为提高检测的稳定性以及阀值的通用性,减小噪声段毛刺而引起的误判,将自相关函数主峰比值序列通过中值滤波器进行滤波以平滑曲线,减小在噪声段的起伏。中值滤波既平滑了曲线,也不会破坏数据在两个相邻帧之间的阶跃性变化,提高了稳定性。
图5 语音波形及其自相关函数主峰比值图形
在实际中噪声的随机性很强,可能会含有丰富的高频成分,所以自相关函数主峰比值波形在噪声段有时会容易出现起伏而引起检测不精确甚至严重者会引起检测错误,如图5。由于噪声段不稳定,只利用自相关函数主峰比值进行检测并不可靠。改进的方法为利用语音的对数能量的优点[12]来提高检测的稳定性和准确度。
在传统的语音端点检测中的经典方法如双门限法,它的提出是基于短时平均能量和短时平均过零率原理,设语音信号为x()n,加窗分帧后第i帧语音信号为,帧长为N,设第i帧的能量为Eni,则有:
由此得每一帧的对数能量[11]:
式中c为常数,通常取值大于1。引入c能减小En中某一数值与前后数值的差距,所以常数c选择合适的数值对于区分噪声段和语音段有所帮助,取对数则缓和了En剧烈变化的幅值[14]。
图6为语音信号的短时平均能量和对数能量:短时平均能量在噪声段非常平稳甚至接近于0而在语音段则有较高的幅值。此外,对数能量将短时平均能量剧烈变化的值缓和,并且能一定程度上提高和平稳语音段的幅度。
短时平均过零率表示一帧语音信号时域波形中穿过横轴(零电平)的次数,定义为:
图6 一段语音的短时平均能量和对数能量
过零率图形如图7。图7还比较了自相关函数主峰比值和短时过零率,前者的性能远好于后者。无论是在噪声段还是语音段,自相关函数主峰比值都明显比过零率图形要平缓且稳定。
图7 自相关函数主峰比值与短时过零率的比较
相较于图6中能量的波形,在语音段是向上的,而图7的自相关函数主峰比值和短时过零率在语音段的幅度是向下的。这说明:在语音段能量的数值较大而过零率数值较小。如果将能量值除以过零率值[10],即能-零比法,可以进一步降低噪声段的幅度和提高语音段的幅度,从而可以进一步拉大噪声段和语音段的差异,更容易区分出语音端点。同时,对于噪声段和语音段的区分边界前者也明显好于后者,尤其是在于噪声段,自相关函数的性能非常好。因此,相较于能量除以过零率,将对数能量除以自相关函数主峰比值将取得更好效果,结果对比如图8。
从图8第一小图可以看出,不但噪声和语音边界更加陡峭,而且提升了语音段的幅度,因此更容易准确检测出语音段的起止位置,同时也减小了语音低能量处误判为噪声段的可能。
综上,将基于自相关函数主峰比值的端点检测方法总结如下:
(1)对语音数据进行分帧,求每一帧自相关函数的主峰比值以及对数能量,并分别归一化。
(2)将相关函数主峰比值除以对数能量,并利用计算结果的前端无话段计算均值mean。
(3)求门限阈值T1=α⋅mean,T2=β⋅mean,且α<β。这里的阈值系数α,β为经过大量实验得到的经验值。如图9(d)中,为了便于观察而有意将虚线T1,实线T2放大。理想情况为T1恰好大于噪声的最大值。
(4)依实际情况而定,当波形数值高于T2便肯定是语音,再从波形数值高于或低于T1来判决起止点。
图8 对数能量除以自相关函数主峰比值与对数能量除以过零率的图形比较
实验中所用语音样本是在相对空旷安静的天台环境下采集,录音设备为M-AUDIO公司的M-TRACK EIGHT语音采集器,采样频率8 kHz和16 bit采样精度。语音采用矩形窗分帧,帧长N=200,帧移inc=80。实验平台为Matlab,本文进行三组实验对比。
第一组为词语的检测,内容是“蓝天、白云”。为便于考察不同信噪比时的检测有效性,先在纯语音进行端点的检测。图9为纯净语音下传统的能-零比双门限法和本文方法进行端点检测的结果。便于对比,图9(a)、(b)为能-零比法,图9(c)、(d)为本文方法。需要说明的是:图(b)是对数能量除以过零率,图(d)是对数能量除以自相关函数主峰比值。这里的判决依据为图(b)、(d)的波形高于预设门限值即可判定是语音段,否则为噪声段。图9中竖实线为检测出的语音的起始位置,竖虚线为语音的结束位置。
图9 纯净语音下能零比法及本文方法端点检测
图10~12为在不同信噪比下的检测结果。图10可以看出,在信噪比较高时,能-零比法和本文方法都能非常准确地检测出语音端点。当信噪比降低至5 dB时,图11(b)中主要的语音段虽然也检测出来,但第一段的尾音已丢失。
图10 信噪比为20 dB时端点检测
由图12(a)可以看出,当信噪比降至0 dB时语音已完全被噪声淹没,同上面的实验一样,在未改变检测门限阈值的情况下,观察图12(b),此时能-零比法已经完全失效,而本文方法图12(d)仍有着良好的检测效果。
第二组为单字的检测,内容为“海、桂”。由于单字时较容易设定门限阈值,因此无论是能-零比法还是本文方法,在不同信噪比下都准确地检测出了语音部分。检测结果如图13~15。
图11 信噪比为5 dB时端点检测
图12 信噪比为0 dB时端点检测
图13 信噪比为20 dB时端点检测
图14 信噪比为5 dB时端点检测
第三组为句子的检测,内容有两小段:“明天会更好—北京欢迎你”。信噪比为20 dB时,由图16可知两种方法都能准确地检测出语音段。
当信噪比降至5 dB时,如图17,能-零比值法在句子多处都出现了间断,但都能较好地检测出了语音部分。在人说话时候由于字与字之间换气长短不一的原因,部分字间隔的语音能量非常小甚至等同于外界的噪声,此部分与噪声的值均低于检测阀值,所以会丢失部分间隔。当信噪比为0 dB时,两种检测方法都出现了间断,但是从图18可知,能-零比值法的检测结果已完全失效,而本文方法的结果仍优于能-零比法,说明本文的方法抗噪能力强,在不同信噪比下检测效果更好。
通过以上实验不难发现,由于过零率对噪声变化过于敏感,所以波动较大,使得能-零比法容易引起误判而导致检测的正确性降低。语音段和噪声段的自相关函数区别比较明显,因而它们的波形差异较大。对于随机性的噪声,自相关函数主峰比值的波形在语音段的性能明显比过零率在语音段的性能要好。同时,相较于过零率,自相关函数主峰比值还能提升语音段的幅度,降低并平滑噪声段的幅度,使得噪声段的毛刺小得多。因此,即使降低了信噪比,和传统的基于过零率的双门限法相比,本文的端点检测方法所拟定的门限阀值具有更大的浮动空间,自然相应地提高了检测的可靠性。现实中环境的噪声比较复杂,目前的端点检测方法都很难同时适应各种噪声,在实验过程中也对多种噪声如F16、volvo、babble等进行了对比,结论是:在较高信噪声比时本文方法检测效果多数时候能明显好于能量-过零率方法。然而随着信噪比的下降,两种方法的检测结果都有所下降,但实验中本文方法大多仍能优于能量-过零率双门限法,尤其是在词语及句子方面。因此,基于自相关函数主峰比值的检测方法有着更强的适应性。
图15 信噪比为0 dB时端点检测
图16 信噪比为20 dB时端点检测
图17 信噪比为5 dB时端点检测
图18 信噪比为0 dB时端点检测
[1] 鲁远耀,周妮,肖珂,等.强噪声环境下改进的语音端点检测算法[J].计算机应用,2014,34(5):1386-1390.
[2] He Suning,Yu Juebang.A novel Chinese continuous speech endpoint detection method based on time domain features of the word structure[C]//IEEE International Conference on Communication Circuits and Systems and West Sino Expositions,2002,2:992-996.
[3] Estevez P A,Becerra-Yoma N,Boric N,et al.Genetic programming-based boice activity detection[J].Electronics Letters,2003,41(20):1141-1143.
[4] 陆东钰,周萍.基于双门限算法的语音端点检测和声韵母分离研究[J].桂林电子科技大学学报,2011(6):480-484.
[5] 朱明明,吴小培,罗雅琴.基于子带能量的语音端点检测算法的研究[J].工业控制计算机,2013,26(9):44-46.
[6] Qi Y Y,Hunt B R.Voiced-unvoiced-silence classification of speech using hybrid features and a network classifier[J].IEEE Transactions on Speech and Audio Processing,1993,1(2):250-255.
[7] Kia S J,Coghill G G.A mapping neural network and its application to voiced-unvoiced-silence classification[C]//Proceedings of International Conference on Artificial Neural Networks Expert Systems,1992:104-108.
[8] 孙一鸣.基于改进双门限法的语音端点检测研究[J].长春理工大学学报:自然科学版,2016,39(1):91-94.
[9] 路青起.基于双门限两级判决的语音端点检测方法[J].电子科技,2012,25(1):13-15.
[10] 尹洪兵,秦斌,张凡,等.一种基于能量-过零率比的端点检测方法[C]//全国第17届计算机科学与技术应用(CACIS)学术会议论文集(上册),太原,2006:459-463.
[11] 孙战飞,储飞黄,王江.一种自适应语音端点检测算法[J].计算机工程与应用,2014,50(1):206-210.
[12] 邢亚从.几种语音端点检测方法简介[J].福建电脑,2011,27(11):67-68.
[13] 宋知用.Matlab在语音信号分析与合成中的应用[M].北京:北京航空航天大学出版社,2013.
[14] 李嘉安娜.噪声环境下的语音端点检测方法研究[D].广州:华南理工大学,2015.
CHEN Zewei,ZENG Qingning,XIE Xianming,et al.Speech endpoint detection method based on auto correlation function.Computer Engineering andApplications,2018,54(6):216-221.
CHEN Zewei,ZENG Qingning,XIE Xianming,LONG Chao
School of Information and Communication,Guilin University of Electronic Technology,Guilin,Guangxi 541004,China
The process of speech signal recognition and de-noising is usually used only for speech signal segments,and in some situations,different approaches are need to be adopted to deal with speech segment and noise segment.Correlation function is used to describe the associate degree of the signal value at different times.Due to the randomness of noise,there is a great difference between the correlation function of noise and the correlation function of speech,which can be employed to the endpoint detection of speech.Based on this idea,a method is presented in this paper which uses autocorrelation function.The comparison is also made with the classical method of speech endpoint detection which is the double-threshold decision method based on the short-time average energy and short-time average zero-crossing rate.Experimental results show that the presented methods has higher accuracy,and can achieve better results than the shorttime average energy and short-time average zero-crossing rate in low SNR.
endpoint detection;auto-correlation function;zero-crossing rate;double-threshold
在语音信号的识别、去噪等过程中通常只需对有声段进行处理,并且对语音段和噪声段可能需要采取不同的处理方法。相关函数描述的是随机信号在不同时刻取值的关联程度,由于噪声的随机性,噪声的相关函数和语音的相关函数有很大的不同,利用此不同点可以进行语音的端点检测。基于此提出了自相关函数的语音端点检测方法,并对比了经典的双门限法——基于短时平均能量和短时平均过零率的双门限判决法。实验表明该方法具有较高的准确性,并且在较低信噪比下能取得比短时平均能量和短时平均过零率的判决法更好的效果。
端点检测;自相关函数;过零率;双门限法
2016-10-08
2016-12-01
1002-8331(2018)06-0216-06
A
TP301.6
10.3778/j.issn.1002-8331.1610-0028
国家自然科学基金(No.61461011);“认知无线电与信息处理”教育部重点实验室2016年主任基金(No.CRKL160107);广西自然科学基金(No.2014GXNSFBA118273)。
陈泽伟(1988—),男,硕士研究生,研究领域为语音信号处理,E-mail:czw012@126.com;曾庆宁(1963—),男,博士,教授,研究领域为语音信号处理、图像信号处理、阵列信号处理;谢先明(1979—),博士,副教授,研究领域为雷达干涉成像;龙超(1966—),女,高级实验师,研究领域为机器人听觉。