【情感识别】基于改近最近邻实现语音情感分类识别含Matlab源码
【情感识别】基于改近最近邻实现语音情感分类识别含Matlab源码
TT_Matlab
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。
1 简介
K近邻(K-NearestNeighbor,KNN)算 法是 一种基于实例的统计学习方法,其基本思想是在多维空间Rn中,对于一个待分类样本x,根据距离找到与未知样本最近邻的k个训练样本点,然后根据这k个近邻样本点的类别决定待分类样本的类别.K近邻算法的具体实现包括两 个 阶 段.
(1)训练阶段:对 训 练 样 本 进 行 离 散 化,读 取 和 存 储;
(2)分类阶段:首先对于待分类的样本,计算它与其他的训练样本的欧式距离.选择其中距离最近的K个样本.并查看这K个近邻的分类标记,根 据多 数 表 决原则确定待测样本的类别.重复以上步骤直至所有待分类的样本分类结束.
2 部分代码
function[A,E,Z] =TimePara(y)
y_length=length(y); %声音信号的长度
Ny=
512
; %短时帧长
frame_all=floor((y_length-(Ny/
2
))/(Ny/
2
));
y2_sound=y(
1
:(frame_all+
1
)*(Ny/
2
));
y3=reshape(y2_sound,(Ny/
2
),[]);
y4=[y3(:,
1
:frame_all);y3(:,
2
:(frame_all+
1
))];
%%%%%%加hamming窗
win_h=hamming(Ny); %win_y=y_sound.*win_h;
for
i=
1
:(frame_all)
A_y(i)=sum(abs(y4(:,i).*win_h)); %计算短时幅值
E_y(i)=sum((y4(:,i).*win_h).*(y4(:,i).*win_h)); %计算短时能量
Z_y(i)=sum(abs(sign(y4(
2
:
80
,i))-sign(y4(
1
:
79
,i))))/
2
; %计算短时过零率
end
A=mean(A_y);
E=mean(E_y);
Z=mean(Z_y);
figure(
3
);
plot(y);grid
on
;
xlabel(
’样本数’
);
title(
’语音信号时域波形’
);
figure(
4
);
plot(A_y,
’*r’
);hold
on
;
plot(Z_y,
’^g’
);hold
on
;
plot(E_y,
’sb’
);grid
on
;
xlabel(
’帧数’
);
title(
’短时幅值,过零率,能量’
);
legend(
’幅值’
,
’过零率’
,
’能量’
);
3 仿真结果
4 参考文献
[1]龚灵杰, 袁家政, 刘宏哲. 基于加权最近邻的语音情感识别方法[C]// 中国计算机用户协会网络应用分会2017年第二十一届网络新技术与应用年会论文集. 2017.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
-
2023年血糖新标准公布,不是3.9-6.1,快来看看你的血糖正常吗? 2023-02-07
-
2023年各省最新电价一览!8省中午执行谷段电价! 2023-01-03
-
GB 55009-2021《燃气工程项目规范》(含条文说明),2022年1月1日起实施 2021-11-07
-
PPT导出高分辨率图片的四种方法 2022-09-22
-
2023年最新!国家电网27家省级电力公司负责人大盘点 2023-03-14
-
全国消防救援总队主官及简历(2023.2) 2023-02-10
-
盘点 l 中国石油大庆油田现任领导班子 2023-02-28
-
我们的前辈!历届全国工程勘察设计大师完整名单! 2022-11-18
-
关于某送变电公司“4·22”人身死亡事故的快报 2022-04-26
