蔡 萍
(閩江學(xué)院 物理學(xué)與電子信息工程系,福建 福州 350108)
基于短時平均幅度差函數(shù)的帶噪語音端點檢測算法
蔡 萍
(閩江學(xué)院 物理學(xué)與電子信息工程系,福建 福州 350108)
傳統(tǒng)的基于自相關(guān)函數(shù)的端點檢測算法有兩個方面的問題,一是計算量大,二是要進(jìn)行語音信號基音周期的提取.提出了一種改進(jìn)的方法,用短時平均幅度差函數(shù)代替自相關(guān)函數(shù),節(jié)約了計算量;利用濁音與噪聲平均幅度差函數(shù)的區(qū)別省去了基音周期的計算,同時也避免了誤差帶來的問題.傳統(tǒng)算法與改進(jìn)算法的仿真比較表明,改進(jìn)算法的檢測曲線噪聲容限大,所以在低信噪比下也表現(xiàn)出了較強(qiáng)的穩(wěn)定性.
端點檢測;自相關(guān)函數(shù);短時平均幅度差函數(shù);基音周期
語音端點檢測是在復(fù)雜的應(yīng)用環(huán)境下,在信號流中找出語音信號的起始點和結(jié)束點,它是數(shù)字語音處理的重要環(huán)節(jié)[1].在通信系統(tǒng)中,一半以上的時間傳輸?shù)氖庆o默和背景噪聲,所以如何開發(fā)被浪費的信道資源就成了大家關(guān)注的焦點.端點檢測主要有以下方法——基于短時能量和短時過零率、基于頻帶方差、基于信息熵、基于倒譜特征、基于基音檢測和自相關(guān)函數(shù)等,但現(xiàn)有的語音端點檢測技術(shù)仍然存在起始音的丟失或虛檢等不足[2].
序列自相關(guān)函數(shù)的性質(zhì):
(1)若此序列是周期的,設(shè)周期為Np,則R(k)=R(k+Np);
(2)R(k)=R(-k);
(3)R(0)≥|R(k)|;
(4)R(0)等于確定性信號序列的能量或隨機(jī)序列的平均功率.
由性質(zhì)(1)和(3)可知濁音的自相關(guān)函數(shù)周期性出現(xiàn)峰值點且周期為基音周期.
短時自相關(guān)函數(shù)定義為
(1)
公式(1)也可改寫為
(2)
由于乘法運算所需的時間較長,故自相關(guān)函數(shù)的運算量很大[4].簡化計算自相關(guān)函數(shù)的方法有多種,如快速傅里葉變換等,但都無法避免乘法運算.為了避免乘法運算,一個簡單的方法就是利用差值,為此常常采用另一種與自相關(guān)函數(shù)有類似作用的參量,即AMDF.
AMDF只需加減法和取絕對值的運算,與自相關(guān)函數(shù)的相加與相乘運算相比,運算量減少很多,尤其在硬件實現(xiàn)語音信號分析時很有好處.AMDF能夠代替自相關(guān)函數(shù)的原理是如果信號是完全的周期信號(設(shè)周期為Np),則相距為周期的整數(shù)倍的樣點上的幅值相等,差值為0:
d(n)=x(n)-x(n-k)=0.
根據(jù)AMDF的定義,其計算式可由式(2)改進(jìn)為
(3)
對于周期性的x(n),F(xiàn)n(k)也呈周期性,與Rn(k)相反的是在Rn(k)為峰值時,對應(yīng)的Fn(k)是谷點,如圖1和圖2所示.
圖1 一幀濁音信號的短時自相關(guān)函數(shù)Fig.1 ACF of one frame of voiced sound signal
圖2 一幀濁音信號的短時平均幅度差函數(shù)Fig.2 AMDF of one frame of voiced sound signal
傳統(tǒng)的基于短時自相關(guān)函數(shù)或AMDF的端點檢測算法往往結(jié)合基音周期進(jìn)行[5].一般的方法是通過同態(tài)處理得到基音周期的值,然后判斷在基音周期的整數(shù)倍上是否出現(xiàn)短時平均幅度差函數(shù)的谷點.這種方法會產(chǎn)生以下幾個問題:一是基音周期的選取要十分準(zhǔn)確,否則谷點并不出現(xiàn)在整數(shù)倍上而是在這些值附近;二是計算倒譜的過程十分復(fù)雜,計算量相當(dāng)大[6];三是只有濁音信號的AMDF才具有周期性的谷值,清音信號不具有這種特點,而嚴(yán)格地確定清音信號的起點又需要耗費大量的工作.針對以上問題,提出了一種改進(jìn)的快速算法,步驟如下:
(1)將原始語音信號以固定語音幀長度及固定語音幀幀移,轉(zhuǎn)成語音幀,然后用公式(3)計算每一語音幀的Fn(k).
(2)找出Fn(k)的所有谷點,通過計算y(i)=sgn[Fn(i+1)-Fn(i)]-sgn[Fn(i)-Fn(i-1)],找到所有令y(i)=2的點i構(gòu)成的矢量v(n),sgn(x)是符號函數(shù),只有在谷底處才滿足y(i)=2.
(3)根據(jù)寬帶噪聲幅度分布的隨機(jī)性可知,噪聲信號的AMDF也具有隨機(jī)性.計算v(n)的長度L,它標(biāo)志著該幀信號出現(xiàn)谷點的個數(shù).設(shè)置一個門限L0,當(dāng)L>L0時判斷為噪聲幀,當(dāng)L (4)一般來說,濁音總是出現(xiàn)在清音之后.當(dāng)出現(xiàn)噪聲幀到濁音幀的轉(zhuǎn)變時,將該濁音幀的前兩幀設(shè)定為清音幀.過程中也可能出現(xiàn)元音,此時濁音幀之前無清音幀.為了簡單起見,這點開銷是允許的. 仿真在Matlab操作環(huán)境下進(jìn)行.純凈語音的采樣頻率是8 kHz,寬帶噪聲采用白噪聲.首先以0 dB的信噪比將純凈語音與白噪聲混合,再以-5 dB的信噪比將純凈語音與白噪聲混合,分別用傳統(tǒng)的基于短時平均幅度差函數(shù)的方法和改進(jìn)的算法進(jìn)行仿真,仿真結(jié)果如圖3和圖4所示,圖中純凈語音信號和帶噪語音信號均進(jìn)行了幅度歸一化處理. 圖3 信噪比為0 dB時的端點檢測結(jié)果Fig.3 Detection results in case of SNR 0 dB 圖4 信噪比為-5 dB時的端點檢測結(jié)果Fig.4 Detection results in case of SNR -5 dB 當(dāng)信噪比為0 dB時,即噪聲與語音的平均功率相同時,短時平均幅度差函數(shù)曲線顯示語音幀與噪聲幀的差幅明顯,此時判決門限可取50~70 V,對誤差的容限較大.當(dāng)信噪比為-5 dB時,語音信號已完全湮沒于噪聲信號里,但檢測曲線仍然較清晰,語音幀與噪聲幀的差幅仍較明顯,判決門限可取55~65 V,此時仍允許一定的誤差. 仿真結(jié)果顯示,不論是在0 dB還是-5 dB的噪聲環(huán)境下,改進(jìn)的算法檢測的準(zhǔn)確度都要比傳統(tǒng)算法高,特別是在清音部分.在-5 dB的信噪比條件下,傳統(tǒng)算法出現(xiàn)了明顯的不穩(wěn)定性,而改進(jìn)的算法基本沒有太大影響,說明后者的抗噪聲能力高于前者.此外,改進(jìn)的算法不依賴基音周期的確切值,避免了基音周期的計算,再加上用幅度差代替了自相關(guān)計算,計算量大大減少. 傳統(tǒng)的基于自相關(guān)函數(shù)或AMDF的端點檢測算法要進(jìn)行基音周期的計算或提取,運算量大且準(zhǔn)確度的要求高.改進(jìn)的算法利用噪聲信號與語音信號的不同特性,通過計算AMDF的谷點數(shù),有效地區(qū)分了噪音幀與濁音幀,簡化了計算過程且準(zhǔn)確率較高.另外,采用在噪音幀轉(zhuǎn)化為濁音幀時將前兩幀設(shè)定為清音幀的做法,解決了大部分輔音和元音結(jié)合的清音檢測.雖然對少量的元音而言會造成一定的開銷,但與復(fù)雜度高的算法相比也是值得的,仿真結(jié)果也表明改進(jìn)后的算法在低信噪比時仍可保持較好的穩(wěn)定性. [1] Siegel L J,Bessey A C.Voiced/unvoiced/mixed excitation classification of speech[J].IEEE Transaction on Acoustics,Speech,Signal Processing,1982,30(3):451-460. [2] 胡立波.帶噪語音端點檢測算法的研究[D].南京:南京信息工程大學(xué),2009:1-3. [3] 席大林,李如瑋,陳海龍.基于自相關(guān)最大值和過門限率的語音端點檢測[J].語音技術(shù),2010,34(4):53-57. [4] 劉淑華,胡強(qiáng),覃團(tuán)發(fā),等.基于自相關(guān)函數(shù)最大值的語音端點檢測方法[J].語音技術(shù),2006,23(12):47-50. [5] Mrtin A,Mauuary L.Voicing parameter and energy based speech /non-speech detection for speech recognition in adverse conditions [C]∥Proceedings of Euro-Speech 03.Geneva:[s.n.],2003:3069-3072. [6] 董胡.一種改進(jìn)的基于倒譜距離端點檢測方法研究[J].計算機(jī)與數(shù)字工程,2013,41(7):1078-1080. Analgorithmofend-pointdetectionofspeechwithnoisebasedonshort-timeaveragemagnitudedifferencefunction CAI Ping (DepartmentofPhysics&ElectronicInformationEngineering,MinjiangUniversity,Fuzhou350108,China) Traditional end-point detection algorithms based on auto-correlation function have two major problems. One is large computational efforts, the other is the extraction of pitch period. Put forward an advanced method, which uses short-time average magnitude difference function to replace auto-correlation function and reduces computational amount. Meanwhile, by means of the difference of AMDF of voiced sound and noise, calculation of pitch period is avoided, so is the related problems provoked by inaccurate estimation of pitch period. By simulating and comparison of traditional method and advanced method, it is found that noise margin of detecting curve of the latter is bigger, so it shows high stability even in the low SNR(signal to noise ratio) environment. end-point detection; auto-correlation function; short-time average magnitude difference function; pitch period 2014-03-12 閩江學(xué)院科技育苗項目(YKY12002) 蔡萍(1981-),女,福建寧德人,講師,主要從事語音信號處理方面的研究. TP301.6 A 1674-330X(2014)03-0026-044 仿真結(jié)果與分析
5 結(jié)束語