【说话人识别】基于MFCC特征和GMM实现说话人识别系统含Matlab源码

网友投稿 275 2022-08-31


【说话人识别】基于MFCC特征和GMM实现说话人识别系统含Matlab源码

1 简介

目前,针对说话人识别而提出的新的识别技术层出不穷,如结合 GMM-UBM 结构与支持向量机(SupportVectorMachine,SVM)的技术、基于得分规整技术的 HNORM、ZNORM 和 TNORM 技术、潜伏因子分析(LatentFactorAnal⁃ysis,LFA)技术、应用于说话人识别的大词汇表连续语音识别(LargeVocabularyContinuousSpeechRecognition,LVC⁃SR)技术等。然而,如今最出色的说话人识别系统依然是基于 GMM 模型,尤其是基于 UBM-MAP 结构的系统。本文基于 TIMIT 语料库分析研究说话人语音信号预处理,以及说话人语音特征提取原理与方法,并利用 MATLAB进行美尔频率倒谱系数(MelFrequencyCepstrumCoeffi⁃cient,MFCC)提取。在此基础上详细研究了 GMM 模型基本原理,以及 EM 算法和 K-均值聚类算法,最后使用MATLAB 实现了基于 GMM 模型的说话人识别系统,完成了GMM 模型参数训练与识别过程。为分析该系统性能,本文通过实验分析了不同 GMM 模型阶数与不同训练语音样本时长对系统识别性能的影响。

2 部分代码

function graph_gmm(X,mi,sig,c,coefs,ft)% % graph_gmm(X,mi,sig,c,)% % plots the distribution of coefficientsDEBUG=0;PRINT=0;[L,T]=size(X);if (nargin<5), coefs=1:L; endif (nargin<6), ft=0; endLL=length(coefs);li=fix(sqrt(LL));co=ceil(LL/li);figure;clf;for ll=1:LL l=coefs(ll); xm=min(X(l,:));xM=max(X(l,:));x=(-ft*(xM-xm)+xm):((ft+1)*(xM-xm)./100):(xM+ft*(xM-xm));subplot(li,co,ll);histn(X(l,:),300);hold on;if DEBUG size(x),end[laux,lmulti]=lmultigauss(x,mi(l,:),sig(l,:),c);aux=exp(laux);multi=exp(lmulti);if DEBUG size(x),size(multi'),pause,endhp=plot(x,multi','r','Linewidth',3);%xlim([ -xM xM ]); ha=get(gca,'Children');%it seem that the bars are children number 4set(ha(2),'FaceColor',[ 0.8 0.8 0.8 ]);set(ha(2),'EdgeColor',[ 0.8 0.8 0.8 ]);%*plot(x,aux);end

3 仿真结果

4 参考文献

[1]丁爱明. 基于MFCC和GMM的说话人识别系统研究[D]. 河海大学.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

5 代码下载


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【SVM分类】基于海鸥算法优化支持向量机SVM实现分类附matlab的代码(svm matlab实现)
下一篇:# yyds干货盘点 # 使用Python实现df的奇数列与偶数列调换位置,比如A列,B列,调换成B列,A列
相关文章

 发表评论

暂时没有评论,来抢沙发吧~