天天看點

【說話人識别】基于MFCC特征實作說話人識别系統含Matlab源碼

 1 簡介

說話人識别是利用說話人的語音信号的特征同預先提取的說話人語音特征相比較來确定或鑒别說話人的身份。它涉及到說話人發音器官上的個性差異、發音聲道之間的個性差異、發音習慣之間的個性差異等不同級别上的差異,是以,說話人識别是交叉運用心理學、聲學、語音學、人工智能、數字信号處理、資訊理論、模式識别理論、最優化理論、計算機科學等知識的綜合性課題。本章節對說話人識别系統基本組成、說話人識别的分類、文本無關的說話人識别系統和說話人識别系統性能評價進行探讨。

【說話人識别】基于MFCC特征實作說話人識别系統含Matlab源碼

【說話人識别】基于MFCC特征實作說話人識别系統含Matlab源碼

編輯

【說話人識别】基于MFCC特征實作說話人識别系統含Matlab源碼

【說話人識别】基于MFCC特征實作說話人識别系統含Matlab源碼

編輯

【說話人識别】基于MFCC特征實作說話人識别系統含Matlab源碼

【說話人識别】基于MFCC特征實作說話人識别系統含Matlab源碼

編輯

【說話人識别】基于MFCC特征實作說話人識别系統含Matlab源碼

【說話人識别】基于MFCC特征實作說話人識别系統含Matlab源碼

編輯

【說話人識别】基于MFCC特征實作說話人識别系統含Matlab源碼

【說話人識别】基于MFCC特征實作說話人識别系統含Matlab源碼

編輯

【說話人識别】基于MFCC特征實作說話人識别系統含Matlab源碼

【說話人識别】基于MFCC特征實作說話人識别系統含Matlab源碼

編輯

【說話人識别】基于MFCC特征實作說話人識别系統含Matlab源碼

【說話人識别】基于MFCC特征實作說話人識别系統含Matlab源碼

編輯

2 部分代碼

function msg = shibie(testdir,n, code)for k = 1:n     file = sprintf('%ss%d.wav', testdir, k);    [s, fs] = audioread(file);    v = mfcc2(s, fs);     distmin=inf;     k1=0;     for l=1:length(code)        d=disteu(v,code{l});          dist=sum(min(d,[],2))/size(d,1);        msgc = sprintf('第%d位說話者與模闆%d的內插補點為:%10f ',k,l, dist);        disp(msgc);        if dist<distmin             distmin = dist;             k1=l;        end    end    msgc = sprintf('可見第%d位說話者與模闆%d的內插補點最小(%10f).',k,k1,distmin);    disp(msgc);    msg = sprintf('So,Speaker %d matches with speaker %d!\n', k, k1);    disp(msg); end      

3 仿真結果

【說話人識别】基于MFCC特征實作說話人識别系統含Matlab源碼

【說話人識别】基于MFCC特征實作說話人識别系統含Matlab源碼

編輯

4 參考文獻

[1]郭春霞. 基于MFCC的說話人識别系統研究[D]. 西安電子科技大學, 2006.

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

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

5 代碼下載下傳