語(yǔ)音識(shí)別系統(tǒng)試驗(yàn)報(bào)告材料_第1頁(yè)
語(yǔ)音識(shí)別系統(tǒng)試驗(yàn)報(bào)告材料_第2頁(yè)
語(yǔ)音識(shí)別系統(tǒng)試驗(yàn)報(bào)告材料_第3頁(yè)
語(yǔ)音識(shí)別系統(tǒng)試驗(yàn)報(bào)告材料_第4頁(yè)
語(yǔ)音識(shí)別系統(tǒng)試驗(yàn)報(bào)告材料_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)用標(biāo)準(zhǔn)語(yǔ)音識(shí)別系統(tǒng)實(shí)驗(yàn)報(bào)告專(zhuān)業(yè)班級(jí):信息安全學(xué)號(hào):姓名:目錄一、設(shè)計(jì)任務(wù)及要求1二、語(yǔ)音識(shí)別的簡(jiǎn)單介紹2.1語(yǔ)者識(shí)別的概念22.2特征參數(shù)的提取32.3用矢量量化聚類(lèi)法生成碼本32.4VQ的說(shuō)話(huà)人識(shí)別4三、算法程序分析3.1函數(shù)關(guān)系.3.2代碼說(shuō)明53.2.1 函數(shù) mfcc53.2.2 函數(shù) disteu 53.2.3函數(shù)vqlbg 文案大全324函數(shù)test6325 函數(shù) testDB 73.2.6 函數(shù) train83.2.7 函數(shù) melfb 8四、演示分析五、心得體會(huì)j附:GUI程序代碼、設(shè)計(jì)任務(wù)及要求 實(shí)現(xiàn)語(yǔ)音識(shí)別功能。、語(yǔ)音識(shí)別的簡(jiǎn)單介紹基于VQ的說(shuō)話(huà)人識(shí)別系統(tǒng),矢量量化起著雙

2、重作用。在訓(xùn)練階段,把每一個(gè)說(shuō)話(huà)者所提取的特征參數(shù)進(jìn)行分類(lèi),產(chǎn)生不同碼字所組成的碼本。在識(shí)別(匹配)階段,我們用VQ方法計(jì)算平均失真測(cè)度(本系統(tǒng)在計(jì)算距離d時(shí),采用歐氏距 離測(cè)度),從而判斷說(shuō)話(huà)人是誰(shuí)。語(yǔ)音識(shí)別系統(tǒng)結(jié)構(gòu)框圖如圖1所示數(shù)據(jù)VQ 続型I碼本庫(kù): 也話(huà)人:的碼壓提取訓(xùn)練稅話(huà)人2的碼本預(yù)加堇、f加漢明窗WiSA N的碼k碼車(chē)hl識(shí)別f匹a己i'i' "«' i'b" j'l'l' - i'i'u輸出識(shí)別結(jié)毘摻算圖1語(yǔ)音識(shí)別系統(tǒng)結(jié)構(gòu)框圖2.1語(yǔ)者識(shí)別的概念語(yǔ)者識(shí)別就是根據(jù)說(shuō)話(huà)人的語(yǔ)音信號(hào)

3、來(lái)判別說(shuō)話(huà)人的身份。語(yǔ)音是人的自然屬性之一,由于說(shuō)話(huà)人發(fā)音器官的生理差異以及后天形成的行為差異,每個(gè)人的語(yǔ)音都帶有強(qiáng)烈的個(gè)人色彩,這就使得通過(guò)分析語(yǔ)音信號(hào)來(lái)識(shí)別說(shuō)話(huà)人成為可能。 用語(yǔ)音來(lái)鑒別說(shuō)話(huà)人的身份有著許多獨(dú)特的優(yōu)點(diǎn),如語(yǔ)音是人的固有的特征,不 會(huì)丟失或遺忘;語(yǔ)音信號(hào)的采集方便,系統(tǒng)設(shè)備成本低;利用電話(huà)網(wǎng)絡(luò)還可實(shí)現(xiàn) 遠(yuǎn)程客戶(hù)服務(wù)等。因此,近幾年來(lái),說(shuō)話(huà)人識(shí)別越來(lái)越多的受到人們的重視。與 其他生物識(shí)別技術(shù)如指紋識(shí)別、手形識(shí)別等相比較,說(shuō)話(huà)人識(shí)別不僅使用方便, 而且屬于非接觸性,容易被用戶(hù)接受,并且在已有的各種生物特征識(shí)別技術(shù)中,是唯一可以用作遠(yuǎn)程驗(yàn)證的識(shí)別技術(shù)。因此,說(shuō)話(huà)人識(shí)別的應(yīng)用前景非常

4、廣泛: 今天,說(shuō)話(huà)人識(shí)別技術(shù)已經(jīng)關(guān)系到多學(xué)科的研究領(lǐng)域,不同領(lǐng)域中的進(jìn)步都對(duì)說(shuō)話(huà)人識(shí)別的發(fā)展做出了貢獻(xiàn)。說(shuō)話(huà)人識(shí)別技術(shù)是集聲學(xué)、語(yǔ)言學(xué)、計(jì)算機(jī)、信息 處理和人工智能等諸多領(lǐng)域的一項(xiàng)綜合技術(shù),應(yīng)用需求將十分廣闊。在吃力語(yǔ)音 信號(hào)的時(shí)候如何提取信號(hào)中關(guān)鍵的成分尤為重要。語(yǔ)音信號(hào)的特征參數(shù)的好壞直接導(dǎo)致了辨別的準(zhǔn)確性。2.2特征參數(shù)的提取對(duì)于特征參數(shù)的選取,我們使用 mfcc的方法來(lái)提取。MFCC參數(shù)是基于人 的聽(tīng)覺(jué)特性利用人聽(tīng)覺(jué)的屏蔽效應(yīng),在 Mel標(biāo)度頻率域提取出來(lái)的倒譜特征參 數(shù)。MFCC參數(shù)的提取過(guò)程如下:1. 對(duì)輸入的語(yǔ)音信號(hào)進(jìn)行分幀、加窗,然后作離散傅立葉變換,獲得頻譜分布 信息。設(shè)語(yǔ)音

5、信號(hào)的DFT為:N 1j 2 nkXa(k)x(n )e,0 k N 1( 1)n 1其中式中x(n)為輸入的語(yǔ)音信號(hào),N表示傅立葉變換的點(diǎn)數(shù)。2. 再求頻譜幅度的平方,得到能量譜。3. 將能量譜通過(guò)一組Mel尺度的三角形濾波器組。我們定義一個(gè)有M個(gè)濾波器的濾波器組(濾波器的個(gè)數(shù)和臨界帶的個(gè)數(shù)相近)采用的濾波器為三角濾波器,中心頻率為 f(m),m=1,2,3, - M本系統(tǒng)取M=100 。4. 計(jì)算每個(gè)濾波器組輸出的對(duì)數(shù)能量。N 1S(m) ln(|Xa(k) |2 Hm(k),( 2)k 1( 2 )0 m M 1其中Hm(k)為三角濾波器的頻率響應(yīng)。5. 經(jīng)過(guò)離散弦變換(DCT)得到MF

6、CC系數(shù)。M 1C(n)S (m)cos( n(m 0.5/m),(3)m 00 n N 1MFCC系數(shù)個(gè)數(shù)通常取20 30,常常不用0階倒譜系數(shù),因?yàn)樗从车氖穷l譜能量,故在一般識(shí)別系統(tǒng)中,將稱(chēng)為能量系數(shù),并不作為倒譜系數(shù),本系統(tǒng)選取20階倒譜系數(shù)。2.3用矢量量化聚類(lèi)法生成碼本我們將每個(gè)待識(shí)的說(shuō)話(huà)人看作是一個(gè)信源,用一個(gè)碼本來(lái)表征。碼本是從該說(shuō)話(huà)人的訓(xùn)練序列中提取的 MFCC特征矢量聚類(lèi)而生成。只要訓(xùn)練的序列足夠 長(zhǎng),可認(rèn)為這個(gè)碼本有效地包含了說(shuō)話(huà)人的個(gè)人特征,而與講話(huà)的內(nèi)容無(wú)關(guān)。本系統(tǒng)采用基于分裂的LBG的算法設(shè)計(jì)VQ碼本,Xk(k 1,2,K)為訓(xùn)練序列,B為碼本。具體實(shí)現(xiàn)過(guò)程如下:1

7、. 取提取出來(lái)的所有幀的特征矢量的型心(均值)作為第一個(gè)碼字矢量B1 o2. 將當(dāng)前的碼本Bm根據(jù)以下規(guī)則分裂,形成2m個(gè)碼字。Bm Bm(1)(4)Bm Bm(1)其中m從1變化到當(dāng)前的碼本的碼字?jǐn)?shù),&是分裂時(shí)的參數(shù),本文& =0.01 o3. 根據(jù)得到的碼本把所有的訓(xùn)練序列(特征矢量)進(jìn)行分類(lèi),然后按照下面兩個(gè)公 式計(jì)算訓(xùn)練矢量量化失真量的總和 Dn以及相對(duì)失真(n為迭代次數(shù),初始n=0 , D1 = x,B為當(dāng)前的碼書(shū)),若相對(duì)失真小于某一閾值&,迭代結(jié)束,當(dāng)前的碼 書(shū)就是設(shè)計(jì)好的2m個(gè)碼字的碼書(shū),轉(zhuǎn)5。否則,轉(zhuǎn)下一步。量化失真量和:KD(n)mi nd(Xk,B

8、)(5)k 1相對(duì)失真:D(n 1) Dn4. 重新計(jì)算各個(gè)區(qū)域的新型心,得到新的碼書(shū),轉(zhuǎn)3 o5. 重復(fù)2, 3和4步,直到形成有M個(gè)碼字的碼書(shū)(M是所要求的碼字?jǐn)?shù)),其中 D0=10000 o2.4 VQ的說(shuō)話(huà)人識(shí)別設(shè)是未知的說(shuō)話(huà)人的特征矢量X1,K ,Xt,共有T幀是訓(xùn)練階段形成的碼書(shū),表示碼書(shū)第m個(gè)碼字,每一個(gè)碼書(shū)有M個(gè)碼字。再計(jì)算測(cè)試者的平均量化失真D,并設(shè)置一個(gè)閾值,若D小于此閾值,則是原訓(xùn)練者,反之則認(rèn)為不是原訓(xùn)練D 1/Tmi nd(Xj,Bm)(7)J1 m M三、算法程序分析在具體的實(shí)現(xiàn)過(guò)程當(dāng)中,采用了matlab軟件來(lái)幫助完成這個(gè)項(xiàng)目。在matlab中主要由采集,分析,特

9、征提取,比對(duì)幾個(gè)重要部分。以下為在實(shí)際的 操作中,具體用到得函數(shù)關(guān)系和作用一一列舉在下面。3.1函數(shù)關(guān)系主要有兩類(lèi)函數(shù)文件Train.m和Test.m在Train.m調(diào)用Vqlbg.m 獲取訓(xùn)練錄音的 vq碼本,而Vqlbg.m 調(diào)用 mfcc.m 獲取單個(gè)錄音的 mel倒譜系數(shù),接著 mfcc.m 調(diào)用Melfb.m- 將能量 譜通過(guò)一組Mel尺度的三角形濾波器組。在Test.m函數(shù)文件中調(diào)用Disteu.m計(jì)算訓(xùn)練錄音(提供vq碼本)與測(cè)試 錄音(提供mfcc)mel倒譜系數(shù)的距離,即判斷兩聲音是否為同一錄音者提供。Disteu.m 調(diào)用mfcc.m 獲取單個(gè)錄音的 mel倒譜系數(shù)。mfc

10、c.m 調(diào)用Melfb.m- 將能量譜通過(guò)一組Mel尺度的三角形濾波器組。3.2具體代碼說(shuō)明3.2.1 函數(shù) mffc:fun ctio n r = mfcc(s, fs)m = 100;n = 256;%沿-%方向取整l = len gth(s);n bFrame = floor(l - n) / m) + 1;for i = 1:nfor j = 1:n bFrameM(i, j) = s(j - 1) * m) + i);%對(duì)矩陣 M 賦值endendh = hamming(n);%加hamming窗,以增加音框左端和右端的連續(xù)性M2 = diag(h) * M;for i = 1:n

11、bFrameframe(:,i) = fft(M2(:, i);%對(duì)信號(hào)進(jìn)行快速傅里葉變換 FFTendt = n / 2;tmax = l / fs;m = melfb(20, n, fs); %將上述線(xiàn)性頻譜通過(guò) Mel頻率濾波器組得到Mel頻譜,下面在將其轉(zhuǎn)化成對(duì)數(shù)頻譜n2 = 1 + floor(n / 2);z = m * abs(frame(1:n2, :).A2;r = dct(log(z);%將上述對(duì)數(shù)頻譜,經(jīng)過(guò)離散余弦變換(DCT)變換到倒譜域,即可得到Mel倒譜系數(shù)(MFCC參數(shù))3.2.2 函數(shù) disteu-計(jì)算測(cè)試者和模板碼本的距離fun cti on d = dis

12、teu(x, y)M, N = size(x);%音頻x賦值給【M , N】M2, P = size(y); % 音頻y賦值給【M2 , P】if (M = M2)error('不匹配! )%兩個(gè)音頻時(shí)間長(zhǎng)度不相等endd = zeros(N, P);if (N < P)%在兩個(gè)音頻時(shí)間長(zhǎng)度相等的前提下copies = zeros(1,P);for n = 1:Nd(n,:)二 sum(x(:, n+copies) - y) .A2, 1);end elsecopies = zeros(1,N);for p = 1:Pd(:,p) = sum(x - y(:, p+copies)

13、 42, 1)'end%成對(duì)歐氏距離的兩個(gè)矩陣的列之間的距離 end d = d.A0.5;3.2.3 函數(shù) vqlbg-該函數(shù)利用矢量量化提取了音頻的vq碼本fun cti on r = vqlbg(d,k) e = .01;r = mea n(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(:, fin d(i nd = j), 2);x =

14、disteu(d(:, fin d(i nd = j), r(:, j); for q = 1:le ngth(x)t = t + x(q);endendif (dpr - t)/t) < e)break;elsedpr = t;endendend3.2.4 函數(shù) testfunction finalmsg = test(testdir, n, code)for k = 1:n% read test sound file of each speakerfile = spri ntf('%ss%d.wav', testdir, k);s, fs = wavread(file

15、);v = mfcc(s, fs);%得到測(cè)試人語(yǔ)音的mel倒譜系數(shù)distmi n = 4;%閾值設(shè)置處%就判斷一次,因?yàn)槟0謇锩嬷挥幸粋€(gè)文件d = disteu(v, code1);%計(jì)算得到模板和要判斷的聲音之間的“距離”dist = sum(mi n(d,2) / size(d,1);% 變換得到一個(gè)距離的量%測(cè)試閾值數(shù)量級(jí)msgc = sprintf('與模板語(yǔ)音信號(hào)的差值為:10f ', dist);disp(msgc);%此人匹配if dist <= distmi n% 一個(gè)閾值,小于閾值,則就是這個(gè)人msg = sprintf('第%d位說(shuō)話(huà)者與模

16、板語(yǔ)音信號(hào)匹配,符合要求!n'.k);finalmsg ='此位說(shuō)話(huà)者符合要求!' %界面顯示語(yǔ)句,可隨意設(shè)定disp(msg);end%此人不匹配 if dist > distminmsg = sprintf('第%d位說(shuō)話(huà)者與模板語(yǔ)音信號(hào)不匹配,不符合要求!n', k);fin almsg =:'此位說(shuō)話(huà)者不符合要求!' %界面顯示語(yǔ)句,可隨意設(shè)定disp(msg);endend3.2.5 函數(shù) testDB這個(gè)函數(shù)實(shí)際上是對(duì)數(shù)據(jù)庫(kù)一個(gè)查詢(xún),根據(jù)測(cè)試者的聲音,找相應(yīng)的文件,并且給 出是誰(shuí)的提示fun cti on testmsg

17、 = testDB(testdir, n, code)nameList='1',2,3,'4','5','6','7',8,9 ;% 這個(gè)是我們要識(shí)別的9個(gè)數(shù)for k = 1:n%數(shù)據(jù)庫(kù)中每一個(gè)說(shuō)話(huà)人的特征file = spri ntf('%ss%d.wav', testdir, k);% 找出文件的路徑s, fs = wavread(file);v = mfcc(s, fs);distmin = inf;k1 = 0;%對(duì)找到的文件取mfcc變換for l = 1:le ngth(code)d

18、= disteu(v, codel);dist = sum(mi n(d,2) / size(d,1);if dist < distmindistmin = dist;% 這里和test函數(shù)里面一樣但多了一個(gè)具體語(yǔ)者的識(shí)別k1 = l;endendmsg=n ameListk1msgbox(msg);end3.2.6 函數(shù) train-該函數(shù)就是對(duì)音頻進(jìn)行訓(xùn)練,也就是提取特征參數(shù)fun cti on code = train (tra in dir, n)k = 16;% nu mber of cen troids requiredfor i = 1:n%對(duì)數(shù)據(jù)庫(kù)中的代碼形成碼本file

19、 = spri ntf('%ss%d.wav', train dir, i);disp(file);s, fs = wavread(file);v = mfcc(s, fs);%計(jì)算MFCC's提取特征特征,返回值是Mel倒譜系數(shù),是一個(gè)log的dct得到的codei = vqlbg(v, k);%訓(xùn)練VQ碼本 通過(guò)矢量量化,得到原說(shuō)話(huà)人的VQ碼本end327 函數(shù) melfb-確定矩陣的濾波器function m = melfb(p, n, fs) f0 = 700 / fs;fn2 = floor( n/2);lr = log(1 + 0.5/f0) / (p+1)

20、;% con vert to fft bin nu mbers with 0 for DC term bl = n * (f0 * (exp(0 1 p p+1 * lr) - 1);直接轉(zhuǎn)換為FFT的數(shù)字模型b1 = floor(bl(1) + 1;b2 = ceil(b 1( 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

21、* 1-pm(b2:b4) pm(1:b3);m = sparse(r, c, v, p, 1+fn2)四、演示分析我們的功能分為兩部分:對(duì)已經(jīng)保存的9個(gè)數(shù)字的語(yǔ)音進(jìn)行辨別和實(shí)時(shí)的判 斷說(shuō)話(huà)人說(shuō)的是否為一個(gè)數(shù).在前者的實(shí)驗(yàn)過(guò)程中,先把9個(gè)數(shù)字的聲音保存成 wav的格式,放在一個(gè)文件夾中,作為一個(gè)檢測(cè)的數(shù)據(jù)庫(kù)然后對(duì)檢測(cè)者實(shí)行識(shí)別, 系統(tǒng)給出提示是哪個(gè)數(shù)字.在第二個(gè)功能中,實(shí)時(shí)的錄取一段說(shuō)話(huà)人的聲音作為模板,提取mfcc特征參 數(shù),隨后緊接著進(jìn)行遇著識(shí)別,也就是讓其他人再說(shuō)相同的話(huà),看是否是原說(shuō)話(huà)者.實(shí)驗(yàn)過(guò)程及具體功能如下:先打開(kāi)Matlab 使Current Directory為錄音及程序所所在

22、的文件夾再打開(kāi)文件“ enter.m ”,點(diǎn)run運(yùn)行,打開(kāi)enter界面,點(diǎn)擊“進(jìn)入”按鈕進(jìn)入系統(tǒng)。(注:文件包未封裝完畢,目前只能通過(guò)此方式打開(kāi)運(yùn)行。)(如下enter圖 figurel )L_1Speaker Recognition SystemGroup 10figurel在對(duì)數(shù)據(jù)庫(kù)中已有的語(yǔ)者進(jìn)行識(shí)別模塊選擇載入語(yǔ)音庫(kù)語(yǔ)音個(gè)數(shù);點(diǎn)擊語(yǔ)音庫(kù)錄制模版進(jìn)行已存語(yǔ)音信息的提取;點(diǎn)擊錄音-test進(jìn)行現(xiàn)場(chǎng)錄音; 點(diǎn)擊語(yǔ)者判斷進(jìn)行判斷數(shù)字,并顯示出來(lái)在實(shí)時(shí)語(yǔ)者識(shí)別模塊點(diǎn)擊實(shí)時(shí)錄制模板上的“錄音-train ”按鈕,是把新語(yǔ)者的聲音以 wav格 式存放在”實(shí)時(shí)模板”文件夾中,接著點(diǎn)擊“實(shí)時(shí)錄制模板

23、”,把新的模板提取 特征值。隨后點(diǎn)擊實(shí)時(shí)語(yǔ)者識(shí)別模板上的“錄音-train ”按鈕,是把語(yǔ)者的聲音以 wav格式存放在”測(cè)試”文件夾中,再點(diǎn)擊“實(shí)時(shí)語(yǔ)者識(shí)別”,在對(duì)測(cè)得的聲音提 取特征值的同時(shí),和實(shí)時(shí)模板進(jìn)行比對(duì),然后得出是否是實(shí)時(shí)模板中的語(yǔ)者。 另 外面板上的播放按鈕都是播放相對(duì)應(yīng)左邊錄取的聲音。想要測(cè)量多次,只要接著錄音,自動(dòng)保存,然后程序比對(duì)音頻就可以。退出只要點(diǎn)擊菜單File/Exit,退出程序。程序運(yùn)行截圖:(fig.2 )運(yùn)行后系統(tǒng)界面五、心得體會(huì)實(shí)驗(yàn)表明,該系統(tǒng)能較好地進(jìn)行語(yǔ)音的識(shí)別,同時(shí),基于矢量量化技術(shù) (VQ)的語(yǔ)音識(shí)別系統(tǒng)具有分類(lèi)準(zhǔn)確,存儲(chǔ)數(shù)據(jù)少,實(shí)時(shí)響應(yīng)速度快等綜合性能

24、好的特點(diǎn).矢量量化技術(shù)在語(yǔ)音識(shí)別的應(yīng)用方面,尤其是在孤立詞語(yǔ)音識(shí)別系統(tǒng)中得到 很好的應(yīng)用,特別是有限狀態(tài)矢量量化技術(shù),對(duì)于語(yǔ)音識(shí)別更為有效。通過(guò)這次課程設(shè)計(jì),我對(duì)語(yǔ)音識(shí)別有了更加形象化的認(rèn)識(shí),也強(qiáng)化了MATLAB的應(yīng)用,對(duì)將來(lái)的學(xué)習(xí)奠定了基礎(chǔ)。附:GUI程序代碼fun cti onpushbutt on 1_Callback(hObject, eve ntdata, han dies)% hObjecthan dle to pushbutt on1 (see GCBO)% eve ntdatareserved - to be defi ned in a future versi on of M

25、ATLAB% han diesstructure with han dies and user data (see GUIDATA)Channei_Str=get(handies.popupmenu3,'String');Channei_Number=str2doubie(Channei_Strget(handies.popupmenu3,'Vaiue' );giobai moodie;moodie = train('模版 ' ,Channei_Number) %? ' y? oo ? o ?DD ide ? 士?% - Executes

26、 on butt on press in pushbutt on2.fun cti onpushbutt on 2_Caiiback(hObject, eve ntdata, han dies)% hObjecthan die to pushbutt on2 (see GCBO)% eve ntdatareserved - to be defi ned in a future versi on of MATLAB% han dgiobai datal;giobai moodie ;test('測(cè)試 ' ,1,moodie) %ee±o? o ? i 2a%fun ct

27、i onOpen _Caiiback(hObject, eve ntdata, han dies)% hObjecthan die to Ope n (see GCBO)% eve ntdatareserved - to be defi ned in a future versi on of MATLAB% han diesstructure with han dies and user data (see GUIDATA)file name,path name=uigetfile(”)file=get(ha ndles.edits,file name,path name)y,f,b=wavr

28、ead(file);%fun cti on Exit_Callback(hObject, eve ntdata, han dles)% hObject han dle to Exit (see GCBO)% eve ntdatareserved - to be defi ned in a future versi on of MATLAB% han dlesstructure with han dles and user data (see GUIDATA)exit% fun cti on About_Callback(hObject, eve ntdata, han dles) % hObj

29、ect han dle to About (see GCBO)% eve ntdatareserved - to be defi ned in a future versi on of MATLAB% han dlesstructure with han dles and user data (see GUIDATA)H='語(yǔ)者識(shí)別'helpdlg(H, 'help text')% fun cti on File_Callback(hObject, eve ntdata, han dles)% hObjecthan dle to File (see GCBO)%

30、 eve ntdatareserved - to be defi ned in a future versi on of MATLAB% han diesstructure with han dies and user data (see GUIDATA)%fun cti on Edit_Callback(hObject, eve ntdata, han dles)% hObjecthan dle to Edit (see GCBO)% eve ntdatareserved - to be defi ned in a future versi on of MATLAB% han dlesstr

31、ucture with han dles and user data (see GUIDATA)%fun cti on Help_Callback(hObject, eve ntdata, han dles)% hObjecthan dle to Help (see GCBO)% eve ntdatareserved - to be defi ned in a future versi on of MATLAB% han dlesstructure with han dles and user data (see GUIDATA)% - Executes on butt on press in

32、 pushbutt on7.fun cti on pushbutt on 7_Callback(hObject, eve ntdata, han dles)% hObjecthan dle to pushbutt on7 (see GCBO)% eve ntdatareserved - to be defi ned in a future versi on of MATLAB% han dlesstructure with han dles and user data (see GUIDATA)msg='請(qǐng)速度錄音? msgbox(msg) clearglobal data1;%glo

33、bal dataDN1;AI = an alogi nput('win sou nd');cha n = addcha nn el(AI,1:2);durati on = 3;%1 sec ond acquisiti onset(AI, 'SampleRate' ,8000)ActualRate = get(AI, 'SampleRate');set(AI, 'SamplesPerTrigger',duration*ActualRate)set(AI, 'TriggerType' ,'Manual'

34、)blocksize = get(AI, 'SamplesPerTrigger' );Fs = ActualRate;start(AI)trigger(AI)data1,time,abstime,eve nts = getdata(AI);fname=sprintf('E:Matlab 語(yǔ)音識(shí)別系統(tǒng)實(shí)時(shí)模版 Ws1.wav')%dataDN 仁 wde n(data1,'heursure','s','o ne',5,'sym8');de noise wavwrite(data1,fname)msgb

35、ox(f name)% - Executes on butt on press in pushbutt on8.fun cti onpushbutt on 8_Callback(hObject, eve ntdata, han dles)% hObjecthan dle to pushbutt on8 (see GCBO)% eve ntdatareserved - to be defi ned in a future versi on of MATLAB% han dlesstructure with han dles and user data (see GUIDATA)global da

36、ta1;%global dataDN1;sou nd(datal)%sou nd(dataDNI)axes(ha ndles.axesl)%set to plot at axeslplot(datal);%plot(dataDN1);xlabel('訓(xùn)練采樣序列),ylabel('信號(hào)幅');%xlabel('?2 e ? u D oa D'),ylabel('sym8D?2"')?卩?o 6 ?D?o? ugrid on ;clear% - Executes on butt on press in pushbutt on9.f

37、un cti onpushbutt on 9_Callback(hObject, eve ntdata, han dles)% hObject han dle to pushbutt on9 (see GCBO)% eve ntdatareserved - to be defi ned in a future versi on of MATLAB% han dlesstructure with han dles and user data (see GUIDATA)msg='請(qǐng)速度錄音?msgbox(msg)clearglobal data2;%global dataDN2;AI =

38、an alogi nput('win sou nd');cha n = addcha nn el(AI,1:2);durati on = 3;%1 sec ond acquisiti onset(AI, 'SampleRate' ,8000)ActualRate = get(AI, 'SampleRate');set(AI, 'SamplesPerTrigger' ,duration*ActualRate)set(AI, 'TriggerType' ,'Manual')blocksize = get

39、(AI, 'SamplesPerTrigger' );Fs = ActualRate;start(AI)trigger(AI)data2,time,abstime,eve nts = getdata(AI);fname=sprintf('E:Matlab語(yǔ)音識(shí)別系統(tǒng)測(cè)試 Ws1.wav')%dataDN 仁 wde n(data1,'heursure','s','o ne',5,'sym8');de noise wavwrite(data2,fname)msgbox(f name)% - Execu

40、tes on butt on press in pushbutt on 10.fun cti onpushbutt on 10_Callback(hObject, eve ntdata, han dles)% hObject han dle to pushbutt on 10 (see GCBO)% eve ntdatareserved - to be defi ned in a future versi on of MATLAB% han dlesstructure with han dles and user data (see GUIDATA)global data2;%global d

41、ataDN2;sou nd(data2)%sou nd(dataDN2)axes(ha ndles.axes2)%set to plot at axeslplot(data2);%plot(dataDN2);xlabel('測(cè)試采樣序列),ylabel('信號(hào)幅');%xlabel(' 2a e?2 e ? u Dod D'),ylabel('sym8D?2- ?卩??%)卩?D?o? ugrid on ;clear% - Executes on butt on press in pushbutt on 11.fun cti onpushbutt

42、 on 11_Callback(hObject, eve ntdata, han dles)% hObjecthandle to pushbutt on 11 (see GCBO)% eve ntdatareserved - to be defined in a future version of MATLAB% han dlesstructure with han dles and user data (see GUIDATA)global moodle ;testDB('測(cè)試 ' ,1,moodle)% - Executes on butt on press in push

43、butt on 12.fun cti onpushbutt on 12_Callback(hObject, eve ntdata, han dles)% hObjecthan dle to pushbutto n12 (see GCBO)% eve ntdatareserved - to be defined in a future version of MATLAB% han dlesstructure with han dles and user data (see GUIDATA)global moodle;moodle = train('實(shí)時(shí)模板' ,1)% - Exe

44、cutes on selecti on cha nge in popupme nu3.fun cti onpopupme nu3_Callback(hObject, eve ntdata, han dies)% hObjecthan dle to popupme nu3 (see GCBO)% eve ntdatareserved - to be defi ned in a future versi on of MATLAB% han diesstructure with han dies and user data (see GUIDATA)% Hin ts: contents = get(

45、hObject,'Stri ng') retur ns popupme nu3 contents as cell array %con te ntsget(hObject,'Value') returns selected item from popupme nu3str=get(handles.popupmenu3,'String');val=str2num(strget(handles.popupmenu3,'Value' );switch valcase 1case 2case 3case 4case 5case 6case 7case 8case 9 end% -

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論