聲音信號的分析處理_第1頁
聲音信號的分析處理_第2頁
聲音信號的分析處理_第3頁
聲音信號的分析處理_第4頁
聲音信號的分析處理_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《信號與系統(tǒng)》課程設計語音信號的分析和處理學院:通信與信息工程學院班級:2023012030班學生:指導教師:崔琳莉2011年12月19日一、摘要聲音是由物體的振動產(chǎn)生,以聲波的形式在介質中傳播,介質主要可分為固體,液體以及氣體。聲波振動內耳的聽小骨,這些振動被轉化為微小的電子腦波,它就是我們覺察到的聲音。內耳采用的原理與麥克風捕獲聲波或揚聲器的發(fā)音一樣,它是移動的機械局部與氣壓波之間的關系。在國際標準中,人聲的頻率范圍是300Hz~3400Hz,不同的人或樂器產(chǎn)生的聲音頻率不一致,通過對聲音信號的研究能夠更好的處理聲音信號的處理以及傳輸。Matlab作為一款主要面對科學計算、可視化以及交互式程序設計的高科技計算軟件,能夠很好的完成對聲音信號的分析和處理,快速的得出聲音信號的時域圖以及頻域圖。關鍵字:聲音頻率時域圖頻域圖MatlabSoundcomesfromtheshakeofobjectsandspreadsintheformofwavesinmediumconsistsofsolid,liquidandgas.Soundwavesshaketheossiclesintheears,transformedintofinalelectronicbrainwavesandthenwehearthesound.Theprincipletheearworkswhichisthesameastheprinciplethemicrophoneandthespeakerworks,isusingtherelationbetweenmechanicalpartandbarometricwave.InISO,thefrequencydomainisfrom300Hzto3400Hz,differsindifferentpeopleandmusicalinstruments.Thestudyofthesoundsignalhelptobetterdealwiththesignals.Asasoftwaremajorinscientificcalculation,Matlabisvisualandinteractive.Itiscapableofperfectlyfinishingtheanalysisanddisposeofthesoundsignalbysketchingthetimedomainfigureandfrequencydomainfigure.Keywords:sound,frequency,timedomainfigure,frequencydomainfigure,Matlab二、實驗要求通過MATLAB的函數(shù)wavread()可以讀入一個.wav格式的音頻文件,并將該文件保存到指定的數(shù)組中。例如下面的語句〔更詳細的命令介紹可以自己查閱MATLAB的幫助〕中,將.wav讀入后存放到矩陣y中。y=wavread('SpecialEnglish.wav');對于單聲道的音頻文件,y只有一行,即一個向量;對于雙聲道的音頻文件,y有兩行,分別對應了兩個聲道的向量。我們這里僅對一個聲道的音頻進行分析和處理即可。注意:.wav文件的采樣頻率為44.1KHz,采樣后的量化精度是16位,不過我們不用關心其量化精度,因為在MATLAB讀入后,已將其轉換成double型的浮點數(shù)表示。在獲得了對應音頻文件的數(shù)組后,我們可以對其進行一些根本的分析和處理??梢园ǎ簩φZ音信號進行頻域分析,找到語音信號的主要頻譜成分所在的帶寬,驗證為何可以對語音信號采用8KHz的采樣速率。分析男聲和女聲的差異。我們知道男聲和女聲在頻域上是有些差異的,一般大家都會認為女聲有更多高頻的成分,驗證這種差異。同時,提出一種方法,能夠對一段音頻信號是男聲信號、還是女聲信號進行自動的判斷。語音與樂器音頻的差異。比擬語音信號與樂器音頻信號的差異,尤其是在頻域上的差異。.wav文件的采樣速率為44.1KHz,仍然遠遠高于我們通常說的語音信號需要的頻譜寬度,例如在對語音信號的采樣中,我們僅僅使用8KHz的采樣速率。對讀入的音頻數(shù)據(jù)進行不同速率的降采樣,使用wavplay()命令播放降采樣后的序列,驗證是否會對信號的質量產(chǎn)生影響。降采樣的方法很簡單,例如命令y=wavread('SpecialEnglish.wav');將語音文件讀入后保存在向量y中,這時對應的采樣頻率為44.1KHz。使用y1=y(1:2:length(y))命令,就可以將原序列y每隔1個采樣后放入序列y1中,這時y1序列對應的采樣頻率即為22KHz。自己下載獲得一段中文語音信號〔可以使用諸如“千千靜聽〞等工具將.mp3文件轉換成.wav文件〕,對中文語音與英文語音進行比擬。三、實驗內容3.1、對語音信號進行頻域分析,找到語音信號的主要頻譜成分所在的帶寬,驗證為何可以對語音信號采用8KHz的采樣速率。對聲音信號的頻譜圖進行分析,使用Matlab繪制該語音信號的頻譜圖,觀察頻譜圖,讀出聲音信號的頻率范圍,由采樣定理可知,如果需要重建聲音信號,需產(chǎn)生一個周期沖激串,其沖激幅度就是采樣得到的樣本值,將該沖激串通過一個增益為T,截止頻率為,而小于的理想低通濾波器,該低通濾波器的輸出就是。使用Matlab中的快速傅里葉變換(fft),繪制出聲音文件的時域圖和頻域圖,對頻域圖進行分析,觀察可得聲音信號的主要頻率范圍為200Hz~1800Hz,根據(jù)采樣定理可得,采樣頻率應不小于3600Hz,故使用8kHz的采樣頻率能保證聲音無失真采樣及恢復。 程序代碼:[x,fs,bits]=wavread('相聲.wav');%將原聲音信號轉化為字符串%subplot(211);plot(x);%繪制聲音信號的時域圖%title('時域分析圖');subplot(212);y=fft(x,fs);df=fs/length(y);fx=df*(0:length(y)-1);%將橫坐標轉化為頻率值%plot(fx,abs(y));%繪制聲音信號的頻譜圖%axis([080000500]);title('頻域分析圖');3.2、分析男聲和女聲的差異。我們知道男聲和女聲在頻域上是有些差異的,一般大家都會認為女聲有更多高頻的成分,驗證這種差異。同時,提出一種方法,能夠對一段音頻信號是男聲信號、還是女聲信號進行自動的判斷。首先,我們選擇了普通的男生和女生分別演唱同一首歌,用matlab分別繪出兩段聲音信號的頻譜圖,從圖中可以看出,男生的聲音頻率主要分布在200Hz~800Hz,女生的聲音頻率主要分布在300Hz~1800Hz,女生的聲音高頻成分較多。這是因為,聲波是由物體振動產(chǎn)生的機械波,男人聲帶寬而厚,振動頻率低;女人聲帶窄而薄,振動頻率高。而我們平時所感受得男生聲音消沉,女生聲音尖細,那么是由于發(fā)聲時男女聲帶的振動頻率的上下不同,所以男女音調的上下不同。使用Matlab對男聲女聲的聲音信號在不同頻率的分布比例進行分析,運行程序后可得出,在低頻范圍〔150Hz~1000Hz〕內男聲低頻比例n1=9.5343e-006女聲低頻比例n2=8.6394e-006 在高頻范圍〔1000Hz~1800Hz〕內男聲高頻比例m1=7.5965e-006女聲高頻比例m2=8.2355e-006以上的數(shù)據(jù)計算進一步驗證了女聲頻率較高的假設,我們可以通過這種計算來分辨男聲女聲。程序代碼:%畫男生聲音、女生聲音的頻譜圖y1=wavread('lu_ll.wav');Fs=44100;%采樣頻率%yt1=fft(y1);%傅里葉變換%df=Fs/length(yt1);Fx=df*(0:length(yt1)-1);%將橫軸變?yōu)轭l率軸%figure(1)subplot(211); %subplot將圖像畫在一張圖上%plot(y1);title('男聲時域波形');%畫語音信號的時域波形%subplot(212); plot(Fx,abs(yt1));axis([010000010000]);title('男聲頻譜圖');xlabel('頻率/Hz');y2=wavread('lu_ksl.wav');Fs=44100;%采樣頻率%yt2=fft(y2);%傅里葉變換%df=Fs/length(yt2);Fx=df*(0:length(yt2)-1);%將橫軸變?yōu)轭l率軸%figure(2)subplot(211); %subplot將圖像畫在一張圖上%plot(y2);title('女聲時域波形');%畫語音信號的時域波形%subplot(212); plot(Fx,abs(yt2));axis([01000005000]);title('女聲頻譜圖');xlabel('頻率/Hz');%計算男生和女生信號中高頻和低頻信號所占的比例:[y1Fs]=wavread('lu_ll.wav');y1=y1(:,1);yt1=fft(y1);[y2Fs]=wavread('lu_ksl.wav');y2=y2(:,1);yt2=fft(y2);sum1=0;fori=200:1000%計算男聲的低頻比例%sum1=sum1+abs(yt1(i));endsum=0;fori=1:length(yt1)sum=sum+abs(yt1(i));endn1=sum1/sum;sum1%低頻信號量sum%總信號量n1%比例sum1=0;fori=200:1000%計算女聲的低頻比例%sum1=sum1+abs(yt2(i));endsum=0;fori=1:length(yt2)sum=sum+abs(yt2(i));endn2=sum1/sum;sum1sumn2%高頻%sum1=0;fori=3000:3800%計算男聲的高頻比例%sum1=sum1+abs(yt1(i));endsum=0;fori=1:length(yt1)sum=sum+abs(yt1(i));endm1=sum1/sum;sum1summ1sum1=0;fori=3000:3800%計算女聲的高頻比例%sum1=sum1+abs(yt2(i));endsum=0;fori=1:length(yt2)sum=sum+abs(yt2(i));endm2=sum1/sum;sum1summ23.3、語音與樂器音頻的差異。比擬語音信號與樂器音頻信號的差異,尤其是在頻域上的差異。我們找了五種不同的樂器演奏的《梁?!罚噲D不僅分析語音信號和樂器音頻信號的差異,還要分析不同樂器音頻信號的差異。使用貍窩軟件進行時間截取和格式轉換,分析得到頻譜如下: 對于樂器來說,低頻段表示音色的飽滿度,高頻段表示音色的明亮度。從圖中可以看出,古箏的泛音較強,這印證了我們聽覺的感受,鋼琴和笛子的頻譜主要集中在500~1000Hz的低頻范圍內,音色最為飽滿,它們的主要區(qū)別在于鋼琴泛音較多。相比于前面所繪制的語音信號的頻譜,樂器在某些頻率點的小范圍內會形成一個沖擊,所以聲音會比擬有沖擊力。并且,樂器有基音和泛音,而人聲沒有泛音,所以會產(chǎn)生樂器聲悠揚的效果。程序代碼:y1=wavread('笛子_0.wav');y2=wavread('鋼琴_0.wav');y3=wavread('小提琴_0.wav');y4=wavread('薩克斯_0.wav');y5=wavread('古箏_0.wav');Fs=44100;%采樣頻率%yt1=fft(y1);%傅里葉變換%yt2=fft(y2);yt3=fft(y3);yt4=fft(y4);yt5=fft(y5);df1=Fs/length(yt1);Fx1=df1*(0:length(yt1)-1);df2=Fs/length(yt2);Fx2=df2*(0:length(yt2)-1);df3=Fs/length(yt3);Fx3=df3*(0:length(yt3)-1);df4=Fs/length(yt4);Fx4=df4*(0:length(yt4)-1);df5=Fs/length(yt5);Fx5=df5*(0:length(yt5)-1);figure(1) plot(Fx1,abs(yt1));axis([08000010000]);title('笛子頻譜圖');xlabel('頻率/Hz');figure(2)plot(Fx2,abs(yt2));axis([08000010000]);title('鋼琴頻譜圖');xlabel('頻率/Hz');figure(3)plot(Fx3,abs(yt3));axis([08000010000]);title('小提琴頻譜圖');xlabel('頻率/Hz');figure(4)plot(Fx4,abs(yt4));axis([08000010000]);title('薩克斯頻譜圖');xlabel('頻率/Hz');figure(5)plot(Fx5,abs(yt5));axis([08000010000]);title('古箏頻譜圖');xlabel('頻率/Hz');3.4、.wav文件的采樣速率為44.1KHz,仍然遠遠高于我們通常說的語音信號需要的頻譜寬度,例如在對語音信號的采樣中,我們僅僅使用8KHz的采樣速率。對讀入的音頻數(shù)據(jù)進行不同速率的降采樣,使用wavplay()命令播放降采樣后的序列,驗證是否會對信號的質量產(chǎn)生影響。使用Matlab對聲音信號進行降采樣,分別把聲音信號的采樣頻率將為原采樣頻率的1/2,1/5,1/10。當采樣頻率為原信號采樣頻率的1/2時,聲音與原聲音無明顯變化,觀察頻譜圖,亦無明顯變化;當采樣頻率為原信號采樣頻率的1/5時,聲音與原聲音相比有差異,觀察頻譜圖,發(fā)現(xiàn)頻譜圖變化很大;當采樣頻率為原信號采樣頻率的1/10時,聲音與原聲音相比已明顯失真,信號內容不可區(qū)分,觀察頻譜圖,頻譜圖已完全不一致,降采樣后的信號失真嚴重。結論:當采樣頻率越低時,采樣得到的聲音信號的音質將降低。程序如下:[x,fs,bits]=wavread('星空的旋律.wav');%將聲音信號采樣稱字符串%fs%聲音x(t)信號頻率%x1=x(1:2:length(x));%對原聲音信號進行1/2降采樣%x2=x(1:5:length(x));%對原聲音信號進行1/5降采樣%x3=x(1:10:length(x));%對原聲音信號進行1/10降采樣%subplot(411);%wavplay(x,fs);%播放原聲音信號%y=fft(x,fs);df=fs/length(y);fx=df*(0:length(y)-1);plot(fx,abs(y));%繪制原聲音信號的頻譜分析圖%axis([080000500]);title('原聲音頻譜分析圖');subplot(412);%wavplay(x1,fs/2);%播放1/2降采樣聲音信號%y1=fft(x1,fs/2);df=fs/length(y1);fx=df*(0:length(y1)-1);plot(fx,abs(y1));%繪制1/2降采樣后信號的頻譜分析圖%axis([080000500]);title('采樣頻率為原信號的1/2頻譜分析圖');subplot(413);%wavplay(x2,fs/5);%播放1/10降采樣聲音信號%y2=fft(x2,fs/5);df=fs/length(y2);fx=df*(0:length(y2)-1);plot(fx,abs(y2));%繪制1/5降采樣后信號的頻譜分析圖%axis([080000500]);title('采樣頻率為原信號的1/5頻譜分析圖');subplot(414);%wavplay(x3,fs/10);%播放1/10降采樣聲音信號%y3=fft(x3,fs/10);df=fs/length(y3);fx=df*(0:length(y3)-1);plot(fx,abs(y3));%繪制1/10降采樣后信號的頻譜分析圖%axis([080000500]);title('采樣頻率為原信號的1/10頻譜分析圖');四、實驗結論在實驗開始的時候,使用錄音軟件〔AdobeAudition〕錄制所需的男聲女聲,同時,在各大音樂網(wǎng)站下載所需的音頻文件,但是一般下載到的只有.mp3格式的音頻文件,故使用貍窩全能視頻轉換器將.mp3文件或其他格式的音頻文件轉化為.wav格式的音頻文件。 使用Matlab對下載到的音頻文件〔相聲.wav〕進行時域分析和頻域分析,并繪制相應的時域圖和頻域圖,時域圖可以顯示幅值與時間的關系,頻域圖可以顯示幅值與頻率的關系。對繪制頻域圖進行解讀,該文件的主要頻率范圍為200Hz~1800Hz,通

溫馨提示

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

評論

0/150

提交評論