天天看点

【说话人识别】基于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 代码下载