韓芳,鄭晶晶
(黃河科技學(xué)院 信息工程學(xué)院,河南 鄭州 450063)
基于LPC的共振峰檢測改進(jìn)算法
韓芳,鄭晶晶
(黃河科技學(xué)院 信息工程學(xué)院,河南 鄭州 450063)
語音共振峰檢測是語音處理中的一個(gè)重要組成部分,為了更好的對語音信號的共振峰進(jìn)行提取,采用LPC方法,通過對LPC算法的參數(shù)調(diào)整,分割語音信號并計(jì)算出總幀數(shù),通過改進(jìn)的LPC計(jì)算出每幀的共振峰值和整個(gè)語音的共振峰軌跡。利用MATLAB進(jìn)行實(shí)驗(yàn)仿真,結(jié)果表明改進(jìn)的LPC法在對連續(xù)語音共振峰檢測時(shí)減少了誤差,而且在信噪比小于15 dB時(shí)仍能提取出共振峰。
信號模型;倒譜法;LPC;共振峰;魯棒性
共振峰是語音信號最重要的特征參數(shù)之一,是指人在發(fā)聲時(shí)氣流通過聲道引起聲道振動(dòng)而產(chǎn)生的一組共振頻率。共振峰參數(shù)有共振峰頻率和頻帶的寬度,語音頻譜的包絡(luò)中包含了共振峰的信息,譜包絡(luò)中的極大值就是共振峰,由于共振峰受到虛假峰值、共振峰合并、高音調(diào)語音的影響,要精確的對共振峰估計(jì)是件比較困難的事情[1-4]。
目前,常用的共振峰提取方法有倒譜法[5-6]和線性預(yù)測分析(LPC)法[7-10]。前者認(rèn)為在頻域以功率譜形式出現(xiàn)的極大值點(diǎn)也就是共振峰的頻率,在功率譜中檢測出現(xiàn)的極大值點(diǎn)所對應(yīng)的頻率即可[5];后者認(rèn)為用LPC對信號進(jìn)行解卷積,得到聲道響應(yīng)的全極點(diǎn)模型,并通過Newton-Raphson方法確定系統(tǒng)模型,取得共振峰中心頻率。文獻(xiàn)[11]提出的LPC法主要有兩個(gè)途徑一個(gè)是LPC求根法,一個(gè)是LPC內(nèi)插法,求根法只適用于所有根都為共軛復(fù)根的情況,由于收斂速度慢,難以快速準(zhǔn)確的找到根;文獻(xiàn)[12-13]提出了倒譜法檢測共振峰,利用倒譜濾波器將聲道的倒譜進(jìn)行分離,并對其做相應(yīng)的反變換,得到聲道函數(shù)的對數(shù)譜,進(jìn)而得到共振峰,此方法會受到合并共振峰和偽峰的影響,檢測結(jié)果不精確。以上提到的倒譜法和LPC法檢測共振峰主要都是對一幀語音進(jìn)行分析,實(shí)際用它們對連續(xù)語音檢測的時(shí)候還會有不少問題,為了解決虛假峰值、共振峰的合并和高音調(diào)語音的影響不少研究人員做了很多的工作,但是還沒有特別成熟的方法,文中通過對LPC求根法改進(jìn),提出一種基于LPC的連續(xù)語音共振峰檢測算法,并從魯棒性驗(yàn)證該算法的有效性。
線性預(yù)測分析就是將信號看作某一個(gè)模型的輸出,可以用模型參數(shù)來描述信號[14-15]。圖1中u(n)表示模型的輸入,x(n)表示模型的輸出。當(dāng) x(n)為確定性信號時(shí)模型的輸入u(n)可采用單位沖激序列;當(dāng)x(n)為隨機(jī)性信號時(shí) u(n)可采用白噪聲序列。
圖1 信號x(n)的模型化表示
模型的傳遞函數(shù)H(z)可以寫成有理分式的形式:
式中,系數(shù)ak、bk及增益因子G就是模型的參數(shù);而p和q是選定模型的階數(shù)。
根據(jù)式(1),可得模型輸入與輸出之間的時(shí)域關(guān)系為:
式(4)是線性常系數(shù)差分方程。它表示模型的輸出是模型過去的輸入以及當(dāng)前的輸入和過去輸出的線性組合。這可以得出,當(dāng)模型的參數(shù)設(shè)計(jì)好以后就能用模型的輸入和過去的信號值來估算當(dāng)前的信號值。
1)全極點(diǎn)模型。 在式(1)中,如果當(dāng) b1,b2,…,bq全為零,即:
2)全零點(diǎn)模型。 在式(1)中,如果 a1,a2,…,ap全為零,那么公式(1)和公式(4)為:
H(z)為移動(dòng)平均模型(MA 模型)。
3)既有極點(diǎn)又有零點(diǎn)的模型。在式(1)中,若a1,a2,…ap,b1,b2,…,bq不全為零,則 H(z)為自回歸-移動(dòng)平均模型(ARMA模型)。
用線性預(yù)測分析估計(jì)共振峰的方法有兩種:1)對全極模型公式H(z)的分母進(jìn)行因式分解,找到復(fù)根,得到共振峰。2)峰值檢測法[16]。下面按照峰值檢測法對共振峰進(jìn)行分析。
假設(shè)一幀語音信號x(n)可有式(5)的差分方程式表示,相應(yīng)的聲道傳遞函數(shù)H(z)可用式 H(z)=表示。 以 z-1=exp(-jωT)h或z-1=exp(-j2πf/fs)代入式取功率譜模值,用 P(f)表示利用FFT方法可對任意頻率求得它的功率譜幅度響應(yīng),并從幅值響應(yīng)中找到共振峰的信息。
設(shè)設(shè)任意復(fù)根 zi=riejθi, 那么共軛值 z*i=rie-jθi
也是它的根。設(shè)與zi對應(yīng)的共振峰頻率為Fi,3 dB帶寬為Bi,則 Fi和 Bi與 zi如下表示:2πTFi=θie-BiπT=ri,T 表示采樣周期,于是:Fi=θi/(2πT) Bi=-lnri/πT。
在LPC求根法的基礎(chǔ)上適當(dāng)調(diào)整判斷共振峰的條件,對整個(gè)語音信號進(jìn)行處理,然后通過多次計(jì)算,每次計(jì)算時(shí)將語音信號分割成不同的幀數(shù),然后利用LPC求根法計(jì)算出共振峰,最后進(jìn)行平均,給出平均后的共振峰值。求共振峰的具體步驟如下:
1)求出語音信號的總幀數(shù),采樣頻率及LPC階數(shù);
2)根據(jù)幀數(shù)計(jì)算出幀長;
3)讀取每一幀的數(shù)據(jù);
4)根據(jù)LPC求根法計(jì)算出3個(gè)共振峰的值;
5)判斷是否是最后一幀,如果是最后一幀則輸出共振峰的值,如果不是最后一幀則從第3)步開始執(zhí)行。
改進(jìn)的LPC算法詳細(xì)流程圖如圖2所示。
圖2 算法流程圖
在MATLAB下對算法性能進(jìn)行仿真實(shí)驗(yàn)。實(shí)驗(yàn)語音源選取1組連續(xù)元音 “a-i-u”,此純凈語音是在安靜的實(shí)驗(yàn)室環(huán)境下錄制完成。采樣頻率為8 000 Hz,16比特量化編碼,語音為wav格式,采用漢明窗進(jìn)行分幀,取幀長200點(diǎn),幀移80點(diǎn)。通過MATLAB2009對連續(xù)語音用簡單LPC法進(jìn)行仿真,LPC法檢測的結(jié)果圖如圖3,由圖看出共振峰頻率分布較為分散,該共振峰估計(jì)算法準(zhǔn)確度不夠,本文提出的LPC改進(jìn)檢測算法的結(jié)果如圖4,從該算法的語譜圖中看出共振峰頻率分布相對于簡單LPC法更為集中,共振峰的穩(wěn)定性高于LPC法,通過語譜圖反應(yīng)的結(jié)果初步得出結(jié)論:LPC改進(jìn)算法共振峰估計(jì)準(zhǔn)確性高于簡單的LPC法。連續(xù)語音“a-i-u”實(shí)驗(yàn)得出的共振峰頻率值如表1~表3所示,在此,以表2為例:第一個(gè)共振峰頻率值LPC求根法誤差11 Hz,改進(jìn)的LPC法誤差6 Hz,第二個(gè)共振峰頻率值LPC求根法誤差236 Hz,改進(jìn)的LPC法誤差181 Hz,第三個(gè)共振峰頻率值LPC法誤差高達(dá)170 Hz,改進(jìn)的LPC法誤差92 Hz,結(jié)合以上數(shù)據(jù):各個(gè)對應(yīng)的共振峰頻率LPC法的誤差都高于改進(jìn)的LPC法。
圖3 LPC求根法
圖4 改進(jìn)的LPC法
表1 元音a的實(shí)驗(yàn)結(jié)果對比
表2 元音i的實(shí)驗(yàn)結(jié)果對比
表3 元音u的實(shí)驗(yàn)結(jié)果對比
為了驗(yàn)證所提方法的魯棒性,對選取的連續(xù)語音“a-i-u”作進(jìn)一步分析,對該連續(xù)語音分別加入信噪比為10dB,15dB,30dB間隔不斷遞增的噪聲,經(jīng)過實(shí)驗(yàn)仿真,對比本文提出改進(jìn)的LPC方法與簡單LPC求根法比較它們檢測共振峰估計(jì)算法的準(zhǔn)確性。
圖5~圖6為不同信噪比下語音仿真結(jié)果圖。從仿真圖中,可以比較清晰的看出:隨著信噪比的增大,語譜圖中的白色曲線變得更有規(guī)律性,分布更加穩(wěn)定,當(dāng)信噪比為10 dB時(shí),語譜圖中的白色曲線分布曲折凌亂,也很難識別具體的共振峰,當(dāng)信噪比達(dá)到15 dB以上時(shí),白色曲線的分布規(guī)律趨于穩(wěn)定,共振峰的峰值分布也清晰可辨。表4~表6為不同信噪比下元音的共振峰估計(jì)結(jié)果。以表4為例在表中數(shù)據(jù)可以看出,當(dāng)信噪比大于15 dB時(shí),3個(gè)共振峰的估計(jì)誤差分別為22 Hz、100 Hz、273 Hz,當(dāng)信噪比小于 10 dB 時(shí),噪聲頻率基本淹沒測試語音頻譜,峰值無法辨別。改進(jìn)的LPC法在信噪比10 dB以上有較好的魯棒性。
圖5 本文改進(jìn)的算法(SNR=10 dB)
圖6 本文改進(jìn)的算法(SNR=15 dB)
表4 不同信噪比下元音a的共振峰估計(jì)結(jié)果(Hz)
表5 不同信噪比下元音i的共振峰估計(jì)結(jié)果(Hz)
表6 不同信噪比下元音u的共振峰估計(jì)結(jié)果(Hz)
文中針對簡單的LPC共振峰檢測算法存在的不足,提出了改進(jìn)的LPC法實(shí)現(xiàn)對連續(xù)語音進(jìn)行檢測,經(jīng)過加噪處理檢測算法魯棒性可知,在相對合理的信噪比下,改進(jìn)的LPC法有較好的魯棒性,一旦信噪比超出合理區(qū)間,該結(jié)果將不再具有現(xiàn)實(shí)意義。最終的仿真結(jié)果證明在連續(xù)語音共振峰檢測的過程中,改進(jìn)的LPC算法是一種相對比較優(yōu)的估計(jì)算法,但是就目前研究技術(shù)與水平所限,并不能很好的檢測連續(xù)語音,存在的些許不足需待以后進(jìn)一步改進(jìn)和完善。
[1]王坤赤,蔣華.一種基于語音頻譜的基頻和共振峰提取算法[J].信息技術(shù),2007,20(10):20-22.
[2]楊丹,姜占才,余鎣良,等.語音信號共振峰提取方法的研究分析[J].科技信息,2012(4):161-162.
[3]趙濤濤.語音信號共振峰提取算法的研究 [D].蘭州:西北師范大學(xué),2014:4-8.
[4]趙濤濤,楊鴻武.結(jié)合EMD和加權(quán)Mel倒譜的語音共振峰提取算法[J].計(jì)算機(jī)工程與應(yīng)用,2015,51(9):207-212.
[5]David Gerhard.Pitch Extraction and Fundamental Frequency:History and Current Techniques[J].Technical Report TR-CS 2003,6(11):1-22.
[6]趙毅,尹雪飛,陳克安.一種新的基于倒譜的共振峰頻率檢測算法[J].應(yīng)用聲學(xué),2010,29(6):416-424.
[7]何峰,陳曉清,李國鎖,等.一種新的語音信號共振峰提取算法[J].信號處理,2007,23(4):618-621.
[8]Lutz Welling,Hermann Ney.Formant estimation for speech recognition [J].IEEE Transactionson Speech and Audio Processing,1998,6(1):36-48.[9]Stephanie S.Mccandless.An algorithm for automatic formant extraction using linear prediction spectra[J].IEEE Transactions on Acoustics,Speech and Processing.1974,22(2):135-141.
[10]Codello I,Kuniszyk-Jozkowiak W.Formant paths tracking using linear prediction based methods[J].Annales UMCS Informatica AI,2010,10(2):7-12.
[11]郁伯康,郁梅.LPC方法提取語音信號共振峰的分析[J].電聲技術(shù),2003,3(1):3-8.
[12]趙力.語音信號處理[M].北京:機(jī)械工業(yè)出版社,200:61-65.
[13]王曉亞.倒譜在語音基音和共振峰提取中的應(yīng)用[J].無線電工程,2004,34(1):57-61.
[14]羅艷芬.語音信號數(shù)字處理中語音編解碼算法的研究[M].南昌:南昌大學(xué),2005.
[15]宋瑞,詹舒波.語音情緒識別中的共振峰特征分析[J].中國科技論文在線,2014.
[16]楊鴻武,趙濤濤.一種基于加權(quán)Mel倒譜的語音信號共振峰提取算法 [J].西北師范大學(xué)學(xué)報(bào),2014,50(1):53-57.
Improved resonance peak detection alogrithm based on LPC
HAN Fang,ZHENG Jing-jing
(The School of Information Engineering,HUANGHE S&T COLLEGE,Zhengzhou 450063,China)
Formants extraction from speech signal is an important part of speech processing,in order to extract the formants of speech signal,By using LPC method and adjusting parameters of the LPC method,dividing the speech signal and calculating the total number of frames,the formants of each frame and the entire speech signal is calculated by improved LPC.Large numbers of simulation experiments in MATLAB show that the improved LPC can reduce errors of the continuous speech formant detection,when signal-to-noise ratio is less than 15 dB,the improved method still can extract the formants.
signal model;cepstrum;LPC;formant;robustness
TN912.3
A
1674-6236(2017)17-0085-05
2016-07-07稿件編號:201607061
鄭州市科技局科技發(fā)展計(jì)劃項(xiàng)目 (20140663);鄭州市嵌入式系統(tǒng)應(yīng)用技術(shù)重點(diǎn)實(shí)驗(yàn)室建設(shè)項(xiàng)目(121PYFZX177);鄭州市教學(xué)質(zhì)量工程項(xiàng)目(zzlg201608)
韓 芳(1981—),女,河南新鄉(xiāng)人,碩士,副教授。研究方向:信號處理,計(jì)算機(jī)網(wǎng)絡(luò)等。