【情感识别】基于改近最近邻实现语音情感分类识别含Matlab源码

简介: 【情感识别】基于改近最近邻实现语音情感分类识别含Matlab源码

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;      %计算短时过零率endA=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代码问题可私信交流。

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

相关文章
|
机器学习/深度学习 Dragonfly 人工智能
基于蜻蜓算法优化支持向量机(DA-SVM)的数据多特征分类预测研究(Matlab代码实现)
基于蜻蜓算法优化支持向量机(DA-SVM)的数据多特征分类预测研究(Matlab代码实现)
252 1
|
11月前
|
机器学习/深度学习 传感器 数据采集
MATLAB基于PCA的Indian Pines数据集分类实现
MATLAB基于PCA的Indian Pines数据集分类实现
519 7
|
11月前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
705 0
|
11月前
|
机器学习/深度学习 边缘计算 运维
【电能质量扰动】基于ML和DWT的电能质量扰动分类方法研究(Matlab实现)
【电能质量扰动】基于ML和DWT的电能质量扰动分类方法研究(Matlab实现)
305 10
|
11月前
|
机器学习/深度学习 算法 语音技术
【语音分离】通过分析信号的FFT,根据音频使用合适的滤波器进行语音信号分离(Matlab代码实现)
【语音分离】通过分析信号的FFT,根据音频使用合适的滤波器进行语音信号分离(Matlab代码实现)
309 4
|
10月前
|
机器学习/深度学习 数据采集 存储
概率神经网络的分类预测--基于PNN的变压器故障诊断(Matlab代码实现)
概率神经网络的分类预测--基于PNN的变压器故障诊断(Matlab代码实现)
1215 0
|
11月前
|
机器学习/深度学习 数据采集 编解码
基于深度学习分类的时相关MIMO信道的递归CSI量化(Matlab代码实现)
基于深度学习分类的时相关MIMO信道的递归CSI量化(Matlab代码实现)
458 1
|
机器学习/深度学习 移动开发 算法
【语音识别】基于K近邻分类算法的语音情感识别(Matlab代码实现)
【语音识别】基于K近邻分类算法的语音情感识别(Matlab代码实现)
405 4
|
机器学习/深度学习 人工智能 算法
【语音处理】一种增强的隐写及其在IP语音隐写中的应用(Matlab代码实现)
【语音处理】一种增强的隐写及其在IP语音隐写中的应用(Matlab代码实现)
287 3
|
机器学习/深度学习 人工智能 算法
【语音处理】基于加权压力匹配方法(WPMM)的私人声音系统研究(Matlab代码实现)
【语音处理】基于加权压力匹配方法(WPMM)的私人声音系统研究(Matlab代码实现)
152 2

热门文章

最新文章