基于Matlab的支持向量机情感识别算法
情感识别(Emotion Recognition)作为人机交互技术中的重要一环,可以在手语翻译、自动客服、自动驾驶等领域得到应用。其中,语音情感识别(Speech Emotion Recognition,SER)是人机交互中应用最为广泛的技术之一。本文将介绍一种基于Matlab的情感识别算法,其中主要采用支持向量机(Support Vector Machine,SVM)对语音信号进行分类。
一、数据预处理
数据预处理是SER中一个至关重要的步骤,本文采用的是RAVDESS指定数据库,共有7356条语音数据,被随机划分为训练集和测试集。该数据集包含8个不同的情感类别,分别为:快乐、中性、悲伤、愤怒、恐惧、厌恶、惊讶和无表情。我们需要将其转换为数字数据,然后提取相关的特征信息,以方便后续的分类工作。
在loading_data.m文件中,我们采用MFCC(Mel-Frequency Cepstral Coefficients)和能量谱密度图(Energy Spectral Density,ESD)对语音数据进行特征提取。MFCC是一种语音特征的常用表示方式,它将音频信号分成帧,并将每帧映射到一个系数上,其提取过程中包括预加重、帧拆分、加窗、快速傅里叶变换等步骤。ESD则表示了音频信号在频域的能量分