韓芳+王學(xué)春++靳宗信
摘 要: 自相關(guān)函數(shù)法是基音周期提取中一種簡單而有效的檢測算法,針對傳統(tǒng)的自相關(guān)函數(shù)法在低信噪比環(huán)境下魯棒性較差的問題,提出一種改進(jìn)的基音周期提取算法。該算法通過譜減法對語音信號降噪,隨后進(jìn)行端點(diǎn)檢測,并提取元音的主體,在自相關(guān)函數(shù)的基礎(chǔ)上進(jìn)行改進(jìn),對元音主體及過渡區(qū)間進(jìn)行基音檢測。實驗結(jié)果表明,該算法具有較高的準(zhǔn)確率,與傳統(tǒng)自相關(guān)檢測算法相比,魯棒性明顯提高。
關(guān)鍵詞: 基音周期; 自相關(guān)函數(shù); 譜減法; 基音檢測; 語音處理
中圖分類號: TN912.3?34 文獻(xiàn)標(biāo)識碼: 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 引 言
基音周期是語音信號處理的一個重要參數(shù),準(zhǔn)確可靠地對語音信號進(jìn)行估計并提取基音周期,是語音信號處理的一個重要環(huán)節(jié)[1?2]?;魴z測廣泛地應(yīng)用于語音分析合成、語音壓縮編碼、語音識別以及語音分段等方面[3],研究人員們已經(jīng)提出了許多基音檢測算法, 例如自相關(guān)函數(shù)法(Autocorrelation Function,ACF)[4]、平均幅度差函數(shù)法(Average Magnitude Difference Function, AMDF)[5]、小波變換法[6?7]、倒譜法[8]等。理論上,這些算法都可以精確地提取無噪聲干擾的語音基音周期。但通常得到的語音信號含有各種各樣的背景噪聲 ,當(dāng)信噪比較低時,檢測的準(zhǔn)確率就不夠理想,所以有必要找到一種低信噪比下魯棒性較好的基音周期檢測算法。
自相關(guān)函數(shù)是適用于低信噪比情況下的一種基音周期提取算法[9?10],利用自相關(guān)函數(shù)進(jìn)行基音提取時,過渡區(qū)間獲得的基音周期估算值往往是實際基音周期值的整數(shù)倍或半值,過渡區(qū)內(nèi)提取基音參數(shù)時,也常會出現(xiàn)野點(diǎn),當(dāng)野點(diǎn)個數(shù)較多或幅值較大時,用中值濾波和線性平滑也很難來處理這些問題。文獻(xiàn)[11]中提出利用小波變換對語音信號進(jìn)行預(yù)處理,與自相關(guān)函數(shù)相結(jié)合,在一定程度上消除了高頻噪聲和共振峰的影響,但是在低信噪比情況下效果非常不理想。文獻(xiàn)[12]中提出將譜減法和自相關(guān)函數(shù)法相結(jié)合,利用譜減法對語音信號進(jìn)行消噪,然后再提取基音周期,在一定程度上改善了低信噪比下基音檢測的準(zhǔn)確率,但是仍然不夠理想。
基于以上文獻(xiàn)對基音周期檢測算法的分析,本文基于音節(jié)組成的原理,在自相關(guān)函數(shù)算法的基礎(chǔ)上先提取元音主體的基音周期,然后在元音主體基音周期的基礎(chǔ)上向前和向后過渡區(qū)間延伸基音的提取,把元音主體的基音周期值作為基準(zhǔn),向兩端過渡區(qū)間擴(kuò)展搜索和尋找最接近于元音主體基音的基音周期值,這樣可以減少發(fā)生基音周期估算值是實際基音周期值的整數(shù)倍或半值的現(xiàn)象。為了提高低信噪比下基音檢測的準(zhǔn)確率,本文將譜減法與提出的改進(jìn)自相關(guān)函數(shù)法相結(jié)合,首先對帶噪語音進(jìn)行降噪,再將增強(qiáng)后的語音作為基音檢測的待處理語音進(jìn)行加窗分幀處理,并對語音進(jìn)行端點(diǎn)檢測和元音主體檢測,通過數(shù)字濾波和再次加窗分幀,計算元音主體延伸區(qū)間及長度,并對元音主體和過渡區(qū)間進(jìn)行基音檢測,最后通過平滑濾波處理。仿真結(jié)果表明,該方法在一定程度上減小了基音提取誤差,并在不同的信噪比下取得了滿意效果。
1 譜減法
在基本譜減法[13]中,假設(shè)語音信號為[x(n)],對[x(n)]進(jìn)行加窗分幀處理,得到第[i]幀語音信號[xi(m)],對每一幀語音信號[xi(m)]進(jìn)行離散傅里葉變換(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)],在譜減法中將幅值和相角保存。通過已知的前導(dǎo)無話段時長為IS,對應(yīng)的幀數(shù)為NIS,求出該噪聲段平均能量值[D(k)=1NISi=1NISXi(k)2]。譜減算法為:
4.2 實驗結(jié)果分析
為了驗證本文方法的性能,在SNR=5 dB時,用ACF方法、文獻(xiàn)[11?12]提出的方法以及本文提出算法對它們的基音檢測性能進(jìn)行對比分析。實驗中基音檢測性能的好壞用檢測的正確率進(jìn)行衡量。定義基頻正確率為:
[檢測正確率=正確幀數(shù)處理總幀數(shù)] (7)
以ACF為基礎(chǔ),人工標(biāo)記的方法設(shè)定參照的基音頻率,如果實際計算的基音頻率和參照的基音頻率值誤差在10 Hz之內(nèi),則認(rèn)為檢測的幀都是正確的,結(jié)果如表1所示。
從圖7可以看出,文獻(xiàn)[11?12]提出的小波?自相關(guān)法和譜減?自相關(guān)算法在高信噪比下較ACF方法有了較大提高,但是隨著信噪比的增大,基音檢測的正確率有了一定的提高,但是在低信噪比下這兩種算法均不能很好地提取基音周期,效果不理想,而本文提出的基于ACF的改進(jìn)算法在相同信噪比下較其他三種算法,其基音檢測的正確率有明顯的提高,在高信噪比下(SNR=20 dB)準(zhǔn)確率達(dá)到97%,即使在低信噪比下(SNR=-5 dB)準(zhǔn)確率也達(dá)到了70%。當(dāng)信噪為0 dB時,基音檢測的正確率也達(dá)到了94%,從上述實驗分析可知,本文方法在SNR[≥]0 dB時,基音檢測都能得到很好的效果,說明本文建議的基音檢測算法具有較強(qiáng)的抗噪性。
雖然基音檢測算法好壞的指標(biāo)由檢測正確率來判斷,但是在實際應(yīng)用中還要考慮到算法運(yùn)行的時間問題。圖8是自相關(guān)方法、小波?自相關(guān)方法、譜減?自相關(guān)方法和本文算法的運(yùn)行時間對比圖,從圖8中可以看出,自相關(guān)算法檢測用時最短,譜減?自相關(guān)方法次之,本文算法運(yùn)用時間在譜減?自相關(guān)方法和小波?自相關(guān)方法之間,從實際應(yīng)用領(lǐng)域的角度來說,本文方法還需要進(jìn)一步減少運(yùn)行時間。
5 結(jié) 論
本文提出一種改進(jìn)的自相關(guān)函數(shù)法,結(jié)合譜減法作為預(yù)處理對噪聲進(jìn)行降噪,再利用改進(jìn)的方法進(jìn)行基音檢測。仿真結(jié)果表明,該方法在不同的信噪比下能很好地檢測出基音周期,在信噪比為0 dB的情況下仍然有很高的檢測正確率,對語音信號的基音周期的提取提高了檢測精度,也具有很好的魯棒性。
參考文獻(xiàn)
[1] 劉維巍.語音信號基音周期檢測算法研究[D].哈爾濱:哈爾濱工程大學(xué),2010.
[2] 李坤,劉加.基于小波變換和線性預(yù)測的基音提取[J].計算機(jī)工程,2010,36(10):276?278.
[3] 趙靜,羅興國,蔡文濤.噪聲環(huán)境下語音信號的基音檢測[J].電聲技術(shù),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].鄭州:解放軍信息工程大學(xué),2007.
[10] 沈曉東.語音增強(qiáng)技術(shù)研究[D].北京:清華大學(xué),2010.
[11] 李鵬飛,張維強(qiáng),徐晨.基于小波變換和自相關(guān)函數(shù)的基音頻率檢測算法[J].現(xiàn)代電子技術(shù),2009,29(32):121?123.
[12] 趙振東,胡喜梅,田景峰.基于譜減法的基音檢測算法[J].計算機(jī)工程與應(yīng)用,2008,44(5):197?198.
[13] 肖全寶,徐晨,宋廣為.用于語音識別的基于高譜分辨率的譜減法[J].廣西師范大學(xué)學(xué)報,2006,24(4):26?29.
[14] 焦蓓.語音信號的基音檢測法研究[D].湘潭:湘潭大學(xué),2013:56?62.