基于ACF的基音检测改进算法
2017-10-12韩芳王学春靳宗信
韩芳+王学春++靳宗信
摘 要: 自相关函数法是基音周期提取中一种简单而有效的检测算法,针对传统的自相关函数法在低信噪比环境下鲁棒性较差的问题,提出一种改进的基音周期提取算法。该算法通过谱减法对语音信号降噪,随后进行端点检测,并提取元音的主体,在自相关函数的基础上进行改进,对元音主体及过渡区间进行基音检测。实验结果表明,该算法具有较高的准确率,与传统自相关检测算法相比,鲁棒性明显提高。
关键词: 基音周期; 自相关函数; 谱减法; 基音检测; 语音处理
中图分类号: TN912.3?34 文献标识码: A 文章编号: 1004?373X(2017)19?0071?04
Improved pitch detection algorithm based on ACF
HAN Fang, WANG Xuechun, JIN Zongxin
(School of Information Engineering, Huanghe Science & Technology College, Zhengzhou 450063, China)
Abstract: Autocorrelation function (ACF) method is a simple and effective detection algorithm in pitch periodic extraction. Aiming at the poor robustness of the traditional ACF method in a low SNR environment, an improved pitch periodic extraction algorithm is proposed. In this algorithm, the spectral subtraction method is used to reduce noise in speech signals, endpoint detection is performed, main vowels are extracted and improved on the basis of the ACF, and pitch detection is performed for main vowels and the transition zone. The experimental results show that the algorithm has a higher accuracy rate, and the robustness is improved significantly in comparison with the traditional autocorrelation detection algorithm.
Keywords: pitch period; autocorrelation function; spectral subtraction; pitch detection; speech processing
0 引 言
基音周期是語音信号处理的一个重要参数,准确可靠地对语音信号进行估计并提取基音周期,是语音信号处理的一个重要环节[1?2]。基音检测广泛地应用于语音分析合成、语音压缩编码、语音识别以及语音分段等方面[3],研究人员们已经提出了许多基音检测算法, 例如自相关函数法(Autocorrelation Function,ACF)[4]、平均幅度差函数法(Average Magnitude Difference Function, AMDF)[5]、小波变换法[6?7]、倒谱法[8]等。理论上,这些算法都可以精确地提取无噪声干扰的语音基音周期。但通常得到的语音信号含有各种各样的背景噪声 ,当信噪比较低时,检测的准确率就不够理想,所以有必要找到一种低信噪比下鲁棒性较好的基音周期检测算法。
自相关函数是适用于低信噪比情况下的一种基音周期提取算法[9?10],利用自相关函数进行基音提取时,过渡区间获得的基音周期估算值往往是实际基音周期值的整数倍或半值,过渡区内提取基音参数时,也常会出现野点,当野点个数较多或幅值较大时,用中值滤波和线性平滑也很难来处理这些问题。文献[11]中提出利用小波变换对语音信号进行预处理,与自相关函数相结合,在一定程度上消除了高频噪声和共振峰的影响,但是在低信噪比情况下效果非常不理想。文献[12]中提出将谱减法和自相关函数法相结合,利用谱减法对语音信号进行消噪,然后再提取基音周期,在一定程度上改善了低信噪比下基音检测的准确率,但是仍然不够理想。
基于以上文献对基音周期检测算法的分析,本文基于音节组成的原理,在自相关函数算法的基础上先提取元音主体的基音周期,然后在元音主体基音周期的基础上向前和向后过渡区间延伸基音的提取,把元音主体的基音周期值作为基准,向两端过渡区间扩展搜索和寻找最接近于元音主体基音的基音周期值,这样可以减少发生基音周期估算值是实际基音周期值的整数倍或半值的现象。为了提高低信噪比下基音检测的准确率,本文将谱减法与提出的改进自相关函数法相结合,首先对带噪语音进行降噪,再将增强后的语音作为基音检测的待处理语音进行加窗分帧处理,并对语音进行端点检测和元音主体检测,通过数字滤波和再次加窗分帧,计算元音主体延伸区间及长度,并对元音主体和过渡区间进行基音检测,最后通过平滑滤波处理。仿真结果表明,该方法在一定程度上减小了基音提取误差,并在不同的信噪比下取得了满意效果。
1 谱减法
在基本谱减法[13]中,假设语音信号为[x(n)],对[x(n)]进行加窗分帧处理,得到第[i]帧语音信号[xi(m)],对每一帧语音信号[xi(m)]进行离散傅里叶变换(Discrete Fourier Transform,DFT)后得到:
[Xi(k)=m=0N-1xi(m)expj2πmkN,k=0,1,2,…,N-1] (1)
式中:[xi(m)]为语音信号[x(n)]加窗分帧后第[i]帧语音信号,每帧帧长为[N。]
然后对[Xi(k)]求出每个分量的幅值和相角,幅值和相角分别为[Xi(k)]和[Xiangle(k)=arctanImXi(k)ReXi(k)],在谱减法中将幅值和相角保存。通过已知的前导无话段时长为IS,对应的帧数为NIS,求出该噪声段平均能量值[D(k)=1NISi=1NISXi(k)2]。谱减算法为:
4.2 实验结果分析
为了验证本文方法的性能,在SNR=5 dB时,用ACF方法、文献[11?12]提出的方法以及本文提出算法对它们的基音检测性能进行对比分析。实验中基音检测性能的好坏用检测的正确率进行衡量。定义基频正确率为:
[检测正确率=正确帧数处理总帧数] (7)
以ACF为基础,人工标记的方法设定参照的基音频率,如果实际计算的基音频率和参照的基音频率值误差在10 Hz之内,则认为检测的帧都是正确的,结果如表1所示。
从图7可以看出,文献[11?12]提出的小波?自相关法和谱减?自相关算法在高信噪比下较ACF方法有了较大提高,但是随着信噪比的增大,基音检测的正确率有了一定的提高,但是在低信噪比下这两种算法均不能很好地提取基音周期,效果不理想,而本文提出的基于ACF的改进算法在相同信噪比下较其他三种算法,其基音检测的正确率有明显的提高,在高信噪比下(SNR=20 dB)准确率达到97%,即使在低信噪比下(SNR=-5 dB)准确率也达到了70%。当信噪为0 dB时,基音检测的正确率也达到了94%,从上述实验分析可知,本文方法在SNR[≥]0 dB时,基音检测都能得到很好的效果,说明本文建议的基音检测算法具有较强的抗噪性。
虽然基音检测算法好坏的指标由检测正确率来判断,但是在实际应用中还要考虑到算法运行的时间问题。图8是自相关方法、小波?自相关方法、谱减?自相关方法和本文算法的运行时间对比图,从图8中可以看出,自相关算法检测用时最短,谱减?自相关方法次之,本文算法运用时间在谱减?自相关方法和小波?自相关方法之间,从实际应用领域的角度来说,本文方法还需要进一步减少运行时间。
5 结 论
本文提出一种改进的自相关函数法,结合谱减法作为预处理对噪声进行降噪,再利用改进的方法进行基音检测。仿真结果表明,该方法在不同的信噪比下能很好地检测出基音周期,在信噪比为0 dB的情况下仍然有很高的检测正确率,对语音信号的基音周期的提取提高了检测精度,也具有很好的鲁棒性。
参考文献
[1] 刘维巍.语音信号基音周期检测算法研究[D].哈尔滨:哈尔滨工程大学,2010.
[2] 李坤,刘加.基于小波变换和线性预测的基音提取[J].计算机工程,2010,36(10):276?278.
[3] 赵静,罗兴国,蔡文涛.噪声环境下语音信号的基音检测[J].电声技术,2007,31(3):54?56.
[4] KRUBSACK D A, NIEDERJOHN R J. An autocorrelation pitch detector and voicing decision with confidence measures developed for noise?corrupted speech [J]. IEEE transactions on signal processing, 1991, 39(2): 319?329.
[5] ROSS M, SHAFFER H, COHEN A, et a1. Average magnitude difference function pitch extractor [J]. IEEE transactions on acoustics speech & signal processing, 1974, 22(5): 353?362.
[6] CAI R, ZHU Y, SHI S. A modified pitch detection method based on wavelet transform [C]// Proceedings of 2010 International Conference on Multimedia & Information Technology. [S.l.]: IEEE, 2010: 246?249.
[7] KADAMBE S, BOUDREAUX?BARTELS G F. Application of the wavelet transform for pitch detection of speech signals [J]. IEEE transactions on information theory, 1992, 38(2): 917?924.
[8] AHMADI S, SPANIAS A S. Cepstrum?based pitch detection using a new statistical V/UV classification algorithm [J]. IEEE transactions on speech & audio processing, 2002, 7(3): 333?338.
[9] 陈小利.含噪语音基音周期检测算法的研究[D].郑州:解放军信息工程大学,2007.
[10] 沈晓东.语音增强技术研究[D].北京:清华大学,2010.
[11] 李鹏飞,张维强,徐晨.基于小波变换和自相关函数的基音频率检测算法[J].现代电子技术,2009,29(32):121?123.
[12] 赵振东,胡喜梅,田景峰.基于谱减法的基音检测算法[J].计算机工程与应用,2008,44(5):197?198.
[13] 肖全宝,徐晨,宋广为.用于语音识别的基于高谱分辨率的谱减法[J].广西师范大学学报,2006,24(4):26?29.
[14] 焦蓓.语音信号的基音检测法研究[D].湘潭:湘潭大学,2013:56?62.