天天看點

【說話人識别】基于HMM實作非特定人孤立詞語音識别附MATLAB代碼

 1 簡介

設計了基于隐馬爾可夫模型(HiddenMarkovModel,HMM)的非特定人漢語語音識别系統,主要 由 錄 音、 訓練和識别三大子產品構成.“錄音子產品”首先錄制一段指定長度的語音信号,然後通過對語音信号的短時能量和

過零率進行門限檢測,标志出有效語音段并儲存.“訓 練 模 塊”利 用 Baum-Welch算法計算語音樣本的 MFCC (MelFrequencyCepstrumCoefficient)參數生成識别用的語音模闆.“識 别 模 塊”利 用 HMM 識别算法比較語音信号和語音模闆的相似機率,找到最大值輸出,完成語音識别功能.最 後,在 MATLAB中實作了該語音識别系統.實驗結果表明,系統的識别率為90%以上,若結合足夠的訓練,識别率可以更高.

HMM 是語音信号進行中的一種統計模型,是 由 Markov鍊演變來的,是以 它 是 基 于 參 數 模 型 的統計識别方法.由于其模式庫是通過反複訓練形成的與訓練輸出信号吻合機率最大的最佳模型參數而不是預先儲存好的模式樣本,且其識别過程中運用待識别語 音 序 列 與 HMM 參數 之 間 的 似 然 概 率達到最大值所對應的最佳狀态序列作為識别輸出,是以 HMM 是較理想的語音識别模型.

【說話人識别】基于HMM實作非特定人孤立詞語音識别附MATLAB代碼

【說話人識别】基于HMM實作非特定人孤立詞語音識别附MATLAB代碼

編輯

【說話人識别】基于HMM實作非特定人孤立詞語音識别附MATLAB代碼

【說話人識别】基于HMM實作非特定人孤立詞語音識别附MATLAB代碼

編輯

【說話人識别】基于HMM實作非特定人孤立詞語音識别附MATLAB代碼

【說話人識别】基于HMM實作非特定人孤立詞語音識别附MATLAB代碼

編輯

2 部分代碼

function ccc = mfcc(x)% 歸一化mel濾波器組系數%對輸入的語音序列x進行MFCC參數的提取,傳回MFCC參數和一階%差分MFCC參數,Mel濾波器的階數為24%fft變換的長度為256,采樣頻率為8000Hz,對x 256點分為一幀bank=melbankm(24,256,8000,0,0.5,'m');%24:濾波器個數  256: length of fft  8000:采樣頻率%size(bank);bank=full(bank);bank=bank/max(bank(:));% DCT系數,12*24for k=1:12  n=0:23;  dctcoef(k,:)=cos((2*n+1)*k*pi/(2*24));end% 歸一化倒譜提升視窗w = 1 + 6 * sin(pi * [1:12] ./ 12);w = w/max(w);% 預加重濾波器xx=double(x);xx=filter([1 -0.9375],1,xx); %y(n)=x(n)-0.9375x(n-1);% 語音信号分幀xx=enframe(xx,256,80);% 計算每幀的MFCC參數for i=1:size(xx,1)            %size(xx,1)傳回xx的行數  249*256  y = xx(i,:);  s = y' .* hamming(256);     %乘窗  x.*y是對應位置的元素相乘  t = abs(fft(s));  t = t.^2;                    %計算能量%功率譜  c1=dctcoef * log(bank * t(1:129));  %這裡選擇的幀長為256點,然後FFT的點數也為256,由于是對稱的,                                      %是以隻取前面一半的點計算頻譜。然後加入到三角濾波器中。  c2 = c1.*w';                        % w為歸一化倒譜提升視窗  m(i,:)=c2';       end%差分系數dtm = zeros(size(m));for i=3:size(m,1)-2  dtm(i,:) = -2*m(i-2,:) - m(i-1,:) + m(i+1,:) + 2*m(i+2,:);enddtm = dtm / 3;%合并mfcc參數和一階差分mfcc參數ccc = [m dtm];%去除首尾兩幀,因為這兩幀的一階差分參數為0ccc = ccc(3:size(m,1)-2,:);      

3 仿真結果

【說話人識别】基于HMM實作非特定人孤立詞語音識别附MATLAB代碼

【說話人識别】基于HMM實作非特定人孤立詞語音識别附MATLAB代碼

編輯

4 參考文獻

[1]李榮松. 基于HMM的非特定人孤立詞語音識别[D]. 中國民航大學, 2011.

部落客簡介:擅長智能優化算法、神經網絡預測、信号處理、元胞自動機、圖像處理、路徑規劃、無人機等多種領域的Matlab仿真,相關matlab代碼問題可私信交流。

部分理論引用網絡文獻,若有侵權聯系部落客删除。

【說話人識别】基于HMM實作非特定人孤立詞語音識别附MATLAB代碼

編輯

繼續閱讀