基于Matlab語音信號的采集與分析_第1頁
基于Matlab語音信號的采集與分析_第2頁
基于Matlab語音信號的采集與分析_第3頁
基于Matlab語音信號的采集與分析_第4頁
基于Matlab語音信號的采集與分析_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、基于MATLAB 的語音信號分析和處理【摘要】:本文通過用三星手機系統(tǒng)自帶錄音機采集了一段語音,wav格式轉換后再Matlab平臺上對其進行了時域分析,頻譜分析,分析語音信號的特性。利用函數對采樣頻率進行控制,比較其波形。通過對兩段鈴聲(分別為男聲、女聲)進行分析初步找出男聲女聲的特點和區(qū)別。應用Matlab平臺對錄制的語音信號加入噪聲,對比加噪前后的語音信號的時域和頻域特性,回放加噪語音信號。 【關鍵詞】: 語音信號 ;頻域特性 ; 時域特性 ; 濾波器目錄一、 背景介紹1.1 語音信號的概述1.2 語音信號處理工具的選擇二、 語音信號的錄制采集和分析2.1 語音信號的采集2.2 語音信號的

2、讀入與打開2.3 取不同采樣頻率得出的波形比較三、 對男聲、女聲語音信號特點的分析3.1女聲(vfemale.wav)男聲(vmale.wav)的時域分析3.2女聲(vfemale.wav)男聲(vmale.wav)的頻域分析四、 加噪聲與濾波處理分析4.1 高斯白噪聲(SNR=30)4.2 單頻正弦噪聲五、 心得與體會一、 背景介紹1.1 語音信號的概述語言是人類創(chuàng)造的,是人類區(qū)別于其他地球生命的本質特征之一。人類用語言交流的過程可以看成是一個復雜的通信過程,為了獲取便于分析和處理的語音信源,必須將在空氣中傳播的聲波轉變?yōu)榘Z音信息并且記載著聲波物理性質的模擬(或數字)電信號,即語音信號,

3、因此語音信號就成為語音的表現形式或載體。1.2 語音信號處理工具的選擇語音信號的進一步處理分析工作選用了Matlab平臺。Matlab是一種科學計算軟件,專門以矩陣的形式處理數據。Matlab將高性能的數值計算和可視化集成在一起,并提供了大量的內置函數,不斷完善Matlab產品以提高產品自身的競爭能力Matlab的數據分析和處理功能十分強大,運用它來進行語音信號的分析、處理和可視化相當便捷。在編程效率、程序可讀性、可移植性和可擴充性上Matlab遠遠優(yōu)于其它的高級編程語言,而且編程易學、直觀,代碼非常符合人們的思維習慣。另外Matlab為用戶提供了豐富的windows圖形界面設計方法,使用戶能

4、夠在利用其強大的數值計算功能的同時可設計出友好的圖形界面,它受到了越來越多的用戶的歡迎。Matlab幾乎可以在各種機型和操作系統(tǒng)上運行,所以在可移植性和可擴充性上,Matlab遠優(yōu)越于其他的高級編程語言。Matlab語言具有強大的數值計算能力和視圖能力,其偏微分方程工具箱提供了有限元求解的一個強大而靈活的環(huán)境,并且有限元網格可做精細劃分以滿足要求。但是,和其他的高級語言相比,Matlab程序的執(zhí)行速度較慢。在目前電腦處理速度不斷提升的情況下,如果實時性要求不是非常高的情況下,使用Matlab開發(fā)就不存在此類問題了。二、 語音信號的錄制采集與分析2.1 語音信號的采集用手機自帶的錄音軟件錄音,錄

5、制時配備電話耳機作為麥克風,在安靜,低噪聲的環(huán)境下錄制。將得到的m4a格式的音頻文件轉換成wav格式,便于在Matlab平臺上處理。本人錄制的是朗讀的是毛澤東的沁園春*長沙。2.2 語音信號的讀入與打開在Matlab中,y,fs,bits=wavread('Blip',N1 N2);用于讀取語音,采樣值放在向量y中,fs表示采樣頻率(Hz),bits表示采樣位數。N1 N2表示讀取的值從N1點到N2點的值。sound(y); 用于對聲音的回放。向量y則就代表了一個信號,也即一個復雜的“函數表達式”,也可以說像處理一個信號的表達式一樣處理這個聲音信號。下面是語音信號在MATLAB

6、中的語言程序,它實現了語音的讀入與打開,并繪出了語音信號的波形頻譜圖。Matlab的M文件:x,fs,bits=wavread('C:UsersDayDesktop02120011.wav');sound(x,fs,bits);X=fft(x);subplot(221);plot(x);title('原始信號波形');subplot(222);plot(X); title('原始信號頻譜');subplot(223);plot(abs(X);title('原始信號幅值');subplot(224);plot(angle(X);ti

7、tle('原始信號相位');程序運行可以聽到自己錄制的聲音,得到的結果如圖2.2.1所示:2.2.1 語音信號的讀入與打開 2.2.2 用Matlab得出fs,bits的值2.3 取不同采樣頻率得出的波形比較在Matlab中,resample函數用于改采樣的頻率,Y=resample(X,P,Q)表示對X取P/Q倍的原始采樣頻率,P,Q,必須為正整數。1) fs=22050hz:(y=resample(x,1,2);)2.3.1 采樣頻率fs=22050hz的波形2) fs=11025hz: (y=resample(x,1,4);)2.3.2 采樣頻率fs=11025hz的波形

8、3) fs=5512.5hz: (y=resample(x,1,8);)2.3.3 采樣頻率fs=5512.5hz的波形4) fs=2756.25hz:(y=resample(x,1,16);)2.3.4 采樣頻率fs=2756.25hz的波形分析:隨著采樣頻率的降低,錄制的聲音音調變得越來越高,語速也將越來越快,fs=22050hz時自己的聲音特別像當紅動畫神偷奶爸里的小黃人的聲音,讓人捧腹。當采樣頻率降到1/4的時候已經聽不出錄制的詩詞了,當采樣頻率降到1/128的時候已經聽不到聲音了。三、 對女聲、男聲語音信號特點的分析選擇男聲的信號文件(vmale.wav)是截取一首歌曲直到世界的盡頭

9、的副歌部分,女聲的信號文件(vfemale.wav)是截取一首歌曲I Will Always Love You的副歌部分,通過時序分析和頻域分析進行比較。3.1 女聲(vfemale.wav)男聲(vmale.wav)的時域分析:3.2 女聲(vfemale.wav)男聲(vmale.wav)的頻域分析:Matlab的M文件:y1,fs1,bits1=wavread('C:UsersDayDesktopvfemale.wav');y2,fs2,bits2=wavread('C:UsersDayDesktopvmale.wav');fs1=44100;fs2=44

10、100;Y1=fft(y1);Y2=fft(y2);df1=fs1/length(Y1);fx1=df1*(0:length(Y1)-1);%將橫軸變成頻率軸df2=fs2/length(Y2-1);fx2=df2*(0:length(Y2)-1);subplot(211);plot(fx1,abs(Y1);axis(0 5000 0 10000);title('女聲語音頻域幅值波形');xlabel('frequency/Hz');subplot(212);plot(fx2,abs(Y2);axis(0 5000 0 10000);title('男聲語

11、音頻域幅值波形'):xlabel('frequency/Hz');分析男聲和女聲的差別,女聲的音調比男生高一些,根據聲音的特點,得知音調由頻率決定,從圖中可以看出,女聲頻率集中在1000Hz,男聲頻率集中在200Hz?;诖颂攸c,可以通過程序初步判斷一段音頻是男聲還是女聲。四、 加噪聲與濾波處理分析4.1 高斯白噪聲(SNR=30)Matlab的M文件:x1,fs,bits=wavread('C:UsersDayDesktop02120011.wav');y1=fft(x1);x2=awgn(x1,30);%sound(x2,fs,bits);y2=ff

12、t(x2+x1);f=0:fs/44100:fs/44100*44099;subplot(221);plot(x1);title('原始語音信號的時域波形');subplot(222);plot(x2);title('加入高斯白噪聲語音信號的時域波形');subplot(223);plot(abs(y1);title('原始語音信號的頻域幅值波形');subplot(224);plot(abs(y2);title('加入白噪聲語音信號的頻域幅值波形');4.2 單頻正弦噪聲Matlab的M文件:x1,fs,bits=wavread

13、('C:UsersDayDesktop02120011.wav');team,row=size(x1);if row=2%判別x1是雙聲道信號嗎,是就通過取兩列信號的平均值來變成單聲道x1=(x1(:,1)+x1(:,2)/2; endy1=fft(x1,44100);N=length(x1)-1;t=0:1/44100:N/44100;d=0.009*sin(6*pi*5000*t)'x2=x1+d;%sound(x2,fs,bits);y2=fft(x2,44100);%f=0:fs/44100:fs/44100*44100;subplot(221);plot(x1

14、);title('原始語音信號的時域波形');subplot(222);plot(x2);title('加入單頻正弦語音信號時域波形');subplot(223);plot(abs(y1);title('原始語音信號的頻域幅值波形');subplot(224);plot(abs(y2);title('加入單頻正弦語音信號頻域幅值波形');五、 心得與體會在分析,采樣,加噪聲的過程中,在對程序的理解和使用上遇到了很多困難,通過Matlab論壇和百度一一查閱理解。遇到最大的困難就是在給語音信號加上單頻正弦噪聲時總是會出現這樣的錯誤:一

15、開始的程序如下:x1,fs,bits=wavread('C:UsersDayDesktop02120011.wav');y1=fft(x1,44100);N=length(x1)-1;t=0:1/44100:N/44100;d=0.009*sin(6*pi*5000*t)'x2=x1+d;%sound(x2,fs,bits);y2=fft(x2,44100);%f=0:fs/44100:fs/44100*44100;subplot(221);plot(x1);title('原始語音信號的時域波形');subplot(222);plot(x2);title('加入單頻正弦語音信號時域波形');subplot(223);plot(abs(y1);title('原始語音信號的頻域幅值波形');subplot(224);plot(abs(y2);title('加入單頻正弦語音信號頻域幅值波形');經過對語音信號的分析和咨詢他人之后,問題為此程序是處理單聲道語音信號的,卻沒有預先判別信號是否為單聲道就直接加噪聲,從而導致x1為2維列向

溫馨提示

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

評論

0/150

提交評論