首页 > 行业资讯 > 【语音识别】基于MPCC+IPL特征结合SVM实现中英语种识别含Matlab源码

【语音识别】基于MPCC+IPL特征结合SVM实现中英语种识别含Matlab源码

时间:2022-06-21 来源: 浏览:

【语音识别】基于MPCC+IPL特征结合SVM实现中英语种识别含Matlab源码

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。

收录于合集 #信号处理应用matlab源码 250个

1 简介

语种识别系统通常采用支持向量机(support vectormachine,SVM)一对多分类加Gauss后端分类器的方法进行分类.传统的SVM一对一分类在进行线性鉴别性分析(linear discriminant analysis,LDA)时特征值矩阵往往为奇异的,识别性能很低.该文提出一种改进的一对一分类方法,对SVM一对一分类得分重新建模,识别性能明显提高.在美国国家标准技术署(National Institute of Standardsand Technology,NIST)2011年语种识别评测(languagerecognition evaluation,LRE)30s数据集上的实验结果表明:在采用SVM的全变化量因子分析(total variability,iVector)和支持向量机-Gaussn超向量(support vectormachine-Gaussian super vector,SVM-GSV)语种识别系统上,该方法比SVM一对多分类方法性能更好,并且两种方法线性融合可明显提升识别性能,在iVector系统上各指标相对提升7.7%~15.9%,在SVM-GSV系统上各指标相对提升11.2%~33.9%.

2 部分代码

%提取基音周期,得到1*N维的特征向量 function PCH=framepitches(x,fs,zchang,zyi) [nrows,ncols] = size(x); if nrows>1 x = x’; end data = enframe(x,zchang,zyi); [nframe,flen] = size(data); for ij=1:nframe, R = zeros(1,flen); %基音周期(n)多次分析数组 for k=1:flen-1 %求自相关序列 for jj=1:flen-k R(k) = R(k)+data(ij,jj)*data(ij,jj+k); end end zer = find(R==0); %找第一个零点如果存在 jiaocha = 0; %找第一近零点 ii = 1; while (jiaocha<=0) if(R(ii)>0 && R(ii+1)<0 && (ii+1)<length(R)) jiaocha = ii; end ii = ii+1; if ii==length(R) %没有找到符合要求的点 jiaocha = 1; end end if length(zer)>0 %检查是否存在零点 if zer(1)<jiaocha %存在,则和jiaocha比较大小,用于祛除前点的对基音周期的查找带来的影响 jiaocha = zer(1); end end R(1 : jiaocha)=0; %祛除影响 maxn = max(R); %找最大值 temp = find(R==maxn);%返回第一个最大值 nmax = temp(1); pitch = fs/nmax; PCH(1,ij) = pitch; end

3 仿真结果

4 参考文献

[1]王宪亮, 吴志刚, 杨金超,等. 基于SVM一对一分类的语种识别方法[J]. 清华大学学报:自然科学版, 2013(6):5.

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

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

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐