




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、緒論語言是人類交流信息的基本手段,在人們日益擴大的交流中占據著重要地位。在如今高度發達的信息社會中用數字化的方法進行語音的傳送、儲存識別、合成、增強等是整個數字化通信網中最重要、最基本的組成部分之一隨著信息科學技術的飛速發展,語音信號處理的研究也日益顯示出它的要性,并取得了重大進展。大體上說,語音信號處理技術可以分為以下四個面:即語音編碼,語音合成、說話人識別和語音識別等。語音壓縮編碼是壓語音信號便于傳輸通信和保密;語音合成系統是模仿和代替人口的發音功能語音識別系統則是模仿或代替人耳的聽覺功能,說話人識別系統屬于生物識技術的一種,是一項根據語音波形中反映說話人生理和行為特征的語音參數識別說話人
2、身份的技術。與語音識別不同的是,說話人識別利用的是語音信中的說話人信息,而不考慮語音中的字詞意思,它強調一說話人的個性;而音識別的目的是識別出語音信號中的言語內容,并不考慮說話人是誰,它強共性。隨著現代數字通訊、多媒體系統、信息高速公路等技術的應用和發展己經越來越深入地影響并改變著我們每個人地生活和工作方式,這同時也對音信號處理的研究工作提出了更高的要求,它在各方面的進展也令人矚目。1語音識別概述語音識別是試圖使機器能“聽懂”人類語音的技術。語音識別的作用是將語音轉換成等價的書面信息,也就是讓計算機聽懂人說話。作為一門交叉學科,語音識別又是以語音為研究對象,是語音信號處理的一個重要研究方向,是
3、模式識別的一個分支,涉及到計算機、信號處理、生理學、語言學、神經心理學、人工智能等諸多領域,甚至還涉及到人的體態語言(如人在說話時的表情、手勢等行為動作可幫助對方理解),其最終目標是實現人與機器進行自然語言通信1.1國外研究歷史及現狀語音識別的研究工作可以追溯到20世紀50年代。1952年at&t貝爾實驗室的audry系統,是第一個可以識別十個英文數字的語音識別系統。20世紀60年代末、70年代初出現了語音識別方面的幾種基本思想,其中的重要成果是提出了信號線性預測編碼(lpc)技術和動態時間規整(dtw)技術,有效地解決了語音信號的特征提取和不等長語音匹配問題;同時提出了矢量量化(vq)和隱馬
4、爾可夫模型(hmm)理論。20世80年代語音識別研究進一步走向深入:其顯著特征是hmm模型和人工神經網絡(ann)在語音識別中的成功應用。90年代,在計算機技術、電信應用等領域飛速發展的帶動下,迫切要求語音識別系統從實驗室走向實用。最具代表性的是ibm的viavoice和dragon公司的dragon dictate系統。這些系統具有說話人自適應能力,新用戶不需要對全部詞匯進行訓練,便可在使用中不斷提高識別率。1.2 國內研究歷史及現狀我國在語音識別研究上也投入了很大的精力,國內中科院的自動化所、聲學所以及清華大學等科研機構和高校都在從事語音識別領域的研究和開發。國家863智能計算機專家組為語
5、音識別技術研究專門立項,我國語音識別技術的研究水平已經基本上與國外同步。2. 語音識別的流程根據對輸出觀測值概率的不同描述,hmm(隱式馬爾可夫鏈)可分為離散hmm(dhmm)和連續hmm(chmm),兩者相似,不同的是chmm使用連續概率密度函數計算狀態概率。而dhmm則使用的是離散的矢量量化(vector quantization,vq)計算狀態概率。在基于dhmm的非特定人語音識別過程中語音信號先被分成若干音框(幀),每個音框用一個特征向量參數表示,然后將語音特征參數向量的時間序列矢量化,此時每一個音框的語音信號變成vq碼本,用碼本訓練hmm,最后測試識別率。3. 語音信號分析方法分類時
6、域特征直接從時域信號計算得到,反應了語音信號時域波形的特征。如短時平均能量、短時平均過零率、共振峰、基音周期等。頻域及倒譜域特征由時域信號進行頻譜變換得到,反映語音信號的頻域特性包括傅里葉頻譜、倒譜以及利用了語音信號的時序信息的時頻譜。聽覺特征指不直接對聲道模型進行研究,而是從人類聽覺系統對語音的感知特性來刻畫語音信號的特征。4. 短時分析技術語音信號是非平穩時變信號語音信號的特性是隨時間而變化的幸運的是具有短時平穩性短時間范圍內其特性基本保持不變(緩慢變換),即短時相對平穩準平穩過程短時分析技術即在對語音信號進行分析時,將語音信號分為一段一段,利用平穩信號的分析方法對每一分段進行處理每一分段
7、成為一“幀”:一般1030ms為一幀短時分析的不足對語音識別,應采用hmm來分析,以處理語音信號的瞬變和非平穩特性5. 基于mel頻率的倒譜mfcc生理支持根據人類聽覺系統的特性,人耳分辨聲音頻率的過程猶如一種取對數的功能,基于此,出現了mel頻率的倒譜系數(mfcc)mfcc: mel-frequency cepstrum coefficients.語音識別mfcc參數提取:在語音識別(speech recognition)和語者辨識(speaker recognition)方面,最常用到的語音特征就是梅爾倒頻譜系數(mel-scale frequency cepstral coeffici
8、ents,簡稱mfcc),此參數考慮到人耳對不同頻率的感受程度,因此特別適合用在語音識別。下面簡單的介紹一下求解mfcc的過程。5.1 音框化(frame blocking)先將n個取樣點集合成一個觀測單位,稱為音框(frame),通常n的值256或512,涵蓋的時間約為2030ms 左右。為了避免相鄰兩音框的變化過大,所以我們會讓兩相鄰因框之間有一段重迭區域,此重迭區域包含了m個取樣點,通常m的值約是 n 的一半或 1/3。通常語音識別所用的音頻的取樣頻率為8 khz或16 khz,8khz 來說,若音框長度為256 個取樣點,則對應的時間長度是 256/8000*1000 = 32 ms。
9、5.2 漢明窗(hamming window)將每一個音框乘上漢明窗,以增加音框左端和右端的連續性(請見下一個步驟的說明)。假設音框化的訊號為s(n),n = 0,n-1。那么乘上漢明窗后為s(n) = s(n)*w(n),此w(n) 形式如下5.3 快速傅利葉轉換(fast fourier transform, or fft)由于訊號在時域(time domain)上的變化通常很難看出訊號的特性,所以通常將它轉換成頻域(frequency domain)上的能量分布來觀察,不同的能量分布,就能代表不同語音的特性。所以在乘上漢明窗后,每個音框還必需再經過 fft以得到在頻譜上的能量分布。 乘上
10、漢明窗的主要目的,是要加強音框左端和右端的連續性,這是因為在進行 fft時,都是假設一個音框內的訊號是代表一個周期性訊號,如果這個周期性不存在,fft 會為了要符合左右端不連續的變化,而產生一些不存在原訊號的能量分布,造成分析上的誤差。當然,如果我們在取音框時,能夠使音框中的訊號就已經包含基本周期的整數倍,這時候的音框左右端就會是連續的,那就可以不需要乘上漢明窗了。但是在實作上,由于基本周期的計算會需要額外的時間,而且也容易算錯,因此我們都用漢明窗來達到類似的效果。5.4 三角帶通濾波器組(triangular bandpass filters)將能量頻譜能量乘以一組 20個三角帶通濾波器,求
11、得每一個濾波器輸出的對數能量(log energy)。必須注意的是:這20個三角帶通濾波器在梅爾頻率(mel frequency)上是平均分布的,而梅爾頻率和一般頻率 f 的關系式如下: mel(f)= 2595 * log梅爾頻率代表一般人耳對于頻率的感受度,由此也可以看出人耳對于頻率 f 的感受是呈對數變化的: 在低頻部分,人耳感受是比較敏銳 。在高頻部分,人耳的感受就會越來越粗糙 。三角帶通濾波器有兩個主要目的: 對頻譜進行平滑化,并消除諧波的作用,突顯原先語音的共振峰。因此一段語音的音調或音高,是不會呈現在 mfcc 參數內,所以,用 mfcc 為特征的語音識別系統,并不會受到輸入語音
12、的音調不同而有所影響。將傅立葉轉換結果經三角帶通濾波器組進行濾波。表示第個頻帶的三角帶通濾波器 其中是第個頻帶的中心,這個三角形帶通濾波器在美爾(mel-frequency)上是平均分配的。下面方程式求每一個濾波器輸出的對數能量 5.5 離散余弦轉換(discrete cosine transform, or dct)將濾波器輸出的能量作離散余弦(discrete cosine transform, dct)計算梅爾頻率倒頻譜系數(mel-frequency cepstral coefficients, mfcc)離散余弦計算公式:其中大致取12左右。5.6 對數能量(log energy)一
13、個音框的音量(即能量),也是語音的重要特征,而且非常容易計算。因此我們通常再加上一個音框的對數能量(定義為一個音框內訊號的平方和,再取以 10 為底的對數值,再乘以 10),使得每一個音框基本的語音特征就有 13 維,包含了 1 個對數能量和 12 個倒頻譜參數。(若要加入其他語音特征以測試辨識率,也可以在此階段加入,這些常用的其他語音特征,包含音高、過零率、共振峰等。) 5.7 差量倒頻譜參數(delta cepstrum)雖然已經求出 13 個特征參數,然而在實際應用于語音識別時,我們通常會再加上差量倒頻譜參數,以顯示倒頻譜參數對時間的變化。它的意義為倒頻譜參數相對于時間的斜率,也就是代表
14、倒頻譜參數在時間上的動態變化,公式如下: 這里 m 的值一般是取 2 ,t代表音框的數目,cm(t)指第t框的倒譜參數。 因此,如果加上差量運算,就會產生 26 維的特征向量;如果再加上差差量運算,就會產生 39 維的特征向量。一般我們在 pc 上進行的語音識別,就是使用 39 維的特征向量。6 矢量量化,矢量量化的關鍵問題是如何獲取vq碼本,本文采用聚類算法lbg算法。7 用matlab實時采集信號程序首先將錄音放到程序中的路徑下,運行即可。運行結果如下:語音庫語者 1 與語者 1 匹配成功語音庫語者 2 與語者 2 匹配成功語音庫語者 3 與語者 2 匹配成功語音庫語者 4 與語者 4 匹
15、配成功語音庫語者 5 與語者 5 匹配成功語音庫語者 6 與語者 6 匹配成功語音庫語者 7 與語者 7 匹配成功語音庫語者 8 與語者 8 匹配成功語音庫語者 9 與語者 9 匹配成功8. 結論:運行結果表明該說話人識別系統的識別能力是比較理想的,識別率為88%,語音庫3識別不成功的原因主要有兩個,一方面3的錄音本身噪音相對大些,導致系統很難識別,另一方面,識別系統的算法還不是很理想,導致識別準確率不是100%。程序如下:function speaker_rec%code = train(d:toolswork,9); test(d:toolswork,9, code);%*function
16、 code = train(traindir, n)% 訓練語音庫里的聲音樣本,為每個人建立一個vq碼本% code=train(train,n)% 訓練前,應將語音庫中的語音文件用1:n的數字標記% input:% traindir :樣本語音庫的路徑% n :樣本語音庫中語音文件的個數% output:% code : trained vq codebooks, codei for i-th speakerk = 16; %vq算法的最大迭代次數for i = 1:n file = sprintf(%s%d.wav, traindir, i) ; s, fs = wavread(file)
17、; s=s(1:30000,1); index = find(s = 0); %避免除0 s(index) = 1e-17; v = mfcc(s, fs); % compute mfccs codei = vqlbg(v, k); % train vq codebook end%*function test(testdir, n, code)%用于對測試語音庫中的文件進行測試%建庫的時候應該給語音文件按阿拉伯數字進行編碼,以方便程序讀取% input:% testdir :測試語庫的路徑% n :測試語音庫中語音文件的個數% code : codebooks of all trained s
18、peakersfor k = 1:n % 讀取測試庫中的文件 file = sprintf(%s%d.wav, testdir, k); s, fs = wavread(file); s=s(30000:60000,1); %讀取文件中的樣本點,改變數值即可獲取語音資料中的不同段 index = find(s = 0); %避免除0 s(index) = 1e-17; v =mfcc(s, fs); % compute mfccs distmin = inf; k1 = 0; for l = 1:length(code) % each trained codebook, compute dis
19、tortion d = disteu(v, codel); % 測試語音與碼本進行逐一匹配(計算歐氏距離) dist = sum(min(d,2) / size(d,1); if dist distmin distmin = dist; k1 = l; end end msg = sprintf(語音庫語者 %d 與語者 %d 匹配成功, k, k1); disp(msg);end%*function d = disteu(x, y)%計算兩個矩陣列之間的歐氏距離% disteu pairwise euclidean distances between columns of two matri
20、ces% input:% x, y: two matrices whose each column is an a vector data.% output:% d: element d(i,j) will be the euclidean distance between two% column vectors x(:,i) and y(:,j)% note:% the euclidean distance d between two vectors x and y is:% d = sum(x-y).2).0.5m, n = size(x);m2, p = size(y); if (m =
21、 m2) error(matrix dimensions do not match.)endd = zeros(n, p);if (n p) copies = zeros(1,p); for n = 1:n d(n,:) = sum(x(:, n+copies) - y) .2, 1); endelse copies = zeros(1,n); for p = 1:p d(:,p) = sum(x - y(:, p+copies) .2, 1); endendd = d.0.5;%*function r = vqlbg(d,k)%采用lbg算法獲取vq碼本%該算法程序來源:程序員聯合開發網%
22、vqlbg vector quantization using the linde-buzo-gray algorithme% inputs: d contains training data vectors (one per column)% k:算法最大的迭代次數% output: r contains the result vq codebook (k columns, one for each centroids)e = .01;r = mean(d, 2);dpr = 10000;for i = 1:log2(k)r = r*(1+e), r*(1-e);while (i = 1)z
23、 = disteu(d, r);m,ind = min(z, , 2);t = 0;for j = 1:2ir(:, j) = mean(d(:, find(ind = j), 2); %mean為mathworks的庫函數x = disteu(d(:, find(ind = j), r(:, j);for q = 1:length(x)t = t + x(q);endendif (dpr - t)/t) e)break;elsedpr = t;endendend%*%mfcc.m %本文件用于計算mfcc倒譜系數(共可獲得26維參數)%輸入: s為用聲卡采集的信號%輸出: c為計算出的倒譜系
24、數 function c=mfcc(s,fs)%*%將信號先音框化后加漢明窗(n為音框寬 m為音框距)m = 100;n = 256;l = length(s);nbframe = floor(l - n) / m) + 1;for i = 1:n for j = 1:nbframe m(i, j) = s(j - 1) * m) + i); endendh = hamming(n);m2 = diag(h) * m;for i = 1:nbframeframe(:,i) = fft(m2(:, i); %得各個音框的頻譜end%*% 用在melf頻帶上均布的三角帶通濾波器組對頻譜能量進行濾波
25、%將hz轉換美爾坐標melf=2595*log10(1+fs/2/700); melf_width=melf/21; i=0:21; tem_melf=melf_width*i; f_tem=(10.(tem_melf/2595)-1)*700; % f_tem=round(f_tem); %劃分頻率段 f_tem(2:21)即為20個中心頻率 for i=2:21 fm(i)=f_tem(i); %fm為第m個頻帶的中心endfm(22)=fs/2;fm(1)=0;bm=zeros(20,n/2+1);j=1:n/2;k(2:n/2+1)=fs/2/(n/2)*j;for i=2:21 for j=1:n/2+1 if k(j)fm(i-1) bm1(j)=0; else if fm(i-1)=k(j) & k(j)=fm(i) bm1(j)=(k(j)-fm(i-1)/(fm(i)-fm(i-1); else i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 光伏裝配示范復合項目實施方案
- 構建高效邊遠地區醫學救援體系方案
- 供熱一次管網更新改造項目可行性研究報告
- 山西省朔州市懷仁市第九中學高中部2023-2024學年高一上學期11月期中地理 含解析
- 長江師范學院《網絡創業與創業管理》2023-2024學年第二學期期末試卷
- 定西職業技術學院《幼兒歌曲伴奏與彈唱(二)》2023-2024學年第二學期期末試卷
- 郴州思科職業學院《昆蟲學》2023-2024學年第二學期期末試卷
- 南開大學濱海學院《過程仿真》2023-2024學年第二學期期末試卷
- 湖南理工學院《機器學習與模式識別》2023-2024學年第二學期期末試卷
- 吉林動畫學院《金屬腐蝕學》2023-2024學年第二學期期末試卷
- 電鍍有限公司雙體系資料之風險分級管控體系實施手冊
- 材料力學第4版單輝祖習題答案
- 【醫院管理案例學習】-床單位終末消毒標準的執行
- 暗挖格柵加工技術交底
- 2023年安徽省公安機關警務輔助人員條例訓練題庫211題及答案
- EMS概要設計說明書計費模塊
- 礦山安全培訓課件-礦山地質安全
- (完整)被動防護網施工方案
- 《高層建筑火災撲救》教學課件
- 東師《德育與班級管理》題庫與答案
- 江西省醫療服務價格手冊
評論
0/150
提交評論