基于MATLAB的語音信號的基音周期檢測_第1頁
基于MATLAB的語音信號的基音周期檢測_第2頁
基于MATLAB的語音信號的基音周期檢測_第3頁
基于MATLAB的語音信號的基音周期檢測_第4頁
基于MATLAB的語音信號的基音周期檢測_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

基于MATLAB的語音信號的基音周期檢測摘要:MATLAB是一種科學(xué)計算軟件,專門以矩陣的形式處理數(shù)據(jù)。MATLAB將要性能的數(shù)值計算和可視化集成在一起,并提供了大量的內(nèi)置函數(shù),從而被廣泛的應(yīng)用于科學(xué)計算、控制系統(tǒng)和信息處理等領(lǐng)域的分析、仿真和設(shè)計工作。 MATLAB在信號與系統(tǒng)中的應(yīng)用主要包括符號運算和數(shù)值計算仿真分析。由于信號與系統(tǒng)課程的許多內(nèi)容都是基于公式演算,而MATLAB借助符號數(shù)學(xué)工具箱提供的符號運算功能,基本滿足設(shè)計需要。例如:解微分方程、傅里葉正反變換、拉普拉斯正反變換和Z正反變換等。MATLAB在信號與系統(tǒng)中的另一主要應(yīng)用是數(shù)值計算與仿真分析,主要包括函數(shù)波形繪制、函數(shù)運算、沖擊響應(yīng)仿真分析、信號的時域分析、信號的頻譜分析、系統(tǒng)的S域分析和零極點圖繪制等內(nèi)容。本次課程設(shè)計為語音信號的基音周期檢測,采集語音信號,對語音信號進(jìn)行處理,區(qū)分清音濁音,并通過對采樣值進(jìn)行濾波、分幀、求短時自相關(guān)函數(shù),得到濁音的基音周期。關(guān)鍵字:清音、濁音、基音周期、基音檢測、自相關(guān)函數(shù)目錄TOC\t"標(biāo)題1,2,標(biāo)題,1,副標(biāo)題,3"1概述 概述基音周期檢測也稱為基頻檢測(PitchDetection),它的目標(biāo)是找出和聲帶振動頻率完全一致的基音周期變化軌跡曲線,或者是盡量相吻合的軌跡曲線?;糁芷跈z測在語音信號的各個處理領(lǐng)域中,如語音分析與合成、有調(diào)語音的辨意、低速率語音壓縮編碼、說話人識別等都是至關(guān)重要的,它的準(zhǔn)確性及實時性對系統(tǒng)起著非常關(guān)鍵的作用,影響著整個系統(tǒng)的性能。濁音信號的周期稱為基音周期,它是聲帶振動頻率的倒數(shù),基音周期的估計稱為基音檢測?;魴z測是語音處理中的一項重要技術(shù)之一,它在有調(diào)語音的辨意、低速率語音編碼、說話人識別等方面起著非常關(guān)鍵的作用;但在實現(xiàn)過程中,由于聲門激勵波形不是一個完全的周期脈沖串,而且聲道的影響很難去除、基音周期的定位困難、背景噪聲的強(qiáng)烈影響等一系列因素,基音檢測面臨著很大的困難。而自相關(guān)基因檢測算法是一種基于語音時域分析理論的較好的算法。本文在對AMDF、ACF基音檢測算法基本原理進(jìn)行分析的基礎(chǔ)上,對此算法進(jìn)行了深入的探討,針對以往研究中存在的問題加以改進(jìn),給出了一種方便、快捷的檢測方案。綜合考慮了檢測準(zhǔn)確度和檢測速率兩方面的因素,然后通過對一段具體的語音信號進(jìn)行處理,較準(zhǔn)確地得到濁音語音信號的基音周期。2AMDF算法原理及實現(xiàn)語音信號{s(n))的短時平均幅度差函數(shù)(AMDF)定義為:其中,w(m)是窗函數(shù),尺是信號的平均值,因為語音信號的濁音段具有周期性,假設(shè)基音周期為p,則在濁音段,在k=p,2p,3p…將出現(xiàn)谷點,谷點間的距離即為基音周期。 與短時自相關(guān)函數(shù)一樣,對周期性的濁音語音,也呈現(xiàn)與濁音語音周期相一致的周期特性,不過不同的是在周期的各個整數(shù)倍點上具有谷值特性而不是峰值特性,因而通過的計算同樣可以確定基音周期。而對于清音信號,卻沒有這種周期特性。利用的這種特性,可以判定一段語音是濁音還是清音,并估計出濁音語音的基音周期。由于計算函數(shù)只需要加、減和取絕對值運算,運算量較之短時自相關(guān)函數(shù)大大下降。同時,函數(shù)在基音周期點的谷值比自相關(guān)函數(shù)的峰值更加尖銳,因此錯判率相對較小,穩(wěn)健性更高。但是當(dāng)語音信號的幅度快速變化時,函數(shù)的谷值深度會減小,從而影響基音估計的精度。2.1AMDF算法源程序AMDF波形圖如圖2-1所示。y=wavread(C:\DocumentsandSettings\Administrator\桌面\yejianglong'.wav');y1=b(3500:6000);N=320;%選擇的窗長,加N=320的矩形窗A=[];fork=1:320sum=0;form=1:Nsum=sum+abs(y1(m)-y1(m+k-1));%計算自相關(guān)endA(k)=sum;ends=y(3500:10000);figure(1)subplot(211)plot(s)xlabel('樣點')ylabel('幅度')axis([0,2500,-1,1]);subplot(212)plot(A)xlabel('延時k')ylabel('AMDF')axis([0,400,0,200]);圖2-1AMDF波形圖由圖2-1AMDF波形圖可知:平均幅度差函數(shù)在基音周期處表現(xiàn)為谷值,這些谷值之間的間隔的平均值就是所要求得的基音周期。輸入語音幀的平均幅度差函數(shù)的最小值發(fā)生在第l點,其值為O,我們可以設(shè)置一定的門限,得到低于此門限的局部最低點(不包含第1點)。從圖中,我們可以得到谷點的樣本值分別為70、140、210,其間隔平均值為70。因此對應(yīng)的基音頻率為:Fs/(70一1)=Fs/69=37000/69=536,這和采用自相關(guān)法的檢測結(jié)果完全相同。3ACF算法原理及實現(xiàn)3.1用短時平均能量進(jìn)行清/濁音的判斷語音信號{x(n)}的某幀信號的短時平均能量En的定義為:式中,w(n)為窗函數(shù);N為窗長。令h(n)=w2(n),則有由此表明,窗口加權(quán)短時平均能量En相當(dāng)于將“語音平方”信號通過一個單位函數(shù)響應(yīng)為h(n)的線性濾波器的輸出。試驗統(tǒng)計發(fā)現(xiàn),語音濁音段的短時平均能量遠(yuǎn)遠(yuǎn)大于清音段的短時平均能量。因此,短時平均能量En的計算給出了區(qū)分清音段與濁音段的依據(jù),即En(濁)>En(清)。根據(jù)En由高到低的跳變可定出濁音變?yōu)榍逡粽Z音的時刻,En由低向高的跳變可定出清音變?yōu)闈嵋粽Z音的時刻;而只有濁音才有基音周期,清音的基音周期為零。故清濁音判斷是基音檢測的第一步。該算法中窗口選擇漢明窗,其定義為:選擇漢明窗的理由是窗函數(shù)的選取原則為窗函數(shù)截取后的x(n)盡量是中間大兩頭小的光滑函數(shù),沖激響應(yīng)對應(yīng)的濾波器具有低通特性。從漢明窗的構(gòu)成及頻率響應(yīng)特性上看,漢明窗具有這種特性,而矩形窗及漢寧窗則稍遜之。漢明窗雖然主瓣最高(帶寬大),但旁瓣最低(通帶外的衰減大),可以有效地克服泄露現(xiàn)象,具有更好的低通特性。故選擇漢明窗而不選擇別的窗函數(shù),能使短時平均能量En更能反映語音信號的幅度變化。3.2自相關(guān)函數(shù)基音檢測的原理對于離散的數(shù)字語音信號序列x(n),自相關(guān)函數(shù)定義如下:式中,k為信號的延遲點數(shù)。對于隨機(jī)性信號序列或周期性信號序列,自相關(guān)函數(shù)定義為:自相關(guān)函數(shù)具有以下的性質(zhì):如果序列x(n)具有周期Np,則其自相關(guān)函數(shù)也是同周期的周期函數(shù)。即:x(n)=x(n+Np);則:R(k)=R(k+Np)。清音信號沒有周期性,它的自相關(guān)函數(shù)也沒有周期,R(k)會隨著k的增大迅速衰減。濁音信號具有準(zhǔn)周期性,它的自相關(guān)函數(shù)R(k)具有與{x(m)}相同的周期。自相關(guān)法基音檢測正是利用R(k)的這一性質(zhì)對語音信號進(jìn)行基音檢測的。3.3算法實現(xiàn)及相關(guān)程序通過對自相關(guān)基音檢測原理的分析,考慮到檢測準(zhǔn)確度和檢測速率2方面的因素,提出了算法實現(xiàn)方案,并對算法進(jìn)行了Matlab編程實現(xiàn)。算法包含6個功能模塊:帶通濾波、取樣、分幀、短時能量分析、相關(guān)運算、基音檢測??驁D如圖3-1所示。圖3-1基因檢測框圖3.3.1帶通濾波該研究以采樣頻率為8kHz、精度為16比特的wav文件作為聲源,以網(wǎng)絡(luò)錄音機(jī)錄制自己的一段語音。因為語音信號包含非常豐富的諧波分量,基音頻率最低可達(dá)80Hz,最高可達(dá)500Hz,但基音頻率大多數(shù)分布在100~200Hz之間。因此,濁音信號可能含有三四十次諧波分量,而其基波分量往往不是最強(qiáng)的分量。語音信號的第一共振峰通常在300~1000Hz范圍內(nèi),即基音的2~8次諧波成分比基波分量還要強(qiáng)。為了提高檢測的準(zhǔn)確度,算法中引入了一個60~500Hz帶通濾波模塊濾除語音幀的高次諧波分量。該算法中用音效編輯軟件Cooledit提供的功能直接濾波,方便快速,它在保持語音信息的前提下,可以大大減少諧波成分。3.3.2取樣與分幀取樣模塊從以采樣頻率為8kHz的語音信號中截取Length(樣點數(shù))長個樣點值,一般取樣點數(shù)為幀長的整數(shù)倍即可,程序中取了18000個樣點數(shù)進(jìn)行分析。分幀模塊主要完成將取樣模塊中獲得的語音樣值點分為若干個語音幀,算法中分析幀長30ms,即每幀長為240個樣點。然后用短時平均能量判斷出濁音幀,再對濁音幀進(jìn)行自相關(guān)計算,最后進(jìn)行基音周期檢測。3.3.3短時能量分析原始信號及其頻譜波形如圖3-2所示。圖3-2原始信號及其頻譜波形%原始信號[y,fs,nbits]=wavread('C:\DocumentsandSettings\Administrator\桌面\yejianglong.wav');%把語音信號進(jìn)行加載入Matlab仿真軟件平臺中sound(y,fs,nbits);%回放語音信號n=length(y);%求出語音信號的長度Y=fft(y,n);%快速傅里葉變換subplot(2,1,1);plot(y);title('原始信號波形');grid;subplot(2,1,2);plot(abs(Y));title('原始信號頻譜');grid;短時能量的函數(shù)由以下程序?qū)崿F(xiàn),短時能量曲線如圖3-3所示。圖3-3短時能量曲線%經(jīng)濾波后波形N=240y=WAVREAD('C:\DocumentsandSettings\Administrator\桌面\yejianglong.wav'),[118000]);L=length(y)%30秒,每秒8000個點,一共240000個點LL=length(y)/N%一共1000幀%短時能量figure(1)F1=enframe(y,200);eng=sum(F1.^2);plot(eng);xlabel('幀');ylabel('短時平均能量');title('短時能量')%短時平均幅度Mn=sum(abs(Y))/Nfigure(2)F2=enframe(y,200);eng=sum(abs(F2));plot(eng);xlabel('幀');ylabel('短時平均幅度');title('短時平均幅度');短時平均幅度函數(shù)曲線如圖3-4所示。圖3-4短時平均幅度曲線%分幀函數(shù)functionf=enframe(x,win,inc)nx=length(x(:));len=win;if(nargin<3)inc=len;endnf=fix((nx-len+inc)/inc);f=zeros(nf,len);indf=inc*(0:(nf-1)).';inds=(1:len);f(:)=x(indf(:,ones(1,len))+inds(ones(nf,1),:));f=f';3.3.4自相關(guān)函數(shù)分析從圖3-3可以看出En值大的對應(yīng)于濁音段,而En值小的對應(yīng)于清音段。由此可以大致判斷濁音變?yōu)榍逡艋蚯逡糇優(yōu)闈嵋舻臅r刻。濁音段的自相關(guān)函數(shù)由以下程序?qū)崿F(xiàn),得到波形圖如圖3-5所示。%短時自相關(guān)函數(shù)[y,fs,N]=wavread('C:\DocumentsandSettings\Administrator\桌面\yejianglong.wav');F=enframe(y,200);f5=F(:,5);out8=autocorr(f8);subplot(2,1,1);plot(f8);xlabel('樣點');title('濁音幀波形圖');subplot(2,1,2);plot(out8);xlabel('延時');title('濁音幀短時自’);圖3-5濁音段自相關(guān)函數(shù)從圖3-5可以看出,第一個峰值的位置約出現(xiàn)在15的滯后點上。因為濁音語音的自相關(guān)函數(shù)具有一定的周期性,在相隔一定的取樣后,自相關(guān)函數(shù)達(dá)到最大值。濁音語音的周期可用自相關(guān)函數(shù)中的第一個峰值的位置來估算。試驗表明,濾波處理后的信號只含有第一共振峰以下的基波和諧波分量,明顯改善了檢測效果。由此估計出這段濁音的基音頻率是1000/(0.125×15)=533Hz或(1/533)s=1.88ms左右的基音周期。從畫出的圖形中間可以看出,沒有加濾波器的聲音信號處理后共振峰的影響很大。但是加一個60~600Hz的帶通濾波器,利用濾波后的信號進(jìn)行基因估計,這樣可除去大部分共振峰的影響,自相關(guān)函數(shù)和短時平均幅度差函數(shù)具有更尖銳地峰值,有利于判決地準(zhǔn)確性。4總結(jié)與心得體會一周的MATLAB課程設(shè)計就要結(jié)束了,通過這次設(shè)計,我深刻體會到在信號處理方面我的嚴(yán)重不足,MATLAB的應(yīng)用也相當(dāng)生疏。在設(shè)計過程中,很多東西都看不懂,對原理也一塌糊涂。搜的一些材料也沒有發(fā)揮他們的作用。有些公式原理看懂了可程序又不行了,看不出每一步的作用及實現(xiàn)的功能。這種種困難讓我這次課程設(shè)計很郁悶,大學(xué)生活馬上就結(jié)束了,可一次課程設(shè)計就有很多問題沒解決,這讓我很恐懼。設(shè)計中遇到的問題通過老師的講解以及與同學(xué)的交流也解決了一部分,總的來說在這次設(shè)計中我還是學(xué)到了

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論