




已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
吉林工程技術師范學院DSP語音信號處理課程設計報告書設計內容: 語音信號處理GUI工具箱設計 專 業(yè): 電子信息 班級: 0742 學生姓名: 陳陽 學號: 29 指導教師: 李悅 劉銀輝 信息工程學院摘要語音信號處理是研究數字信號要處理技術和語音信號進行處理的一門學科,是一門新型的學科,是在多們學科基礎上發(fā)展起來的綜合性技術,它設計到數字信號處理、模式識別、語言學、語音信號處理是研究用數字信號處理技術對語音信號進行處理的一門學科。處理的目的是要得到一些語音參一以便高效地傳輸或儲存;或者是通過處理的某種運算以達到某種用途的要求。語音信號處理又是一門新興的邊緣學科。如上所述,它是“語言語音學”與“數字信號處理”兩個學科相結合的產物。語音信號處理屬于信息科學的一個重要分支,大規(guī)模集成技術的高度發(fā)展和計算機技術的飛速前進,推動了這一技術的發(fā)展。在數字音頻技術和多媒體技術迅速發(fā)展的今天,傳統(tǒng)的磁帶語音錄放系統(tǒng)因體積大、使用不便、放音不清晰而受到了巨大挑戰(zhàn)。本課題組提出的體積小巧,功耗低的數字化語音存儲與回放系統(tǒng),可以有效的解決傳統(tǒng)的語音錄放系統(tǒng)在電子與信息處理的使用中受到的限制。 本文提出了語音信號處理課程建設的實驗環(huán)節(jié)中的一些考慮,作為專業(yè)課程的學習,實驗內容不能僅僅停留在驗證性實驗上,還應增加實驗延伸的設計要求,使學生加深對理論分析認識的同時,強調培養(yǎng)學生的實際動手能力和知識綜合運用能力。從而提高語音信號的教學和實驗的質量。實驗內容采用MATLAB編程實現,不僅易于語音信號處理的實現,更易引導學生完成實驗延伸的設計。關鍵字:MATLAB軟件 語音信號處理 實驗設計目 錄摘 要 第一章 緒論11.1 選題背景11.2 課題任務11.3 課題意義1第二章 理論基礎及系統(tǒng)要求22.1 引言22.2 課程設計基本要求22.3 系統(tǒng)基本原理2第三章 設計方案論證33.1設計理論依據3第四章 圖形用戶界面設計4 4.1圖形用戶界面概念4 4.2用戶界面設計4第五章 課程設計的軟件實現8 5.1部分函數語法格8 5.2語音信號處理的相關函數8 5.3 GUI實驗箱操作界面設計14第六章 心得體會15附錄源代碼13參考文獻1第一章 緒論1.1 選題背景 在我們的現實生活中從磁帶、錄像帶到CD、VCD、DVD;從黑白電視機、彩色電視機、高清晰度電視機(HDTV)到具有數字信號處理功能的電視機;從留聲機、錄音機到語音信箱;現在正處在模擬信息到數字信息的變革之中,傳統(tǒng)的磁帶語音錄放系統(tǒng)因其體積大,使用不便,在電子與信息處理的使用中受到許多限制。 雖然,目前廣播電視系統(tǒng)尚未實現真正的數字化,相信在不久的將來,真正的數字電視機、數字收音機、數字收錄機將進入家庭。所以,研究音頻信號的數字化存儲、處理和回放系統(tǒng)有著很重要的現實意義。通過設計語音信號實驗箱可以對語音信號實現各種形式的變換,因此學會對語音信號的處理,也可自行研究將此語音處理技術應用到現實生活中。1.2 課題任務 本實驗任務所提出的語音信號處理實驗箱系統(tǒng),其基本原理是對語音的錄音和放音進行數字化控制.其中,關鍵技術在于:為了增加語音存儲時間,提高存儲器的利用率,采用了非失真壓縮算法對語音信號進行壓縮后再存儲,而在回放是再進行解壓縮;同時,對輸入語音信號進行數字濾波以抑制雜音和干擾,從而確保了語音回放的可靠質量. 通過設計一個GUI實驗箱,并添加相應的控制控件,添加一個聲音文件,通過MATLAB編程,使其通過各種按鈕實現語音信號處理的各種功能,最后做成一個完整的語音信號處理實驗箱。1.3 課題意義:語音信號處理是一門比較實用的電子工程的專業(yè)課程,語音是人類獲取信息的重要來源和利用信息的重要手段,通過語言相互傳遞信息是人類最重要的基本功能之一,語言是人類特有的功能,它是創(chuàng)造和記載幾千年來人類文明史的根本手段,沒有語言就沒有今天的人類文明,語音是語言的聲學表現,是相互傳遞信息的重要的手段,是人類最重要、最有效、最常用和最方便的交換信息的形式。語音信號處理是研究用數字信號處理技術對語音信號進行處理的一門學科,它是一門新興的學科,同時又是綜合性的多學科領域行業(yè)涉及面很廣的交叉學科。第二章 理論基礎及系統(tǒng)要求2.1 引言目前,隨著數字化信號處理技術的不斷提高,單片機,數字信號處理器以及語音處理大規(guī)模集成電路的進步,語音合成,語音識別,語音存儲和回放技術的應用越來越廣泛.本文提出的體積小巧,功耗低的數字化語音存儲與回放系統(tǒng)將完全可以替代傳統(tǒng)的語音錄放系統(tǒng).2.2 課程設計基本要求(1)學會MATLAB的使用,掌握MATLAB的程序設計方法;(2)掌握在windows 環(huán)境下語音信號采集的方法;(3)掌握數字信號處理的基本概念,基本理論和基本方法;(4)掌握MATLAB設計的方法;(5)學會用MATLAB對信號進行分析和處理。2.3 系統(tǒng)基本原理語音采集原理是,人耳能聽到的聲音是一種頻率范圍為20Hz20kHz,而一般語音頻率最高為3.4kHz.語音的采集是指語音聲波信號經麥克風和高頻放大器轉換成有一定幅度的模擬量電信號,然后再轉換成數字量的全過程.本次設計的基本原理是對語音的錄音和放音進行數字化控制.其中,關鍵技術在于:為了增加語音存儲時間,提高存儲器的利用率,采用了非失真壓縮算法對語音信號進行壓縮后再存儲,而在回放是再進行解壓縮;同時,對輸入語音信號進行數字濾波以抑制雜音和干擾,從而確保了語音回放的可靠質量. 通過設計一個GUI實驗箱,并添加相應的控制控件,添加一個聲音文件,通過MATLAB編程,使其通過各種按鈕實現語音信號處理的各種功能,最后做成一個完整的語音信號處理實驗箱。第三章 設計方案論證3.1 設計理論依據3.1.1采樣定理:在進行模擬/數字信號的轉換過程中,當采樣頻率fs.max大于信號中,最高頻率fmax的2倍時,則采樣之后的數字信號完整地保留了原始信號中的信息,一般實際應用中保證采樣頻率為信號最高頻率的5-10倍;采樣定理又稱乃奎斯特定理。3.1.2 采樣頻率: 采樣頻率是指計算機每秒鐘采集多少個聲音樣本,是描述聲音文件的音質、音調、衡量聲卡、聲音文件的質量標準。采樣頻率越高,即采樣的間隔時間越短,則在單位時間內計算機得到的聲音樣本數據就越多,對聲音波形的表示也就越精確,采樣頻率與聲音頻率之間有一定的關系,根據奈奎斯特理論,只有采樣頻率高于聲音信號最高頻率的2倍的時候,才能把數字信號表示的聲音還原成為原來的聲音,這就是說采樣頻率是衡量聲卡采集、記錄和還原聲音文件的質量標準。3.1.3 采樣位數與采樣頻率采樣位數即采樣值或取樣值,用來衡量聲音波動變化的參數,是指聲卡在采集和播放聲音文件時候使用數字聲音信號的二進制為數。采樣頻率是指錄音設備在一秒鐘內對聲音信號的采樣次數,采樣頻率越高聲音的還原就越真實越自然。采樣位數和采樣頻率對于音頻接口來說是最為重要的兩個基本指標,也是選擇音頻接口的兩個重要標準。無論采樣頻率如何,理論上來說采樣的位數決定了音頻數據最大的力度范圍。每增加一個采樣位數相當于力度范圍增加了6dB。采樣位數越多則捕捉到的信號越精確。對于采樣率來說你可以想象它類似一個照相機。顯然采樣率越高,計算機提取的圖片越多,對于原始 的還原也越加精確。第四章 圖形用戶界面設計4.1圖形用戶界面概念圖形用戶界面或圖形用戶接口是指采用圖形方式顯示的計算機操作環(huán)境用戶接口。與早期計算機使用的命令行界面相比,圖形界面對于用戶來說更為簡便易用。GUI是MATLAB提供的圖形用戶界面開發(fā)環(huán)境,提供了一系列用于創(chuàng)建圖形用戶界面的工具,從而簡化界面布局和編程工作。4.2用戶界面設計4.2.1 GUI設計模板在MATLAB主窗口中,選擇File菜單中的New菜單項,再選擇其中的GUI命令,就會顯示圖形用戶界面的設計模板。MATLAB為GUI設計一共準備了四個模板,分別是Blank GUI、GUI with Uicontrols、GUI with Axes and Menu、Modal Question Dialog。當用戶選擇不同的模板時,在GUI設計模板界面的右邊就會現實出與該模板對應的GUI圖形。4.2.2 GUI設計窗口在GUI設計模板中選中一個模板,然后單擊OK按鈕,就會現實GUI設計窗口,選擇不同的GUI設計模式時,在GUI設計窗口中顯示的結果是不一樣的。GUI設計窗口由菜單欄、工具欄、控件工具欄以及圖形對象設計區(qū)等部分組成。GUI設計窗口的菜單欄有File、Edit、View、Layout、Tools和Help六個菜單項,使用其中的命令可以完成圖形用戶界面的設計操作。 4.2.3 GUI設計窗口的基本操作(1)前面板的設計:在GUI設計窗口創(chuàng)建圖形對象后,通過雙擊該對象,就會顯示該對象的屬性編輯器。如下圖所示。例如,創(chuàng)建一個Push Button對象,并設計該對象的屬性值。 圖4-1 按鈕屬性編輯器通過以上的按鈕屬性編輯器可以根據個人情況對按鈕的名稱、顏色、大小等方面的屬性進行修改,使按鈕在視覺上變的更加完美。(2)按鈕功能的實現:在GUI設計窗口創(chuàng)建按鈕后,通過右鍵單擊按鈕,選擇view callbacks 下的callback對相應的按鈕進行編程,使按鈕實現相應的功能,如下圖所示對按鈕的相應功能進行設置。 圖4-2 按鈕功能編輯器進入到按鈕程序編輯窗口,通過編程即可實現按鈕的相應功能,如下圖: 圖4-3 按鈕的編程實現界面通過對各個按鈕控件的修改,和對m文件程序的添加就完成對GUI窗口的設計,最后得到的圖形化操作界面如下圖所示: 圖4-4 圖形化操作界面4.2.4 語音的錄入與打開 在MATLAB中,y,fs,bits=wavread(Blip,N1 N2);用于讀取語音,采樣值放在向y中,fs表示采樣頻率,bits表示采樣位數。N1 N2表示讀取從N1點到N2點的值。 Sound(x,fs,bits);用于對聲音的回放,向量y則就代表了一個信號也就是說可以像處理一個信號表達式一樣處理這個聲音信號。第五章 課程設計的軟件實現5.1部分函數語法格式讀wav文件: x=wavread(filename) 數組a及b中元素相乘: a.*b創(chuàng)建圖形窗口命令: figure繪圖函數: plot(x) 坐標軸: axis(xmin xmax ymin ymax)坐標軸注解: xlabel() ylabel() 圖例注解: legend()一階高通濾波器: y=filter(1-0.09375,1,x)分幀函數: f=enframe(x,len,inc) x為輸入語音信號,len指定了幀長,inc指定幀移,函數返回為nlen的一個矩陣,每一行都是一幀數據。5.2 語音信號處理的相關函數5.2.1語音信號的短時譜:周期性聲門波可表示為: (5-1)其中, gn是聲門波的單周期的波形,pn是間隔為 P 的周期采樣序列。當 un通過線性非時變聲道,且該聲道的單位沖擊響應為 hn時,聲道輸出為: (5-2)為了觀察一段語音,需要將聲道輸出乘以一個以時刻為中心的窗函數 wn,即得到: (5-3)這段語音信號的頻域表達式為 : (5-4)即語音信號的譜包絡為 語譜圖就是顯示時變頻譜幅度特征的圖形表達式為 (5-5)將語音信號短時譜程序寫入到MATLAB中得到單色語譜圖的波形如下:圖 5-1 語音信號單色語譜圖5.2.2 自相關方法估計語音信號的聲道參數:由均方預測誤差最小的得到正則方程 (5-6)其中, (5-7)在最佳解時的誤差為 (5-8)在自相關法中式5-6,式5-8變?yōu)?(5-9) (5-10)由式5-9和式5-10可列出方程組式5-11 (5-11)解方程組 式5-9 求出線性預測系數,通過誤差式5-11可求出增益G (5-12)加窗后信號頻譜圖如下:圖5-2 加窗后信號頻譜圖通過以上的方法,改變參數分別求得4極點模型頻率響應和6極點模型頻率響應,六極點波形如下圖所示: 圖5-3 六極點波形圖最后通過以上方法用一個函數分別實現以上三個功能,三個波形顯示在一個界面,通過觀察圖形,查看它們之間的分別。三者比較所得到的波形如下:圖 5-4 三者比較波形圖5.2.3 基音周期檢測:數據為濁音語音信號speech1_10k(10000 樣點/秒)用 25ms 的漢明窗對語音信號 speech1_10k 進行加窗處理,并畫出所得到的加窗信號的自相關函數,再用根據中心消波法及三電平中心消波法原理改進程序,最后對比中方法基音檢測的效果并分析結果。實驗原理及方法(1)自相關檢測原理:對于離散的數字語音信號序列x(n),如果周期N,則自相關函數也是同周期的周期函數。即:x(n)=x(n+N).清音信號沒有周期性,它的自相關函數也沒有周期。濁音信號具有準周期性。自相關基因檢測正是利用這一性質對語音信號進行基因檢測的。(2)中心消波法檢測原理:中心消波處理是使用如下圖所示的中心消波函數進行處理的: 圖5-5 中心消波檢測圖(3)三電平消波法原理:為了減少自相關計算中的乘法運算,可以把上述中心消波以后的信號y(n)的自相關用兩個信號的互相關代替,其中一個信號是y(n)另一個信號是對y(n)進行三電平量化產生的結果。且這個信號有三種可能的取值,因而這里的互相關計算只需要做加減法,而這個互相關序列的周期性與y(n)的自相關序列是近似相同的。三電平法對語音信號處理得到的波形如下: 圖5-6 三電平法波形圖中心消波法得到的波形如下圖: 圖5-7 中心消波法波形圖5.3 GUI實驗箱操作界面設計 通過對各個控件的編程和對參數的設計,最后得到的GUI實驗箱操作界面如下圖所示,通過界面上的各個按鈕即可實現相應的功能。 圖 5-8 GUI實驗箱操作界面 第六章 心得體會通過本次課程設計完成了對語音信號的讀取與打開,與課題的要求十分相符;初略的完成了界面的設計,但也存在相當的不足,達到了打開語音文件,顯示已定波形。語音信號處理時語音學與數字信號處理技術相結合的交叉學科,將語音當做一種特殊的信號,即一種“復雜向量”來看待。也就是說,體現了數字信號處理技術。本次課程設計時希望將數字信號處理技術應用于某一實際領域,這里就是指對語音的處理。作為存儲于計算機中的語音信號,其本身就是離散化了的向量,我們只需要將這些離散的量提取出來,就可以對其進行處理了。本次課設,用到了處理數字信號的強有力工具MATLAB,通過MATLAB里幾個命令函數的調用,很輕易的在實際化語音與數字信號的理論之間搭了一座橋。最后,還利用了MATLAB的另一強大功能GUI界面設計。設計出了一個簡易的用戶應用界面,可以讓人實現界面操作。通過本次課程設計讓我更加了解了語音信號處理在現實中的強大的應用空間,同時查閱了很多相關的資料,應用MATLAB軟件來完成,熟練掌握了MATLAB軟件,本次課程設計要求用GUI設計模塊,查閱了很多資料,更加深刻的了解了這方面知識。本次課程設計,我明白了理論的學習需要在實踐中才能得到鞏固。在課程設計中,只有動手慢慢研究,才能真正了解MATLAB的運用以及各個基本函數的調用方法,掌握GUI實驗箱的設計方法及在MATLAB軟件平臺中可以直接設計數字濾波器的各個函數的調用,對設計GUI實驗箱的所有函數的運用有了比較好的認識。通過這個課程設計,我學到了很多MATLAB和語音信號的知識,提高了自己在語音信號設計方面的知識能力,動手能力和思維能力都得到了一定的提升,希望自己以后可以更多的繼續(xù)學習這一門課程設計方面的知識。附錄1.源程序代碼:function varargout = Likunpeng(varargin)gui_Singleton = 1;gui_State = struct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, Likunpeng_OpeningFcn, . gui_OutputFcn, Likunpeng_OutputFcn, . gui_LayoutFcn, , . gui_Callback, );if nargin & ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);end if nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);endfunction Likunpeng_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject; guidata(hObject, handles);function varargout = Likunpeng_OutputFcn(hObject, eventdata, handles) varargout1 = handles.output; function pushbutton1_Callback(hObject, eventdata, handles)global file;x=wavread(file);sampling_rate = 44100; lfft = 1024; lfft2 = lfft/2;winlgh = 1024; frmlgh = 100; noverlap = winlgh - frmlgh;x = 2.0*x/max(abs(x);etime = length(x)/sampling_rate;spec = abs(specgram(x, lfft, sampling_rate, winlgh, noverlap);axes(handles.axes1);plot(1:length(x)/sampling_rate,x) function pushbutton2_Callback(hObject, eventdata, handles)global file;x=wavread(file);sampling_rate = 44100; lfft = 1024; lfft2 = lfft/2;winlgh = 1024; frmlgh = 100; noverlap = winlgh - frmlgh;x = 2.0*x/max(abs(x);etime = length(x)/sampling_rate;spec = abs(specgram(x, lfft, sampling_rate, winlgh, noverlap);axis(0 etime -2.5 2.5);axes(handles.axes1);imagesc(0:.010:etime, 0:1000:(sampling_rate/2), log10(abs(spec);axis(xy) function pushbutton7_Callback(hObject, eventdata, handles)global file;y,fs=wavread(file); L=length(y); fw=y.*hamming(L);r=real(log(fft(fw,L);axes(handles.axes1);plot(r); function pushbutton8_Callback(hObject, eventdata, handles)global file;y,fs=wavread(file); L=length(y); fw=y.*hamming(L);axes(handles.axes1);plot(fw);function pushbutton5_Callback(hObject, eventdata, handles)global file;y,fs=wavread(file); L=length(y); fw=y.*hamming(L);r=real(log(fft(fw,L)pfw=cceps(fw);rpfw=rceps(fw);axes(handles.axes1);plot(rpfw);function pushbutton6_Callback(hObject, eventdata, handles)global file;y,fs=wavread(file); L=length(y); fw=y.*hamming(L);pfw=cceps(fw);rpfw=rceps(fw);z=rpfw(1:30);logz=real(exp(fft(z,L);axes(handles.axes1);plot(logz);function pushbutton4_Callback(hObject, eventdata, handles)global file;y,fs=wavread(file); L=length(y); fw=y.*hamming(L);r=real(log(fft(fw,L)pfw=cceps(fw);axes(handles.axes1);plot(pfw); function pushbutton3_Callback(hObject, eventdata, handles)global file;y,fs=wavread(file); axes(handles.axes1);plot(y); function pushbutton9_Callback(hObject, eventdata, handles)global file;speech1_10k=wavread(file,1024 1273);%250sw=speech1_10k.*hamming(250);%a Rsw=xcorr(sw);%a t=0.1:0.1:25;axes(handles.axes1);plot(t,sw); function pushbutton10_Callback(hObject, eventdata, handles)global file;speech1_10k=wavread(file,1024 1273);sw=speech1_10k.*hamming(250); Rsw=xcorr(sw); t=0.1:0.1:length(Rsw)/10; axes(handles.axes1); plot(t,Rsw); function pushbutton11_Callback(hObject, eventdata, handles)global file;speech1_10k=wavread(file,1024 1273);sw=speech1_10k.*hamming(250); Rsw=xcorr(sw); w=pi/512:pi/512:pi; FW2=fft(sw,1024); FW3=FW2(1:512); w=(1/1024:1/1024:0.5)*10000; axes(handles.axes1);plot(w,log(abs(FW3);function pushbutton12_Callback(hObject, eventdata, handles)global file;speech1_10k=wavread(file,1024 1273);sw=speech1_10k.*hamming(250); Rsw=xcorr(sw); Rsw4=Rsw(250:253);Rsw(249:252);Rsw(248:251);Rsw(247:250); rea4=inv(Rsw4)*Rsw(251:254); A4=sqrt(Rsw(250)-Rsw(251:254)*rea4); w=pi/512:pi/512:pi; j=sqrt(-1); FW4=rea4*exp(-j*w);exp(-j*w*2);exp(-j*w*3);exp(-j*w*4); HW4=A4./(1-FW4); w=(1/1024:1/1024:0.5)*10000; axes(handles.axes1);plot(w,log(abs(HW4),g); function pushbutton13_Callback(hObject, eventdata, handles)global file;speech1_10k=wavread(file,1024 1273);sw=speech1_10k.*hamming(250); Rsw=xcorr(sw); Rsw6=Rsw(250:255);Rsw(249:254);Rsw(248:253);Rsw(247:252);Rsw(246:251);Rsw(245:250); rea6=inv(Rsw6)*Rsw(251:256); A6=sqrt(Rsw(250)-Rsw(251:256)*rea6); w=pi/512:pi/512:pi; j=sqrt(-1); FW6=rea6*exp(-j*w);exp(-j*w*2);exp(-j*w*3);exp(-j*w*4);exp(-j*w*5);exp(-j*w*6); HW6=A6./(1-FW6); w=(1/1024:1/1024:0.5)*10000; axes(handles.axes1); plot(w,log(abs(HW6),r); function pushbutton14_Callback(hObject, eventdata, handles)global file;speech1_10k=wavread(file,1024 1273);sw=speech1_10k.*hamming(250); Rsw=xcorr(sw); Rsw4=Rsw(250:253);Rsw(249:252);Rsw(248:251);Rsw(247:250); Rsw6=Rsw(250:255);Rsw(249:254);Rsw(248:253);Rsw(247:252);Rsw(246:251);Rsw(245:250); rea4=inv(Rsw4)*Rsw(251:254); rea6=inv(Rsw6)*Rsw(251:256); A4=sqrt(Rsw(250)-Rsw(251:254)*rea4);A6=sqrt(Rsw(250)-Rsw(251:256)*rea6); w=pi/512:pi/512:pi; j=sqrt(-1); FW4=rea4*exp(-j*w);exp(-j*w*2);exp(-j*w*3);exp(-j*w*4); FW6=rea6*exp(-j*w);exp(-j*w*2);exp(-j*w*3);exp(-j*w*4);exp(-j*w*5);exp(-j*w*6); HW4=A4./(1-FW4); HW6=A6./(1-FW6); FW2=fft(sw,1024); FW3=FW2(1:512); w=(1/1024:1/1024:0.5)*10000; axes(handles.axes1);plot(w,log(abs(FW3),w,log(abs(HW4),w,log(abs(HW6); function pushbutton21_Callback(hObject, eventdata, handles)global file;Y=wavread(file,1 1800);x1=Y(271:510);x2=Y(271:510);x3=Y(271:510);r=zeros(1,240);for k1=1:1:240 if x2(k1)0 x2(k1)=1; else if x2(k1)=0 x2(k1)=0; else if x2(k1)tc x3(k1)=x3(k1)-tc; else if x3(k1)-tc x3(k1)=x3(k1)+tc; else x3(k1)=0; end endendj=1:240;axes(handles.axes1);plot(j,x3); function pushbutton20_Callback(hObject, eventdata, handles)global file;Y=wavread(file,1 1800);x1=Y(271:510);x2=Y(271:510);x3=Y(271:510);r=zeros(1,240);for k=1:240 for n=1:240-k r(k)=r(k)+x1(n)*x1(n+k); endend j=1:240;axes(handles.axes1);plot(j,x1); function pushbutton19_Callback(hObject, eventdata, handles)global file;Y=wavread(file,1 1800);x1=Y(271:510);x2=Y(271:510);x3=Y(271:510);r=zeros(1,240);for k=1:240 for n=1:240-k r(k)=r(k)+x1(n)*x1(n+k); endend j=1:240;axes(handles.axes1);plot(j,r); function pushbutton23_Callback(hObject, eventdata, handles)close function pushbutton24_Callback(hObject, eventdata, handles)global file;H=*.wav;filename,pathname=uigetfile(H,);file=strcat(pathname,filename);function pushbutton1_ButtonDownFcn(hObject, eventdata, handles)function pushbutton29_Callback(hObject, eventdata, handles)global file;x=wavread(file);axes(handles.axes1);plot(x);function f=enframe(x,win,inc)nx=length(x(:);nwin=length(win);if (nwin = 1)len = win;elselen = nwin;endif (nargin 1)w = win(:);f = f .* w(ones(nf,1),:);endfunction pushbutton28_Callback(hObject, eventdata, handles)global file;x=wavread(file);enhance=filter(1-0.9375,1,x);FrameLen=240; FrameInc=80;yframe=enframe(x,FrameLen,FrameInc);amp1=sum(abs(yframe),2);axes(handles.axes1);plot(amp1);function pushbutton27_Callback(hObject, eventdata, handles)global file;x=wavread(file);enhance=filter(1-0.9375,1,x);FrameLen=240; FrameInc=80;yframe=enframe(x,FrameLen,FrameInc);amp2=sum(abs(yframe.*yframe),2);axes(handles.axes1);plot(amp2);function pushbutton26_Callback(hObject, eventdata, handles)global file;x=wavread(file);enhance=filter(1-0.9375,1,x);FrameLen=240; FrameInc=80;yframe=enframe(x,FrameLen,FrameInc);tmp1=enframe(x(1:end-1),FrameLen,FrameInc);tmp2=enframe(x(2:end),FrameLen,FrameInc);signs=(tmp1.*tmp2)0.02;zcr=sum(signs.*diffs,2);axes(handles.axes1);plot(zcr);參考文獻1 劉慶華 陳紫強.基于MATLAB和DSP的語音信號處理課程的建設.電氣電子教學學報.2006,10(3):124-128 2 張力.MATLAB在語音信號處理輔助教學中的應用.電氣電子教學學報.2005,27卷2 期:96-99 3 鄧立新 楊震.信息技術融入“語音信號處理”課程的教學實踐.電氣電子教學學報.2005,27卷5期:13-16 4 胡航.語音信號處理.哈爾濱工業(yè)大學出版社.2005年2月,第二版:96-1015 張平.matlab基礎與應用.北京航空航天大學出版社.2007,第二版:135-1376 謝德芳.數字信號處理.北京科學出版社.2005, 第一版:85-927 陳后金 薛健.數字信號處理.北京高等教育出版社.2004, 第一版:65-698 維納K英格爾 劉樹堂.數字信號處理(MATLAB版).西安交通大學出版社.2008, 第二版:204-2089 張小虹.信號系統(tǒng)與數字信號處理.西安電子科技出版社.2002, 第一版:32-3910 蔡啟忠.控制系統(tǒng)計算機輔助設計(MATLAB版).重慶大學出版社.2003, 第一版:61-6811 趙力.語音信號處理.機械工業(yè)出版社.2003,第二版:168-17212 李昌立 吳善培.數字語音-語音編碼實用教材.人民郵電出版社.2004,142-149 13 易克初.語音信號處理.國防工業(yè)出版社.2000,第一版:146-150 14 朱民雄.計算機語音技術(修訂版).北京航空航天大學出版社.2002,第一版:152-16815 張建平.數字信號處理實驗教程.清華大學出版社.2010,第二版:205-213 16 張雄偉.現代語音處理技術及應用機械工業(yè)出版社.2003,第二版:168-17517 吳家安.語音編碼技術及應用.機械工業(yè)出版社.2006,第一版:258-26218 劉幺和 宋庭新.語音識別與控制應用技術.科學出版社.2008,第二版:162-16519 李昌立 吳善培.數字語音語音編碼實用教程.人民郵電出版社.2004,第一版:167-171 20 姚天任.數字語音處理.華中科技大學出版社.1992,第二版:235-238 21 王炳錫.語音編碼.西安電子科技大學出版社.2002, 第一版:185-192袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- YC/T 598-2023煙葉醇化倉庫基礎環(huán)境參數監(jiān)測指南
- 2002年江蘇省淮安市中考數學真題【含答案、解析】
- 安全防范系統(tǒng)項目管理工作領域4安全防范系統(tǒng)施工質量管理88
- 考研復習-風景園林基礎考研試題a4版附答案詳解
- 生物發(fā)酵法農藥原藥及綠色農藥制劑項目可行性研究報告寫作模板-申批備案
- 《風景園林招投標與概預算》試題A附參考答案詳解【突破訓練】
- 2025-2026年高校教師資格證之《高等教育法規(guī)》通關題庫帶答案詳解ab卷
- 2024年濟南演藝集團有限責任公司人員招聘筆試備考題庫及答案詳解(真題匯編)
- 2025年黑龍江省五常市輔警招聘考試試題題庫及答案詳解(各地真題)
- 激光雷達船舶靠泊跟蹤助航技術
- 國家教育部卓越工程師教育培養(yǎng)計劃高校學科專業(yè)名單(第一二三批)
- 2024年全國中小學生《學游泳、防溺水、懂自救》教育知識試題庫與答案
- 排水管道工程施工方案(兩篇)
- 《溺水急救方法》課件
- 熱性驚厥的健康宣教
- 2025屆高三歷史統(tǒng)編版二輪復習:中國古代史 綜合測試卷(含答案解析)
- 內鏡下超聲穿刺護理配合
- 安裝工程質量通病防治手冊
- 課題申報書:指向深度學習的高中化學大單元教學實踐研究
- 藥品基礎知識培訓課件
- 刺法灸法學各章節(jié)習題和各章節(jié)參考答案
評論
0/150
提交評論