资源简介

包含基于特征降维的语音情感识别、基于支持向量机的语音情感识别、 基于神经网络的语音情感识别、基于K近邻分类算法的语音情感识别程序

资源截图

代码片段和文件信息

%情感特征提取函数
function feature=featvector(filename)
[yfs]=wavread(filename); 
L=length(y);
ys=y;
for i=1:(length(y)-1)
    if (abs(y(i))<1e-3)  %  剔除较小值,计算短时能量时使用  %
        ys(i)=ys(i+1);
        L=L-1;
    end
end 
y1=ys(1:L);
s=enframe(yhamming(256)128); %  分帧加窗  %
s1=enframe(y1hamming(256)128); 
[nframeframesize]=size(s);  
[nframe1framesize1]=size(s1);
E=zeros(1nframe1);  
Z=zeros(1nframe);
F=zeros(1nframe);
for i=1:nframe
    Z(i)=sum(abs(sign(s(iframesize:2)-s(iframesize-1:1))))/2;  %  过零率  %
end
for i=1:nframe1
    E(i)=sum(s1(i:).*s1(i:)); %  短时能量  %
end
%  基音频率  %
N=2048;R=4;
for i=1:nframe
    k = 1:R:N/2; K = length(k);  %  N是FFT变换点数,R是乘的次数,f是采样频率  %
    X = fft (s(i:) N); 
    X=abs(X);  %  对X做绝对值,取到幅度  %
    HPSx = X(k); 
    for r= R-1:-1:1
        HPSx = HPSx.*X (1:r:r*K);
    end
    [~I]=max(HPSx);  %  取最大值点,I是对应下标  %
    F(i)=I/N*fs; %  基音频率  %
end
%  浊音帧差分基音  %
nf=1;
for i=1:(nframe-1)
    if(F(i)*F(i+1)~=0)
        dF(nf)=F(i)-F(i+1);
        nf=nf+1;
    end
end
%  0-250hz所占比例  %
[s2f1t1]=specgram(y1256fs);
sn=20*log10(abs(s2)+eps);
sn1=sn+min(sn(:));
n=round(length(f1)*250/max(f1(:)));
Eratio=sum(sum(sn1(1:n:)))/sum(sn1(:));

%  估计共振峰  %
[fm~] = formant_get(yfs);
Fm1=fm(:1);
Fm2=fm(:2);
Fm3=fm(:3);
%  MFCC  %
MFCCs=melcepst(yfs‘0d‘); %  MFCC及其一阶差分系数  %


%%    特征向量构成    %%
%  短时能量E  %
dim_max=141;
feature=zeros(dim_max1);
x=0;t=0;
for i=1:(nframe1-1)
    t=abs(E(i)-E(i+1))/(nframe1-1);
    x=x+t;
end
E_shimmer=x/mean(E);
x1=0;x2=0;x3=0;x4=0;
for i=1:nframe1
    t1=i*mean(E);t2=i*E(i); t3=i*i;t4=i;
    x1=x1+t1;x2=x2+t2;x3=x3+t3;x4=x4+t4;
end
x4=x4*x4/nframe1;
s1=x2-x1;s2=x3-x4;
E_Reg_coff=s1/s2;
x=0;
for i=1:nframe1
    t=E(i)-(mean(E)-s1/s2*x4/nframe1)-s1/s2*i;
    x=x+t^2/nframe1;
end
E_Sqr_Err=x;
feature(1:71)=[max(E);min(E);mean(E);var(E);E_shimmer;E_Reg_coff;E_Sqr_Err];%  短时能量相关特征  %

%  能量比  %
feature(81)=Eratio;

%  基音频率F  %
x=0;
for i=1:(nframe-1)
    t=abs(F(i)-F(i+1));
    x=x+t;
end
F_Jitter1=100*x/(mean(F)*(nframe-1));
x=0;
for i=2:(nframe-1)
    t=abs(2*F(i)-F(i+1)-F(i-1));
    x=x+t;
end
F_Jitter2=100*x/(mean(F)*(nframe-2));

%% 使F得最小值是有效(去除等值)
k=1;
for i=2:numel(F)
    if(F(i)==F(1))
        continue;
    end
    FF(k)= F(i);
    k=k+1;
 
end

feature(9:141)=[max(F);min(FF);mean(F);var(F);F_Jitter1;F_Jitter2];%  基音频率相关特征  %

%  浊音帧差分基音  %
feature(15:181)=[max(dF);min(dF);mean(dF);var(dF)];%  浊音帧差分基音  %

%  共振峰  %
x1=0;x2=0;x3=0;
for i=1:(numel(Fm1)-1)
    t1=abs(Fm1(i)-Fm1(i+1));
    t2=abs(Fm2(i)-Fm2(i+1));
    t3=abs(Fm3(i)-Fm3(i+1));
    x1=x1+t1;x2=x2+t2;x3=x3+t3;
end
Fm1_Jitter1=100*x1/(mean(Fm1)*(numel(Fm1)-1));%  前三个共振峰的一阶抖动  %
Fm2_Jitter1=100*x2/(mean(Fm2)*(numel(Fm1)-1));
Fm3_Jitter1=100*x3/(mean(Fm2)*(numel(Fm1)-1));
Fm2R=Fm2./(Fm2-Fm1);
nFm=[max(Fm1);min(Fm1);mean(Fm1);var(Fm1);Fm1_Jitter1;max(Fm2);min(Fm2);mean(Fm2);var(Fm2);Fm2_Jitter1;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      51215  2015-03-15 16:09  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\A_fear.mat

     文件       3497  2016-03-17 14:22  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\featvector.m

     文件      51237  2015-03-15 16:14  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\F_happiness.mat

     文件       3183  2015-03-15 17:16  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\KnnRecognition.m

     文件      51284  2015-03-15 16:15  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\N_neutral.mat

     文件      51252  2015-03-15 16:16  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\T_sadness.mat

     文件      48200  2004-05-21 15:56  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\wavs\A_fear\03a04Ad.wav

     文件      98848  2004-05-21 15:56  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\wavs\A_fear\03a05Aa.wav

     文件      98758  2004-05-21 15:57  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\wavs\A_fear\03b02Aa.wav

     文件      90548  2004-05-21 15:57  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\wavs\A_fear\03b10Ab.wav

     文件      59374  2004-05-21 15:56  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\wavs\A_fear\08a01Ab.wav

     文件      50732  2004-05-21 15:56  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\wavs\A_fear\08a02Ab.wav

     文件      54006  2004-05-21 15:56  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\wavs\A_fear\08a02Ac.wav

     文件      85704  2004-05-21 15:57  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\wavs\A_fear\08b01Aa.wav

     文件     101844  2004-05-21 15:57  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\wavs\A_fear\08b09Ab.wav

     文件      85010  2004-05-21 15:57  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\wavs\A_fear\08b10Aa.wav

     文件      53038  2004-05-21 15:57  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\wavs\A_fear\09b10Aa.wav

     文件      53788  2004-05-21 15:56  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\wavs\A_fear\10a01Ac.wav

     文件      51498  2004-05-21 15:56  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\wavs\A_fear\10a02Ab.wav

     文件      83376  2004-05-21 15:56  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\wavs\A_fear\10a05Aa.wav

     文件      51118  2004-05-21 15:56  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\wavs\A_fear\10a07Aa.wav

     文件      51352  2004-05-21 15:56  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\wavs\A_fear\10a07Ad.wav

     文件      66846  2004-05-21 15:57  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\wavs\A_fear\10b01Aa.wav

     文件      78838  2004-05-21 15:57  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\wavs\A_fear\10b02Aa.wav

     文件      63302  2004-05-21 15:57  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\wavs\A_fear\10b09Ad.wav

     文件      49878  2004-05-21 15:56  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\wavs\A_fear\11a01Aa.wav

     文件      48180  2004-05-21 15:56  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\wavs\A_fear\11a01Ab.wav

     文件      49182  2004-05-21 15:56  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\wavs\A_fear\11a04Ac.wav

     文件      93370  2004-05-21 15:56  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\wavs\A_fear\11a05Ad.wav

     文件      60922  2004-05-21 15:56  情感识别\12.1 基于K近邻分类算法的语音情感识别实验\wavs\A_fear\11a07Ac.wav

............此处省略295个文件信息

评论

共有 条评论