版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、目錄一、 設(shè)計(jì)任務(wù)及要求 1二、語音識別的簡單介紹2.1語者識別的概念22.2 特征參數(shù)的提取 32.3用矢量量化聚類法生成碼本32.4VQ的說話人識別 4三、算法程序分析3.1函數(shù)關(guān)系.43.2 代碼說明 53.2.1 函數(shù) mfcc 53.2.2 函數(shù) disteu 53.2.3 函數(shù) vqlbg .63.2.4 函數(shù) test 63.2.5 函數(shù) testDB 73.2.6 函數(shù) train 83.2.7 函數(shù) melfb 8四、演示分析 .9五、心得體會 .11附:GUI程序代碼12一、設(shè)計(jì)任務(wù)及要求用MATLAB實(shí)現(xiàn)簡單的語音識別功能;具體設(shè)計(jì)要求如下:用MATLAB實(shí)現(xiàn)簡單的數(shù)字1
2、9的語音識別功能。二、語音識別的簡單介紹基于VQ的說話人識別系統(tǒng),矢量量化起著雙重作用。在訓(xùn)練階段,把每一個(gè)說 話者所提取的特征參數(shù)進(jìn)行分類,產(chǎn)生不同碼字所組成的碼本。在識別(匹配)階段,我們用VQ方法計(jì)算平均失真測度(本系統(tǒng)在計(jì)算距離d時(shí),采用歐氏距離 測度),從而判斷說話人是誰。語音識別系統(tǒng)結(jié)構(gòu)框圖如圖1所示。.語音識別系統(tǒng)結(jié)構(gòu)框圖圖1語者識別的概念2.1語音是人的自然語者識別就是根據(jù)說話人的語音信號來判 別說話人的身份。每個(gè)人的屬性之一,由于說話人發(fā)音器官的生理差異以及后天 形成的行為差異,語音都帶有強(qiáng)烈的個(gè)人色彩,這就使得通過分析語音信號來識 別說話人成為可如語音是人的固有的特征,能。
3、用語音來鑒別說話人的身份有著 許多獨(dú)特的優(yōu)點(diǎn),利用電話網(wǎng)絡(luò)還可實(shí)系統(tǒng)設(shè)備成本低;不會丟失或遺忘;語音信號的采集方便,現(xiàn)遠(yuǎn)程客戶服務(wù)等。因此,近幾年來,說話人識別越來越多的 受到人們的重視。說話人識別不僅使用方便,手形識別等相比較,與其他生物識 別技術(shù)如指紋識別、而且屬于非接觸性,容易被用戶接受,并且在已有的各種生 物特征識別技術(shù)中,是唯一可以用作遠(yuǎn)程驗(yàn)證的識別技術(shù)。因此,說話人識別的 應(yīng)用前景非常廣泛:不同領(lǐng)域中的進(jìn)步都對說今天,說話人識別技術(shù)已經(jīng)關(guān)系到 多學(xué)科的研究領(lǐng)域,話人識別的發(fā)展做出了貢獻(xiàn)。說話人識別技術(shù)是集聲學(xué)、語 言學(xué)、計(jì)算機(jī)、信息在吃力語音應(yīng)用需求將十分廣闊。處理和人工智能等諸多
4、領(lǐng) 域的一項(xiàng)綜合技術(shù),語音信號的特征參數(shù)的好壞直信號的時(shí)候如何提取信號中關(guān) 鍵的成分尤為重要。 接導(dǎo)致了辨別的準(zhǔn)確性。12.2特征參數(shù)的提取對于特征參數(shù)的選取,我們使用 mfcc的方法來提取。MFC(參數(shù)是基于人的聽覺 特性利用人聽覺的屏蔽效應(yīng),在 Mel標(biāo)度頻率域提取出來的倒譜特征參數(shù)。 MFC(參數(shù)的提取過程如下:1. 對輸入的語音信號進(jìn)行分幀、加窗,然后作離散傅立葉變換,獲得頻譜分布 信息。設(shè)語音信號的DFT為:(1)1 x(n)e ,0 k NX(k)Nam其中式中x(n)為輸入的語音信號,N表示傅立葉變換的點(diǎn)數(shù)。2. 再求頻譜幅度的平方,得到能量譜。尺度的三角形濾波器組。3.將能量譜
5、通過一組Mel我們定義一個(gè)有M個(gè)濾波器的濾波 器組(濾波器的個(gè)數(shù)和臨界帶的個(gè)數(shù)相近),M 采用的濾波器為三角濾波器,中心頻率為f(m),m=1,2,3,本系統(tǒng)取M=10Q4. 計(jì)算每個(gè)濾波器組輸出的對數(shù)能量。ni 2(k),X(k)|S(m) In(H|ma(2) 1 9 m M 1其中為三角濾波器的頻率響應(yīng)。(k)Hm5.經(jīng)過離散弦變換(DCT得到MFC(系數(shù)。m i n(m 0.5/(m)cos(m),(3)C(n) S 0 m1 N0 n MFC係數(shù)個(gè)數(shù)通常取 20 30,常常不 用0階倒譜系數(shù),因?yàn)樗从车氖穷l譜能量,故在一般識別系統(tǒng)中,將稱為能量 系數(shù),并不作為倒譜系數(shù),本系統(tǒng)選取
6、20階倒譜系數(shù)。2.3用矢量量化聚類法生成碼本我們將每個(gè)待識的說話人看作是一個(gè)信源,用一個(gè)碼本來表征。碼本是從該說話人的訓(xùn)練序列中提取的MFC(特征矢量聚類而生成。只要訓(xùn)練的序列足夠長,可 認(rèn)為這個(gè)碼本有效地包含了說話人的個(gè)人特征,而與講話的內(nèi)容無關(guān)。X(k 1,2,K)為訓(xùn)練序本系統(tǒng)采用基于分裂的 LBG碼本,的算法設(shè)計(jì)VQ列,B為碼本。具體實(shí)現(xiàn)過程如下:1. 取提取出來的所有幀的特征矢量的型心(均值)作為第一個(gè)碼字矢量B1。2. 將當(dāng)前的碼本Bm根據(jù)以下規(guī)則分裂,形成2m個(gè)碼字。2)(1B Bmm( 4) )1 B B(mm其中m從1變化到當(dāng)前的碼本的碼字?jǐn)?shù),&是分裂時(shí)的參數(shù),本文&=0.
7、01。3. 根據(jù)得到的碼本把所有的訓(xùn)練序列(特征矢量)進(jìn)行分類,然后按照下面nD 以及相對失真(n為迭代次數(shù),兩個(gè)公式計(jì)算訓(xùn)練矢量量化失真量的總和初始 1= %,B為當(dāng)前的碼書)n=0,若相對失真小于某一閾值&,迭代結(jié)束,當(dāng)前 D的 碼書就是設(shè)計(jì)好的2m個(gè)碼字的碼書,轉(zhuǎn)5。否則,轉(zhuǎn)下一步。量化失真量和:k )n( )(5),BDd(Xmi門仆相對失真:(n1)nDD |( 6) nD 4.重新計(jì)算各個(gè)區(qū)域的新型心,得到新的碼書,轉(zhuǎn)3。5. 重復(fù)2,3和4步,直到形成有M個(gè)碼字的碼書(M是所要求的碼字?jǐn)?shù)),其中 D0=1000Q2.4 VQ的說話人識別設(shè)是未知的說話人的特征矢量共有 T幀是訓(xùn)練階
8、段形成的碼書,,XXt1表示碼 書第m個(gè)碼字,每一個(gè)碼書有M個(gè)碼字。再計(jì)算測試者的平均量化失真 D,并設(shè) 置一個(gè)閾值,若D小于此閾值,則是原訓(xùn)練者,反之則認(rèn)為不是原訓(xùn)練者。.d(x,B) 7 )(DTmin 1/mj1 j1 m m三、 算法程序分析在具體的實(shí)現(xiàn)過程當(dāng)中,采用了 matlab軟件來幫助完成這個(gè)項(xiàng)目。在 matlab 中主要由采集,分析,特征提取,比對幾個(gè)重要部分。以下為在實(shí)際的操作中, 具體用到得函數(shù)關(guān)系和作用一一列舉在下面。3.1 函數(shù)關(guān)系主要有兩類函數(shù)文件 Train.m 和 Test.m在 Train.m 調(diào)用 Vqlbg.m 獲取訓(xùn)練錄音的 vq 碼本,而 Vqlbg.
9、m 調(diào)用 mfcc.m 獲取 單個(gè)錄音的 mel 倒譜系數(shù),接著 mfcc.m 調(diào)用 Melfb.m- 將能量譜通過一組 Mel 尺度的三角形濾波器組。在 Test.m 函數(shù)文件中調(diào)用 Disteu.m 計(jì)算訓(xùn)練錄音(提供 vq 碼本)與測試錄音 (提供 mfcc)mel 倒譜系數(shù)的距離,即判斷兩聲音是否為同一錄音者提供。 Disteu.m 調(diào)用 mfcc.m 獲取單個(gè)錄音的 mel 倒譜系數(shù)。 mfcc.m 調(diào)用 Melfb.m- 將能量譜通過一組 Mel 尺度的三角形濾波器組。33.2 具體代碼說明3.2.1 函數(shù) mffc:function r = mfcc(s, fs) m = 100
10、;n = 256;l = length(s);n bFrame = floor(l - n) / m) + 1; %沿-x方向取整for i = 1:nfor j = 1:nbFrameM(i, j) = s(j - 1) * m) + i); %對矩陣 M賦值endendh = hamming(n); % 加 hamming 窗,以增加音框左端和右端的連續(xù)性M2 = diag(h) * M;for i = 1:nbFrameframe(:,i) = fft(M2(:, i); %對信號進(jìn)行快速傅里葉變換 FFTendt = n / 2;tmax = l / fs;m= melfb(20, n
11、, fs); %將上述線性頻譜通過 Mel 頻率濾波器組得到 Mel 頻譜 ,下面在將其轉(zhuǎn)化成對數(shù)頻譜n2 = 1 + floor(n / 2);z = m * abs(frame(1: n2, :).A2;r = dct(log(z); %將上述對數(shù)頻譜,經(jīng)過離散余弦變換(DCT )變換到倒譜域,即可得到Mel倒譜系數(shù)(MFCC參數(shù))3.2.2 函數(shù) disteu- 計(jì)算測試者和模板碼本的距離function d = disteu(x, y)M, N = size(x); % M2, P = size(y); % if (M = M2)error( 不匹配!音頻 x 賦值給【 M, N】音頻
12、 y 賦值給【 M2, P】) % 兩個(gè)音頻時(shí)間長度不相等endd = zeros(N, P);if (N P)% 在兩個(gè)音頻時(shí)間長度相等的前提下 copies = zeros(1,P);for n = 1:Nd(n,:)二 sum(x(:, n+copies) - y) .A2, 1);endelsecopies = zeros(1,N);for p = 1:P4d(:,p) = sum(x - y(:, p+copies) .A2, 1);end% 成對歐氏距離的兩個(gè)矩陣的列之間的距離 endd = d.A0.5;3.2.3 函數(shù) vqlbg- 該函數(shù)利用矢量量化提取了音頻的 vq 碼本
13、function r = vqlbg(d,k)e = .01;r = mean(d, 2);dpr = 10000;for i = 1:log2(k)r = r*(1+e), r*(1-e);while (1 = 1)z = disteu(d, r);m,ind = min(z, , 2);t = 0;for j = 1:2Air(:, j) = mean(d(:, find(ind = j), 2);x = disteu(d(:, find(ind = j), r(:, j);for q = 1:length(x) t = t + x(q);endendif (dpr - t)/t) e)b
14、reak;elsedpr = t;endendend3.2.4 函數(shù) testfunction finalmsg = test(testdir, n, code)for k = 1:n% read test sound file of each speakerfile = sprintf(%ss%d.wav, testdir, k);s, fs = wavread(file);v = mfcc(s, fs);%distmin = 4;%d = disteu(v, code1); 距離”得到測試人語音的 mel 倒譜系數(shù) 閾值設(shè)置處 就判斷一次,因?yàn)槟0謇锩嬷挥幸粋€(gè)文件 % 計(jì)算得到模板和要判斷
15、的聲音之間的變換得到一個(gè)距離的量dist = sum(min(d,2) / size(d,1); %測試閾值數(shù)量級與模板語音信號的差值為 :_x0010_f , dist);5% msgc = sprintf( disp(msgc);if dist distminmsg = sprintf(第位說話者與模板語音信號不匹配,不符合要求!n, k);finalmsg= 此位說話者不符合要求 !;%界面顯示語句,可隨意設(shè)定disp(msg);endend3.2.5 函數(shù) testDB這個(gè)函數(shù)實(shí)際上是對數(shù)據(jù)庫一個(gè)查詢 , 根據(jù)測試者的聲音 , 找相應(yīng)的文件 , 并且給 出是誰的提示function t
16、estmsg = testDB(testdir, n, code) nameList=1,2,3,4,5,6,7,8,9 ;% 這個(gè)是我們要識別的 9 個(gè)數(shù)for k = 1:n%數(shù)據(jù)庫中每一個(gè)說話人的特征file = sprintf(%ss%d.wav, testdir, k); %找出文件的路徑s, fs = wavread(file);對找到的文件取 mfcc 變換v = mfcc(s, fs); distmin = inf; k1 = 0;for l = 1:length(code) d = disteu(v, codel); dist = sum(min(d,2) / size(d,
17、1);if dist distmindistmin= dist;% 這里和 test 函數(shù)里面一樣 但多了一個(gè)具體語者的識別6 k1 = l;endend msg=nameListk1 msgbox(msg);end3.2.6 函數(shù) train- 該函數(shù)就是對音頻進(jìn)行訓(xùn)練,也就是提取特征參數(shù) function code = train(traindir, n)k = 16; % number of centroids requiredfor i = 1:n % 對數(shù)據(jù)庫中的代碼形成碼本file = sprintf(%ss%d.wav, traindir, i);disp(file);s, fs
18、 = wavread(file);v = mfcc(s, fs); % 計(jì)算 MFCCs 提取特征特征,返回值是 Mel 倒譜系數(shù),是一個(gè) log 的 dct 得到的codei = vqlbg(v, k);%訓(xùn)練VQ碼本通過矢量量化,得到原說話人的VQ碼本end3.2.7 函數(shù) melfb- 確定矩陣的濾波器function m = melfb(p, n, fs)f0 = 700 / fs;fn2 = floor(n/2);lr = log(1 + 0.5/f0) / (p+1);% convert to fft bin numbers with 0 for DC termbl = n * (
19、f0 * (exp(0 1 p p+1 * lr) - 1);直接轉(zhuǎn)換為FFT的數(shù)字模型bl = floor(bl(1) + 1;b2 = ceil(b l(2);b3 = floor(bl(3);b4 = min(fn2, ceil(bl(4) - 1; pf = log(1 + (b1:b4)/n/f0) / lr; fp = floor(pf);pm = pf - fp;r = fp(b2:b4) 1+fp(1:b3);c = b2:b4 1:b3 + 1;v = 2 * 1-pm(b2:b4) pm(1:b3); m = sparse(r, c, v, p, 1+fn2)7四、演示分析
20、我們的功能分為兩部分:對已經(jīng)保存的9個(gè)數(shù)字的語音進(jìn)行辨別和實(shí)時(shí)的判斷說話人說的是否為一個(gè)數(shù).在前者的實(shí)驗(yàn)過程中,先把9個(gè)數(shù)字的聲音保存成wav 的格式,放在一個(gè)文件夾中,作為一個(gè)檢測的數(shù)據(jù)庫然后對檢測者實(shí)行識別,系 統(tǒng)給出提示是哪個(gè)數(shù)字在第二個(gè)功能中,實(shí)時(shí)的錄取一段說話人的聲音作為模板,提取mfcc特征參數(shù), 隨后緊接著進(jìn)行遇著識別,也就是讓其他人再說相同的話,看是否是原說話者實(shí)驗(yàn)過程及具體功能如下:先打開Matlab使Current Directory為錄音及程序所所在的文件夾再打開文件“ enter.m ”點(diǎn)run運(yùn)行,打開enter界面,點(diǎn)擊“進(jìn)入”按鈕進(jìn)入 系統(tǒng)。(注:文件包未封裝完畢
21、,目前只能通過此方式打開運(yùn)行。)(如下圖figurel )figurel8在對數(shù)據(jù)庫中已有的語者進(jìn)行識別模塊選擇載入語音庫語音個(gè)數(shù);點(diǎn)擊語音庫錄制模版進(jìn)行已存語音信息的提取; 點(diǎn)擊錄音-test進(jìn)行現(xiàn)場錄音;點(diǎn)擊語者判斷進(jìn)行判斷數(shù)字,并顯示出來 在實(shí)時(shí)語者識別模塊點(diǎn)擊實(shí)時(shí)錄制模板上的“錄音-train ”按鈕,是把新語者的聲音以wav格式存放 在”實(shí)時(shí)模板”文件夾中,接著點(diǎn)擊“實(shí)時(shí)錄制模板”,把新的模板提取特征值。 隨后點(diǎn)擊實(shí)時(shí)語者識別模板上的“錄音-train ”按鈕,是把語者的聲音以wav格 式存放在”測試”文件夾中,再點(diǎn)擊“實(shí)時(shí)語者識別”,在對測得的聲音提取特征 值的同時(shí),和實(shí)時(shí)模板進(jìn)行
22、比對,然后得出是否是實(shí)時(shí)模板中的語者。另外面板上的播放按鈕都是播放相對應(yīng)左邊錄取的聲音。想要測量多次,只要接著錄音,自動保存,然后程序比對音頻就可以。 退出只要點(diǎn)擊菜單File/Exit ,退出程序。9程序運(yùn)行截圖:(fig.2 )運(yùn)行后系統(tǒng)界面五、心得體會實(shí)驗(yàn)表明,該系統(tǒng)能較好地進(jìn)行語音的識別,同時(shí),基于矢量量化技術(shù) (VQ) 的語音識別系統(tǒng)具有分類準(zhǔn)確,存儲數(shù)據(jù)少,實(shí)時(shí)響應(yīng)速度快等綜合性能好的特 占八、矢量量化技術(shù)在語音識別的應(yīng)用方面,尤其是在孤立詞語音識別系統(tǒng)中得到很好 的應(yīng)用,特別是有限狀態(tài)矢量量化技術(shù),對于語音識別更為有效。通過這次課程設(shè)計(jì),我對語音識別有了更加形象化的認(rèn)識,也強(qiáng)化了
23、MATLAB勺應(yīng)用,對將來的學(xué)習(xí)奠定了基礎(chǔ)。10附: GUI 程序代碼varargout = untitled2(varargin) function % UNTITLED2 M-file for untitled2.fig existingraises the new UNTITLED2 or a % UNTITLED2, by itself, creates% singleton*. or the handle% H = UNTITLED2 returns the handle to a new UNTITLED2to % the existing singleton*. % UNTITL
24、ED2(CALLBACK,hObject,eventData,handles,.) calls thelocal% function named CALLBACK in UNTITLED2.M with the given inputarguments. % UNTITLED2(Property,Value,.)creates a new UNTITLED2 orraises the% existing singleton*. Starting from the left, property valuepairsare% applied to the GUI before untitled2_
25、OpeningFunction gets called.An% unrecognized property name or invalid value makes propertyapplicationvarargin.untitled2_OpeningFcn via are % stop. All inputspassed to% *See GUI Options on GUIDEs Tools menu. Choose GUI allows onlyone % instance to run (singleton). % % See also: GUIDE, GUIDATA, GUIHAN
26、DLES % Copyright 2002-2003 The MathWorks, Inc.% Edit the above text to modify the response to help untitled2% Last Modified by GUIDE v2.5 08-Jun-2010 23:58:57 % Begin initializationcode- DO NOT EDIT gui_Singleton = 1; . gui_Name , mfilename, gui_State = struct( . , gui_Singleton, gui_Singleton. , un
27、titled2_OpeningFcn,gui_OpeningFcn. gui_OutputFcn, untitled2_OutputFcn,. , ,gui_LayoutFcn, );gui_Callback11nargin & ischar(varargin1)if gui_State.gui_Callback =str2func(varargin1);endnargout if varargout1:nargout =gui_mainfcn(gui_State, varargin:);end % End initialization code - DO NOT EDITelse gui_m
28、ainfcn(gui_State,varargin:);% - Executes justbefore untitled2 is made visible.untitled2_OpeningFcn(hObject, eventdata,handles,varargin) function% This function has no output args, see OutputFcn. %hObjecthandle to figure% eventdata reserved - to be defined in a futureversionof MATLAB % handlesstructu
29、rewith handles and userdata (see GUIDATA) %varargincommand line arguments to untitled2 (see VARARGIN)% Choose defaultcommand line output for untitled2 guidata(hObject,handles.output = hObject;% Update handlesstructurehandles););axes13tag,axes(findobj(); 3.jpg imshow();, axes12 axes(tagfindobj(see UI
30、RESUME);imshow( 1.jpg% uiwait(handles.figure1);% UIWAIT makes untitled2 wait for user response% - Outputs from this function areeventdata,returned to the command line. varargout = untitled2_OutputFcn(hObject, handles) function% varargout cell array for returning output args (see% eventdata reserved
31、- to be definedVARARGOUT); % hObject handle to figurein a future version of MATLAB % handles structure with handles and user data(see GUIDATA) %Get default command line output from handles structure varargout1= handles.output; % - Executes on button press in pushbutton1.pushbutton1_Callback(hObject,
32、 eventdata, handles) function % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be definedin a future versionof MATLAB% handles structure with handles and user data (see GUIDATA) );String Channel_Str=get(handles.popupmenu3,Channel_Number=str2double(Channel _Strget(handles.popupmen
33、u3, Value );moodle; global %? y? 6 3 o?DD id? ?,Channel_Number) 模版 moodle = train( 12% - Executes on button press in pushbutton2.pushbutton2_Callback(hObject,eventdata, handles)function % hObject handle to pushbutton2 (see GCBO)%eventdata reserved - to be defined in a future version of MATLAB% handg
34、lobaldata1; moodle ; global%ee 土?53? 12a ,1,moodle) 測試 test( %Open_Callback(hObject, eventdata, handles)function% hObjecthandle to Open(see GCBO) % eventdata reservedtobedefined in a futureversion ofMATLAB %13handles structure with handles and user data (seefile=get(handles.edits,filename,GUIDATA) )
35、 filename,pathname=uigetfile(pathname) y,f,b=wavread(file);Exit_Callback(hObject, eventdata, handles)function% hObjecthandle to Exit(see GCBO) % eventdata reservedtobedefined ina futureversionofMATLAB %handles structure with handles and user data (see GUIDATA)exitAbout_Callback(hObject,eventdata, ha
36、ndles) function% hObjecthandleto About(see GCBO) % eventdata reservedto be defined ina futureversionofMATLABhandles structure with handles and user data (see GUIDATA) 語者識別H= )helpdlg(H, help textFile_Callback(hObject, eventdata, handles)function% hObjecthandle to File(see GCBO) % eventdata reservedt
37、o be defined ina futureversion of MATLABhandles structure with handles and user data (see GUIDATA)%Edit_Callback(hObject, eventdata, handles)function% hObjecthandle to Edit(see GCBO) % eventdata reservedto be defined ina futureversion of MATLABhandles structure with handles and user data (see GUIDAT
38、A)%Help_Callback(hObject, eventdata, handles)function% hObjecthandle to Help(see GCBO) % eventdata reservedto be defined ina futureversion of MATLAB% - Executes onhandles structure with handles and user data (see GUIDATA)button press in pushbutton7.pushbutton7_Callback(hObject, eventdata,handles) fu
39、nction% hObject handle to pushbutton7 (see GCBO)% eventdatareservedto be defined in a future version of MATLAB % handles structurewithhandles and user data (see GUIDATA)? 請速度錄音 msg= msgbox(msg) cleardata1; global %global dataDN1;); winsoundAI = analoginput(chan =addchannel(AI,1:2);%1 second acquisit
40、ionduration = 3;,8000) SampleRate set(AI,); SampleRateActualRate =get(AI,duration*ActualRate)SamplesPerTriggerset(AI,) ManualTriggerType ,set(AI,);blocksize= get(AI, SamplesPerTriggerFstrigger(AI)E:Matlabdata1,time,abstime,events = getdata(AI);語音識別系統(tǒng) fname=sprintf(taDN1=wden(data1,heursure,s,one,5,s
41、ym8);denoisemsgbox(fname)% - Executes on button press in pushbutton8.pushbutton8_Callback(hObject,eventdata, handles)functionpushbutton8 (see GCBO) % eventdata reservedstructure with handles and user data (see GUIDATA)of MATLAB % handlesdata1; global %globalaxes(handles.axes1)列),ylabel(信號幅14to= Actu
42、alRate; start(AI) s1.wav 實(shí)時(shí)模版wavwrite(data1,fname)% hObject handletobe definedin a future versiondataDN1; sound(data1) %sound(dataDN1)plot(data1);%plot(dataDN1);); %setxlabel(to plot at訓(xùn)練采樣序axes1%xlabel(? gd-2 e? Q 0 D),ylabel(sym8D?2? ji ?o og?D?o?-u);% - Executes on button press in pushbutton9.;gr
43、id onpushbutton9_Callback(hObject,cleareventdata, handles)function% hObject handle to pushbutton9 (see GCBO)eventdata reserved - to be defined in a future version of MATLAB% handlesstructure with handles and user data (see GUIDATA) ? 請速度錄音 msg=msgbox(msg)clear data2; global%global dataDN2;);AI = ana
44、loginput(winsoundchan =addchannel(AI,1:2);%1 second acquisitionduration = 3;,8000) SampleRateset(AI,); SampleRate ActualRate =get(AI,duration*ActualRate)SamplesPerTriggerset(AI,) ManualTriggerType ,set(AI,); SamplesPerTriggerblocksize = get(AI,Fstrigger(AI)data2,time,abstime,events = getdata(AI);= A
45、ctualRate;) 測試start(AI)s1.wavfname=sprintf(E:Matlab語音識別系統(tǒng)taDN1=wden(data1,heursure,s,one,5,sym8);denoisewavwrite(data2,fname)msgbox(fname)% - Executes on button press in pushbutton10.pushbutton10_Callback(hObject, eventdata, handles)function% hObject handleto pushbutton10 (see GCBO) % eventdata rese
46、rvedtobe definedin a future versionof MATLAB % handles structure with handles and user data (see GUIDATA)data2; global %globaldataDN2; sound(data2) %sound(dataDN2)%set to plot ataxes1axes(handles.axes2) 幅 xlabel(%xlabel(2a);%; on gridclearplot(data2);%plot(dataDN2);); 測試采樣序列 ),ylabel(信號e?2 e? uDo D)
47、,ylabel(sym8D?2? i ?o ol?D?o? u% -Executes on button press in pushbutton11.pushbutton11_Callback(hObject,eventdata, handles)function% hObject handle to pushbutton11 (see GCBO)eventdata reserved - to be defined in a future version of MATLAB% handles15structure with handles and user data (see GUIDATA)
48、 測試 testDB(% - Executes on button press in pushbutton12.pushbutton12_Callback(hObject, eventdata, handles)moodle ;functionto be definedglobal ,1,moodle)% hObject handleto pushbutton12 (see GCBO) % eventdata reservedof MATLAB % handles structure with handles and user data (see GUIDATA)in a future ver
49、sionmoodle; global moodle = train( 實(shí)時(shí)模板 ,1)% - Executes on selectionchange in popupmenu3. popupmenu3_Callback(hObject,eventdata, handles)function% hObject handle to popupmenu3 (see GCBO)17% handleseventdata reserved - to be defined in a future version of MATLAB structure with handles and user data (see GUIDATA)% Hints: contents = get(hO
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度內(nèi)墻刮瓷施工售后服務(wù)保障合同
- 二零二五版車輛掛靠經(jīng)營免責(zé)協(xié)議范本2篇
- 二零二五年度廠房拆除工程進(jìn)度與質(zhì)量監(jiān)管協(xié)議3篇
- 二零二五版餐飲企業(yè)員工安全與健康保障合同3篇
- 二零二五年度場陷踩踏式混戰(zhàn)安全應(yīng)急預(yù)案修訂合同4篇
- 2025版影視作品授權(quán)委托書模板詳述3篇
- 2025年度花卉行業(yè)標(biāo)準(zhǔn)化生產(chǎn)與銷售合作合同3篇
- 2025年度企業(yè)信息安全與數(shù)據(jù)保護(hù)合同-@-1
- 二零二五年度建設(shè)工程糾紛訴前財(cái)產(chǎn)保全擔(dān)保合同
- 二零二五年度出差安全培訓(xùn)及應(yīng)急處理協(xié)議書4篇
- 城市微電網(wǎng)建設(shè)實(shí)施方案
- 企業(yè)文化融入中華傳統(tǒng)文化的實(shí)施方案
- 9.1增強(qiáng)安全意識 教學(xué)設(shè)計(jì) 2024-2025學(xué)年統(tǒng)編版道德與法治七年級上冊
- 《化工設(shè)備機(jī)械基礎(chǔ)(第8版)》全套教學(xué)課件
- 人教版八年級數(shù)學(xué)下冊舉一反三專題17.6勾股定理章末八大題型總結(jié)(培優(yōu)篇)(學(xué)生版+解析)
- 2024屆上海高考語文課內(nèi)古詩文背誦默寫篇目(精校版)
- DL-T5024-2020電力工程地基處理技術(shù)規(guī)程
- 初中數(shù)學(xué)要背誦記憶知識點(diǎn)(概念+公式)
- 駕照體檢表完整版本
- 農(nóng)產(chǎn)品農(nóng)藥殘留檢測及風(fēng)險(xiǎn)評估
- 農(nóng)村高中思想政治課時(shí)政教育研究的中期報(bào)告
評論
0/150
提交評論