基于GRNN广义回归网络和MFCC的语音情绪识别matlab仿真,对比SVM和KNN

news/2024/12/25 21:44:20/文章来源:https://www.cnblogs.com/matlabworld/p/18628513

1.算法运行效果图预览

(完整程序运行后无水印)

 

 

filePath ='Test_data\悲伤1.wav'类型:悲伤
识别置信度Vmax =0.9559

  

 

2.算法运行软件版本

matlab2022a

 

3.部分核心程序

(完整版代码包含详细中文注释和操作步骤视频)

Labsn   = [];
% 遍历每种情绪
for i = 1:length(Em_kind)Labs0 = Em_kind(i); % 当前情绪标签trainfile = dir(['train_data/' char(Labs0), '\*.wav']); % 获取当前情绪的所有 WAV 文件Num_wav = length(trainfile(not([trainfile.isdir]))); % 计算有效 WAV 文件的数量% 遍历每个 WAV 文件for j = 1:Num_wav[ywav, Fs] = audioread(['train_data/' char(Labs0) '/' char(lower(Labs0)) int2str(j) '.wav']); % 读取音频文件% 计算 MFCC 特征[Fmfcc, ~, ~, H] = func_MFCC(ywav, Fs, Lframe, LShift, Fpre, @hamming, [fre_min fre_max], Nch, Cep_coff + 1, Cep_Sine);% 将当前文件的 MFCC 特征添加到训练数据集中Dat_trainset = [Dat_trainset; Fmfcc'];% 将当前文件的标签添加到标签集中Labs = [Labs; repmat(cellstr(Labs0), size(Fmfcc, 2), 1)];Labsn= [Labsn;repmat(i, size(Fmfcc, 2), 1)];end
end% 训练 KNN 模型
model1 = fitcknn(Dat_trainset, Labs); % 标准化数据并训练 KNN 模型% 训练多类分类模型
model2 = fitcecoc(Dat_trainset, Labs); % 训练多类分类模型%GRNN
model3 = newgrnn(Dat_trainset',Labsn',5);% 保存模型
save model.mat model1 model2 model3; % 将模型保存到文件中
179

  

4.算法理论概述

       语音情绪识别是人工智能和信号处理领域中的一个重要研究方向。它旨在通过分析语音信号中的特征,识别出说话人的情绪状态,如高兴、悲伤、愤怒、恐惧等。随着人工智能技术的不断发展,语音情绪识别在人机交互、心理健康监测、客户服务等领域具有广泛的应用前景。

 

梅尔频率尺度:

 

       人耳对声音的感知不是线性的,而是在频率上呈现出一种非线性的关系。梅尔频率尺度是一种基于人耳听觉特性的频率尺度,它将频率转换为梅尔频率,使得人耳对不同频率的声音具有相似的感知。

 

 

 

MFCC 特征提取过程:

 

预加重:对输入的语音信号进行预加重处理,以增强高频部分的能量。预加重可以通过以下公式实现:,其中为输入的语音信号,为预加重后的信号,为预加重系数,通常取。

 

分帧:将语音信号分成若干个短时段,称为帧。每一帧的长度通常为 20-40ms,相邻帧之间有一定的重叠。

 

加窗:对每一帧信号进行加窗处理,以减少帧边界处的不连续性。常用的窗函数有汉明窗、汉宁窗等。

 

快速傅里叶变换(FFT):对加窗后的每一帧信号进行快速傅里叶变换,得到其频谱。

 

计算梅尔滤波器组能量:将频谱通过一组梅尔滤波器组,得到每个滤波器的输出能量。梅尔滤波器组是一组在梅尔频率尺度上均匀分布的带通滤波器,其数量通常为 20-40 个。

 

对数运算:对每个滤波器的输出能量取对数,得到对数梅尔滤波器组能量。

 

离散余弦变换(DCT):对对数梅尔滤波器组能量进行离散余弦变换,得到 MFCC 系数。DCT 可以将信号从时域转换到频域,同时具有良好的能量压缩性能。

 

GRNN 广义回归网络原理

 

GRNN 是一种基于径向基函数(Radial Basis Function,RBF)网络的改进型神经网络。它由输入层、模式层、求和层和输出层组成。

 

输入层:接收输入向量,其中为输入向量的维度。

 

模式层:每个神经元对应一个训练样本,其输出为输入向量与训练样本之间的距离的函数。常用的距离函数有欧氏距离、曼哈顿距离等。

 

求和层:由两个神经元组成,分别计算模式层输出的加权和。一个神经元计算模式层输出的算术和,另一个神经元计算模式层输出的加权和。

 

输出层:输出为求和层输出的函数,通常为线性函数。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/858287.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习高校课程-软件设计模式-访客模式(lec13)

Visitor: Problem Example: exporting the graph into XML format 示例:将图表导出为 XML 格式Visitor: Solution Place the new behavior into a separate class called visitor The original object passed to the visitor’s method as an argument

[学习笔记] 线性筛与欧拉函数

一 线性筛主要讲下思想,埃氏筛法就是用所有质数标记所有倍数,这样的时间复杂度是 \(O(n\log n\log n)\),有两只 \(\log\)。可是我不想要 \(\log\),于是欧拉筛: 改进:存下质数表。对于每一个数,只标记自己与不超过自己最小质因子的数的乘积,对于质数表 \(2,3,5\),循环到…

低空经济的地理信息支撑:构建安全、高效的飞行管理体系

随着无人机等低空飞行器的广泛应用,低空空域管理的重要性日益凸显。地理信息技术作为低空空域管理的重要支撑,对于保障低空经济的健康发展具有不可替代的作用。 地理信息技术在低空空域管理中的作用地理信息技术在低空空域管理中扮演着关键角色,主要体现在以下几个方面:空域…

【Nginx应用】Windows下使用Nginx反向代理访问MySQL数据库

环境说明1和2互通,2和3互通,1和3不通,想要在1上访问3上的msyql服务。实现步骤如下: 一、安装nginx 1.1 下载nginx 下载地址 https://nginx.org/download/nginx-1.26.2.zip 1.2 将下载的安装包上传到192.168.221.134运维跳板机,并解压1.3 nginx常用操作 1.3.1 启动nginx…

Hume 语音模型 OCTAVE:实现情感语音合成、声音克隆和多角色对话生成;通义开源多模态说话人识别项目 3D-Speaker

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。 我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文章 」、「有看点的 会议 」,但内容仅代表编…

[学习笔记] 网络流

网络流,梳理一下然后看下 trick。 网络流主要难点在于建模,网络流很多 trick 现在已经很难有新意了。很多很好想的都是紫题,没啥含金量啊。 最大流 在残量网络中找到一条路径,设边集为 \(u\),要求满足 \(\min_{ x\in u} C_x ≠ 0\),即每条边残量皆不为 \(0\)。此时将这条…

FTP(windows版)

一、windows server搭建FTP 准备工作 手动搭建FTP站点,ECS实例必须满足以下条件:实例已分配公网IP地址或绑定弹性公网IP(EIP)。具体操作,请参见​绑定EIP​ 。 操作系统:Windows Server 2008及以上系统。系统自建即可。 步骤一:添加IIS以及FTP服务角色 在创建FTP站点前,…

BUU

BUU LSB 010看了一下没发现有什么问题 丢到stegsolve,rgb调到0的时候,是张二维码被嗅探的流量 找就完了rarqr镜子里面的世界key就是flag..无语 一开始没看到Hey I think we can write safely in this file without any one seeing it. Anyway, the secret key is: st3g0_saur…

WINDOWS-Windows11修改主题为浅色

一、文件夹显示的颜色是深颜色 个人不太喜欢,想要换成浅色系二、桌面 - 鼠标右键 - 个性化 - 颜色三、“选择模式”改成浅色系

OCM认证烂大街了吗?OCM战袍在此,永不过时!

OCM认证并没有烂大街。 OCM认证(Oracle Certified Master)是Oracle数据库认证级别中的天花板,是数据库认证体系中的顶级认证,由于OCM需要很高的知识储备和操作能力,注定它的含金量低不了。主要体现在以下几个方面: 1、行业认可度:OCM认证是Oracle认证体系中的最高级别,代…

PNG宽高CRC爆破

PNG图片宽高CRC爆破 CRC 这里的CRC指的是CRC32,也就是PNG图片的一个效验位,是一种不可逆运算,类似于MD5,作为数据效验或效验文件的完整性使用 图片宽高CRC校验码当一个png图片宽高有问题时,010回有CRC报错原理文件头89 50 4E 47 0D 0A 1A 0A 头部数据块长度为13 00 00 00 …

基于线性回归的气温与电力需求关系建模:能源供应稳定保障之策

1. 项目目标 在能源管理领域,准确预测电力需求对于保障能源供应稳定至关重要。气温是影响电力需求的重要因素之一,通过建立气温与电力需求之间的线性回归模型,我们可以预测不同气温条件下的电力需求,从而为能源供应规划提供有力支持。 2. 建模准备 数据收集来源:从气象部门…