1 模型
本文涉及一种语音情感识别系统及方法.采取特征提取分析模块,SVM训练模块和SVM识别模块;训练过程包括特征提取分析,SVM训练;识别过程包括特征提取分析,SVM识别.特征提取分析有全局结构特征参数选择及性别规整,时序结构特征参数选择,性别规整及元音数目规整;支持向量机(SVM)有支持向量机训练,对高兴,生气,悲伤,恐惧,惊讶五种情感进行识别.解决了矢量分割型马氏距离判法,主元分析法,神经网络法,隐马尔可夫法等的各自缺陷.本发明加强了特征参数的有效性,加入性别规整,用最少支持向量,在错分样本和算法复杂度之间获得最好的语音识别,在单个SVM及多个SVM结合的多模式具有连续输出函数,降低误识率.
1.1 SVM支持向量机
1.2 情感特征
2 部分代码
%:基于SVM的语音情感识别 clc; clear; load A_fear fearVec; load F_happiness hapVec; load N_neutral neutralVec; load T_sadness sadnessVec; load W_anger angerVec; sampleang=angerVec'; samplehap=hapVec'; sampleneu=neutralVec'; samplesad=sadnessVec'; samplefear=fearVec'; train(1:30,:)=sampleang(1:30,:); %每类三十个样本作为训练样本 test(1:20,:)=sampleang(31:50,:);%每类二十个样本作为测试样本 train(31:60,:)=samplehap(1:30,:); test(21:40,:)=samplehap(31:50,:);% train(61:90,:)=sampleneu(1:30,:); test(41:60,:)=sampleneu(31:50,:);% train(91:120,:)=samplesad(1:30,:); test(61:80,:)=samplesad(31:50,:);% train(121:150,:)=samplefear(1:30,:); test(81:100,:)=samplefear(31:50,:);% rate=svmclassfiction(train,test);%调用SVM分类函数 figure(1) bar(rate,0.5); set(gca,'XTickLabel',{'生气','高兴','中性','悲伤','害怕'}); ylabel('识别率'); xlabel('五种基本情感');
3 仿真结果
4 参考文献
[1]赵 力等. "一种基于支持向量机的语音情感识别方法.", 2007.
5 完整MATLAB代码与数据下载地址
见博客主页头条