基于MATLAB的語音處理_第1頁
基于MATLAB的語音處理_第2頁
基于MATLAB的語音處理_第3頁
基于MATLAB的語音處理_第4頁
基于MATLAB的語音處理_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于 MATLAB的語音濾波實驗實驗?zāi)康模? 在 Matlab 環(huán)境下對語音的頻譜進行處理(數(shù)字濾波)并試聽效果;2 在 Matlab 環(huán)境下對語音的抽樣率進行處理(語音壓縮)并試聽效果 實驗步驟:一、音頻文件的壓縮(抽?。?。1 利用 windows 附件中的錄音機功能錄制 810 秒的 .wav 語音文件, 并以 lei 為文件名保存到 Matlab/work 的文件 夾中。a. 打開 開始/程序/附件/娛樂/錄音機 ;b. 用 windows media player 播放一首音樂并用 MIC 對著耳機錄音或自已說話錄音(按鍵),到 10 秒時停止按 鍵);c. 將錄制的文件加存為 C:

2、/Matlab/work 中,文件名為 leii.wav2 打開 Matlab 并新建一 .m 文件;3 在.m 文件中用 y=wavread( lei.wav ') 命令讀入語音文件。4 語音壓縮:在 m命令窗中輸入如下命令:5 運行 sample2.m 之后會在 work 文件夾中生成一個名為 lei2 的 .wav 文件,如下圖:6 雙擊 lei2 音頻文件,用耳機試聽效果,并跟 lei1 的效果比較。7 在 sample2.m 文件中改變抽取倍率 s ( 必須為正整數(shù) ),重復(fù) 4、 5、 6 步,觀察在不同抽取倍率 s 下的音頻質(zhì)量, (注意: 在運行 sample2.m 之

3、前必須將 work 中名為 lei2 的.wav 音頻文件刪除, 或在 .m 文件中 wavwrite() 中的 保存文件名改為其它的名字。 )二、音頻信號的時域濾波(音頻數(shù)據(jù)的時域卷積) 。(一)、低通濾波1 打開 Matlab 并新建一 .m 文件,在 .m 文件中用 y=wavread( lei.wav ') 命令讀入語音文件。2 在 m命令窗中輸入如下命令,并加存為sample3.m ,運行該 m文件。3 雙擊 lei3 音頻文件,用耳機試聽效果,并跟 lei1 的效果比較。4 再加一級 h(n) 的低通濾波,重復(fù) 2、 3 步,如下圖:(注意:在運行 lei2.m 之前必須將

4、 work 中名為 lei3 的 .wav 音頻文件刪除,或在 .m 文件中 wavwrite() 中的保 存文件名改為其它的名字。 )5 重復(fù) 2、3、4 步,觀察在不同階數(shù)的低通濾波下的音頻質(zhì)量。(二)、高通濾波打開 Matlab 并新建一 .m 文件,在 .m 文件中用 y=wavread( lei.wav ') 命令讀入語音文件。 在 m命令窗中輸入如下命令,并加存為sample .m,運行該 m文件。6 雙擊 lei4 音頻文件,用耳機試聽效果,并跟 lei1 的效果比較。7 再加一級 h(n) 的低通濾波,重復(fù) 2、 3 步,如下圖:(注意:在運行 lei2.m 之前必須將

5、 work 中名為 lei4 的 .wav 音頻文件刪除,或在 .m 文件中 wavwrite() 中的保 存文件名改為其它的名字。 )再加一級高通濾波:三)時域低通濾波時頻域的頻譜變化:打開在第(一)步中創(chuàng)建的 sample3.m 文件,并在原文件中加入以下命令,另存為 sample33.m頻譜如下圖:下圖為 h(n) 為 31 點的三重低通濾波程序和頻譜圖:(四)時域高通濾波時頻域的頻譜變化:打開在第(二)步中創(chuàng)建的 sample4.m 文件,并在原文件中加入以下命令,另存為 sample44.m頻譜如下圖:下圖為 h(n) 為 3 點的三重低通濾波程序和頻譜圖:二、音頻信號的頻域理想濾波

6、處理:1 原音頻信號的抽樣頻率 : fs 22050Hz抽樣間隔 Ts,s s fs2FFT變換的長度為 N即(0 N 1),對應(yīng)數(shù)字角頻率 為(0 (N 1)N2fs而 Ts2 fTsk f s k, 該式即為模擬域頻率 f 跟頻率域(變換)中 k 的關(guān)系NN(一)理想低通濾波:1 0 f f0設(shè)計一截止頻率為 f0的理想低通濾波器則 :H(f ) 0 0 f0 f1 對應(yīng)的數(shù)字頻率域()的系統(tǒng)函數(shù)的頻率特性為: H(k)0 kf 0fsNf0 k N 1 fs 00按下圖所示輸入 m文件,另存為 lowfilter1.m ,并運行該程序。雙擊 lei 音頻文件,用耳機試聽效果,并跟 lei

7、1 的效果比較。將該 m文件中的 f0=2000 分別改為 1000、 500、300、 200、4000、 . 后, 運行程序試聽效果。在該 m 文件中加入如下命令,重復(fù)第 3步,并觀察 Xw、 w、 w的頻譜。(二)理想高通濾波:設(shè)計一截止頻率為 f0的理想高通濾波器則 :H (f ) 0 0 f f0對應(yīng)的數(shù)字頻率域()的系統(tǒng)函數(shù)的頻率特性為:0kH (k ) 100,并運行該程序。N fsf0Nf f 0sNN f 0fsN fs按下圖所示輸入 m文件,另存為 lowfilter1.m雙擊 lei6 音頻文件,用耳機試聽效果,并跟 lei1 的效果比較。將該 m文件中的 f0=1000

8、 分別改為 800、500、300、200、1500、2000. 后,運行程序試聽效果。在該 m 文件中加入如下命令,重復(fù)第 3步,并觀察 Xw、 w、 w的頻譜。二)理想高通濾波:0 0 f f L設(shè)計一截止頻率為 f0的理想高通濾波器則 :H( f) 1 fL f fL 0 fL f對應(yīng)的數(shù)字頻率域()的系統(tǒng)函數(shù)的頻率特性為:(k)N fs N0 k f L fsNf L k fL f sNk N f L fs NfHfsN f k NfsNfH sN fs f H k N 1按下圖所示輸入 m文件,另存為 lowfilter1.m ,并運行該程序。雙擊 lei 音頻文件,用耳機試聽效果,

9、并跟 lei1 的效果比較。將該 m文件中的 fl 和 fh 分別改 . 后, 運行程序試聽效果。在該 m 文件中加入如下命令,重復(fù)第 3步,并觀察 Xw、 w、 w的頻譜?;?MATLAB的語音加去噪和延時混響實驗實驗說明 :1. 本實驗提供的 beiguo.wav,lei1.wav,music.wav,shao.wav,wang.wav 均為原始語音信號 .2. 本實驗中的 jiazao.m 為語音加噪實驗 ,xiaozao.m 為語音消噪實驗 ,musicadd.m 為語音全成實驗 ,musicfilter.m 為語音濾波實驗 ,dlaymusic.m 為語音混響實驗 .實驗步驟 :1

10、. 將本文件夾中的所有 .m 文件和所有原始語音信號都復(fù)制到 MATLAB的 work 文件夾中。2. 打開 MATLAB程序。一、語音消噪實驗%在%語音中加噪聲 %x1=wavread('lei1.wav');% fs=22050;%fn=1000;%t=1:length(x1); % x2=2*sin(2*pi*fn/fs*t);%x=x1+x2' %讀取原語音信號 ,lei1 中無噪聲 . 原語音信的采樣率為 22050Hz 設(shè)定噪聲的頻率為 1000Hz 設(shè)置噪聲的度度跟原語音信一樣長 , 產(chǎn)生幅度為 2 頻率為 fn 的正弦波作為噪聲將原子核語音信號跟噪聲相加

11、 ,x 為帶有噪聲的語音信號 wavwrite(x,22050,'lei2.wav');% 將帶有噪聲的語音信號轉(zhuǎn)換為聲音 ,lei2 中將有噪聲1) . 在 MATLAB中打開名為 jiazao.m 的程序,運行該程序,將在 work 中產(chǎn)生一個新的語音文件 lei2.wav2) . 通過試聽對比 lei1.wav 和 lei2.wav 語音,看噪聲是否加上。二、語音消噪實驗%消%除%語音中的噪聲 % x1=wavread('lei2.wav');% 讀取原語音信號 ,lei2 中帶有噪聲 .y=filter(hn,1,x); % 將帶有噪聲的語音信號 x 經(jīng)

12、過帶阻濾波器進行濾波 , 以達到消噪目的 . %Bndstop,FIR,Equiripple,Minimum order,Fs=22050,Fpass1=950,Fstop1=980,Fstop2=1020,Fpass2=1050,Apass1=1,Astop=60,Apass2=1 wavwrite(y,22050,'lei3.wav');% 將經(jīng)帶阻濾波消噪后的信號轉(zhuǎn)換為語音 ,lei3 中將不再有噪聲1) .在 MATLAB中打開名為 xiaozao.m 的程序(暫時不運行)2) .在 MATLAB左下角 start 中打開 FDATool界面,按本程序 m文件中注釋的參

13、數(shù)設(shè)計帶阻濾波器, 并通過 File-Export- 填 hn,將設(shè)計的濾波器系數(shù)導(dǎo)到工作空間。3) . 運行該程序,將在 work 中產(chǎn)生另一個新的語音文件 lei3.wav4) . 通過試聽對比 lei2.wav 和 lei3.wav 語音,看噪聲是否消除。三、語音濾波實驗%帶%阻和低通濾波 % x=wavread('shao.wav');% 讀取名為 shao.wav 的原語音信號 y=filter(hns,1,x); % 帶阻濾波 ,濾波器在 FDATool中設(shè)計 ,并導(dǎo)到工空間 , 因本人的中低音太重 , 高音不足 %Hpass,FIR,Equiripple,Minm

14、um order,Fs=22050,Fpass1=100,Fstop1=1500,Fstop2=1600,Fpass2=3000,Apass1=1,Astop=30,Apass=1.yy=filter(hnh,1,y); %高通濾波 ,濾波器在 FDATool中設(shè)計 ,并導(dǎo)到工空間 , 因本人的低音太重 ,高音不足%Hpass,FIR,Equiripple,Minmum order,Fs=22050,Fstop=10,Fpass=4000,Astop=20,Apass=1wavwrite(yy,22050,'shao2.wav');% 將經(jīng)混響后的信轉(zhuǎn)換為語音 ,shao2.w

15、av 的語音中的中低頻分量將有所衰減1) . 在 MATLAB中打開名為 musicfilter.m 的程序 ( 暫時不運行)File-Export- 填 hns 和 hnh,將設(shè)計的濾波器2) 按本程序 m文件中注釋的參數(shù)分別設(shè)計帶阻和高通濾波器,并通過 系數(shù)導(dǎo)到工作空間。3) . 運行該程序,將在 work 中產(chǎn)生另一個新的語音文件 lei4.wav4) . 通過試聽對比 shao.wav 和 shao2.wav 語音,看語音有可不同。%延%時混響 % x=wavread('shao2.wav'); % n=1200; % N=60;%yx1=x;zeros(N*n,1);

16、 % for i=1:N%x2=zeros(i*n,1);x;zeros(N-i)*n,1); % x1=x1+1/(2*i)*x2; % end wavwrite(x1,22050,'shao3.wav'); %四、語音混響實驗讀入原始聲音設(shè)定延遲時間 t=n/fs 秒, 改變該數(shù)據(jù)可改變混響深度 ( 時間間隔 ) 設(shè)定延遲級數(shù)為 N級, 改變該數(shù)據(jù)可改變次數(shù)將 x 通過補零延長到經(jīng) N 級延時后的長度進行 N次延時 , 第一次延時在 x 前補 n 個 0, 后補 (N-1)*n 個 0第 i 次延時在 x前補 i*n 個0,后補(N-i)*n 個0 將經(jīng)延時的信號 x1 跟

17、 x 逐次相加將混響后的數(shù)據(jù)轉(zhuǎn)換為聲音1) . 在 MATLAB中打開名為 dlaymusic.m 的程序2) . 運行該程序,將在 work 中產(chǎn)生另一個新的語音文件 shao3.wav3) . 通過試聽對比 shao.wav 、 shao2.wav 和 shao3.wav 語音,看語音有可不同。4) . 修改本程序中的 n和N,并重復(fù) 2)和 3)的步驟。五、語音合成實驗 %將%兩首語音全成一首 % m1=wavread('beiguo.wav');% 讀取一首語音 m1 m2=wavread('wang.wav'); % 讀取另一首語音 m2 if length(m1)>length(m2) % 比較兩首語音的長度 , 將短的補成跟長的相等 m3=m2;zeros(length(m1)-le

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論