APP下载

基于MFCC特征融合的语音情感识别算法

2023-08-31黄喜阳杜庆治邵玉斌

关键词:贡献度差分频谱

黄喜阳, 杜庆治, 龙 华, 邵玉斌

昆明理工大学 信息工程与自动化学院, 云南 昆明 650504

情感信息在语音信号中也是一种很重要的信息资源,对于说话人情感的分析有很重要的研究意义。通常语音情感分为七大类,分别是生气(anger)、害怕(fear)、无聊(boredom)、厌恶(disgust)、高兴(happiness)、中性(netral)、悲伤(sadness)。当相同内容的话,说话人当时情感的不同,则会表现出不同的形式,使得听者在感知上就会存在很大的差异,以至于产生歧义甚至是误会。语音情感识别技术(Speech emotion Recognition,SER)是一种自动检测说话人情感状态的技术,对于分析和处理语音信号中的情感特征有着很重要的作用[1]。

对于语音情感的模型,目前国内外学者普遍采用基本情感、情感二维空间、情感论三种分类方式[2]。对于情感特征而言,通常采用线性预测倒谱系数(Liner Prediction Cepstral Coefficients,LPCC)、梅尔频率倒谱系数(Mel Frequency Cepstral Coefficients,MFCC)及其差分倒谱系数等参数[1]。而一阶MFCC是对MFCC特征的时间差分,通过计算相邻帧之间的差异,可以捕捉到语音信号的动态特性且能够提供有关语音信号的速度和变化趋势的信息。在语音情感识别中,一阶差分可以帮助检测情感状态的瞬时变化,如情感的转折或强度的变化。二阶MFCC在保留MFCC特征的基础上,能够更好地区分不同的语音情感,提高情感识别的准确率,同时二阶MFCC在特征提取时考虑了时序差分,可以提供更细致的情感变化信息,有助于区分不同情感状态之间的微妙差异。对于语音情感识别方法而言,目前主要采用MFCC-DNN方式,其中双向长短期记忆网络(Bidirectional Long Short-Term Memory,Bi-LSTM)和卷积神经网络(Convolution Neural Network,CNN)对情感特征都有着良好的提取作用。Pandey等[3]采用MFCC静态特征频谱结合长短期记忆网络(Long Short-Term Memory,LSTM)对语音情感进行识别,由于只采用静态MFCC特征,仅仅捕捉了语音信号的频率特征。罗相林等[4]采用MFCC 及其一阶差分特征并通过数据归一化进行预处理,再使用十折交叉验证法选择最优支持向量机模型(SVM)对语音情感信息进行识别,并未考虑二阶MFCC对语音信号中的时序信息,且采用直接拼接法进行特征融合。

基于上述,本文在MFCC基础上进行差分运算求出一阶和二阶频谱特征,采用主成分分析法(Principal Component Analysis,PCA)分析MFCC、一阶、二阶特征频谱中不同维度的贡献度,并分别去掉贡献度较低维数后将贡献度较高的维数进行融合,得到融合特征频谱,再将融合后的频谱作为特征输入,减少冗余信息,提高计算效率,由于不同的特征维度具有不同的信息表达能力,融合后可以充分利用它们之间的互补性,以增强特征的表征能力。最后将融合频谱特征通过标准化后采用Bi-LSTM-CNN神经网络对语音情感进行识别。

1 MFCC频谱特征融合模型

目前,主流方法均采用MFCC或一阶差分MFCC特征频谱作为输入,由于直接拼接融合造成维度过大,训练时间较长且准确率不理想问题。在本实验中采用静态MFCC及其一、二阶差分MFCC的融合频谱作为输入,一阶差分MFCC是离散函数中连续相邻两项之差,其物理意义在语音中表现的是当前语音帧与前一帧之间的关系,体现相邻两帧信号之间的相互关系,在频谱图上表现出来的是能量的变化。二阶差分表示的是一阶差分与一阶差分之间动态的关系,即一阶差分与一阶差分之间的关系,体现到语音信号帧上是相邻三帧信号之间的动态关系,在频谱图上表现出的是一阶MFCC变化加速度大小。由于标准的梅尔频率倒谱参数只反映了语音参数的静态特性和单帧的功率谱包络线[5],但在语音情感识别中,语音情感特征更多的表现在能量的变化,以及相邻语音帧之间的关系,因此静态MFCC不能完全体现语音中包含的情感特性,而MFCC随着时间变化的轨迹能反映语音情感的实质特性,即语音的特性可以利用静态特征的差分谱来描述,并采用PCA法将各个频谱中贡献度较高的维数组合成新的频谱。动、静态特征频谱结合作为输入,可以提高系统的识别性能且减少时间的开销,其差分MFCC频谱融合特征模型如图1所示。

图1 MFCC差分融合频谱模型

1.1 MFCC特征提取

对于深度学习的语音情感识别技术(Speech Emotion Recognition,SER),首先是对语音进行预处理,得到语音中最重要的频谱图,频谱图中包含了语音的大量关键信息。目前在语音情感识别中使用的频谱特征一般有线性预测系数、线性预测倒谱系数、梅尔倒谱系数等。当语音信号通过运算成倒谱系数后,这些倒谱系数就能够被相应特性的机器学习算法学习,进而利用这些特性辨别出说话人的情感特征[6]。梅尔频率倒谱系数是利用基于人耳听觉特性提出来的梅尔感知频率与Hz频率成非线性对应关系[4],从而得到的Hz频谱特征,以Mels为单位的感知频率fm与以Hz为单位的实际频率f的转化关系如

fm=2 952lg(1+f/700)。

(1)

MFCC主要用于语音数据特征提取和降低运算维度,对于语音中的相关特性提取有很好的作用。

1.2 一阶和二阶MFCC特征提取

一阶和二阶差分特征提取过程如图2所示。

1)分帧:在特征频谱提取过程之前,将语音数据分帧为帧长为20 ms、帧移为10 ms的一小段数据,以此保证进行语音信号的平稳性。

2)加窗:加窗主要目的是增强分帧后每一帧信号中间部分的强度,削弱端点处不连续性,本实验使用汉明窗h(n),汉明窗公式为

(2)

式中,L为窗口长度。

3)快速傅里叶变换(FFT):快速傅里叶变换能将时域信号转化为频域信号,能生动地展现信号强度和频率的关系,有利于获取语音信号中情感的特性,快速傅里叶变换公式为

(3)

式中,x(k)为输入语音信号,h(k)为汉明窗函数,N是傅里叶变化的点数,X(a,k)为输入语音信号的频域表达式。

4)梅尔滤波组(Mel Filter Banks):通过快速傅里叶变换得到语音声谱,由于人耳对低频部分听觉不敏感,因此再通过模拟人耳听力特点设计出的梅尔滤波组,可增强三角波区域中间信号,削弱两边信号,因此能对信号进一步提取特征,本实验设置滤波器个数M为40个,三角波中心频率为f(m),其梅尔滤波组函数Hm(k)为

(4)

5)频谱能量:为了更好使梅尔特征频谱输出具有更好的抗干扰作用,每帧谱线能量E(k)与梅尔滤波组函数Hm(k)相乘取对数得到对数能量G(m),即

E(k)=|X(a,k)|2,

(5)

(6)

6)离散余弦变换(DCT):由于通过梅尔滤波器组后得到的系数相关性很高,所以只取低频信号特征值以减少运算量,因此需要对梅尔特征频谱做DCT得到MFCC特征频谱b(t),DCT公式为

(7)

式中,L阶指MFCC系数阶数,M是三角滤波器个数。

7)一阶差分计算:由于语音信号在时域上是连续的,所以需要计算MFCC的差分信号,以获得动态MFCC频谱特征图,一阶差分表示语音信号频谱中能量的变换,而在语音情感识别中,较多情感信息位于动态特征,因此能提取更多的语音特征,一阶差分公式如下:

(8)

式中,a代表一阶差分ΔMFCC,b代表MFCC中倒谱特征,t为时间,也称为第t帧。

8)二阶差分计算:对上述一阶差分进行求导,获得一阶差分的加速度变化,计算公式为

(9)

式中,c代表二阶差分Δ2MFCC。

由于语音信号在时域上是连续的,通过计算MFCC的差分信号,以获得动态ΔMFCC频谱特征图,一阶差分表示语音信号频谱中能量的变换,而在语音情感识别中,较多情感信息位于动态特征,因此能提取更多的语音特征,对一阶差分进行求导,获得一阶差分的变化加速度变化得到二阶差分Δ2MFCC。本实验设定各个频谱大小为20维,其直接融合频谱特征示意图,如图3所示。

图3 直接融合频谱示意图

由图3可见,在帧长相同的情况下,将3个特征频谱进行直接拼接融合,最终维数为60维,导致融合后的频谱维数较大,不利于后续神经网络模型对特征的处理。

1.3 基于贡献度的特征融合

为减少维度灾难导致过拟合等问题,采用PCA可以将高维数据映射到低维空间,通过保留数据的最大方差来保留数据的最大信息量。将特征矩阵进行PCA降维处理,并得到降维后的特征矩阵,通过计算每个特征的贡献和主成分中的权重,得到其对所有主成分的贡献[7]。

首先在进行PCA降维之前,需要对数据进行标准化,使得每个特征的均值为0,方差为1,可以避免数据中不同特征之间的量纲不一致带来的影响。再计算数据的协方差矩阵来描述不同特征之间的相关性,它的对角线上的元素是每个特征的方差,非对角线上的元素是不同特征之间的协方差,通过对协方差矩阵进行特征值分解,可以得到特征值和特征向量。特征值表示了每个特征向量的重要程度,而特征向量则描述了每个特征的方向,并选择保留能够解释大部分方差的主成分。本文选择能够解释大部分方差的前13个主成分,通过计算每个主成分向量的平方来求出每一维对应的贡献度。

分别对MFCC、一阶(ΔMFCC)、二阶(Δ2MFCC)特征频谱进行PCA降维,选取其贡献度较高的前13维得到降维后的频谱,各特征贡献度如图4所示。

(a) MFCC的贡献度分布 (b) ΔMFCC的贡献度分布 (c) Δ2MFCC的贡献度分布图4 特征的贡献度分布

为减少维度同时保留各个频谱中最能够代表语音情感的信息,通过PCA降维后得到各特征中贡献度维度最大的前13维,明显的可以看出图4中三个频谱的前13维的贡献度都是较高维度。去除各特征中无关的语音情感特征,使有效情感特征提高。并将降维后的三个频谱进行拼接融合,使得语音中包含的有用情感特征更高,并且特征从静态变为动静结合,为后续神经网络对融合频谱特征的识别起到良好作用。

2 建立Bi-LSTM-CNN情感识别算法模型

2.1 Bi-LSTM-CNN模型的建立

在语音信号处理方面,长短时记忆神经网络和一维卷积神经网络都有着特征提取和数据处理的能力。其中Bi-LSTM中具有判断信息是否有用的记忆单元处理模块[8],能保留语音信号中长期依赖的信息,有利于将语音信号中重要特征进行保留,并且双向LSTM是同时考虑已知信息和未知信息,同时利用反向和前向传递的数据对结果进行预测,而CNN能对差分融合频谱中保留下的重要特征进一步提取,再通过一维卷积的过程,保留下更重要的特征频谱,以此达到更高的准确率。因此建立一种融合MFCC及其差分频谱的双向长短时记忆网络结合卷积神经网络(Bi-LSTM-CNN)模型,结合两种神经网络的优点,能更好的对语音情感进行识别和分类[9],其总体模型如图5所示。

图5 Bi-LSTM-CNN算法模型

图5中包含1个输入层、3个双向LSTM层、3个一维卷积层、3个最大池化层、1个Dropout层和1个全连接层。输入层是语音信号的MFCC及其差分融合频谱特征,实验中设置每帧数据的MFCC的特征数量为20,帧移为512,采样频率为16 kHz,数据长度为4 s。经过PCA后的MFCC频谱尺寸大小为(126,13),由于输入层为MFCC及其差分MFCC融合频谱,因此图中输入层特征平面大小是(126,39),其余层的输入是从此融合频谱特征中进一步提取语音情感特征,第一层包含3个Bi-LSTM层,均包含128个记忆神经元,第二层是3个一维卷积层,每个卷积层分别包含128个不同大小的卷积核,采用激活函数为扩展指数线性单元(Scaled Exponential Liner Unit,SELU)函数SSELU(x),使得每一层激活值的均值都为0,标准差接近于1,可有效地加快模型收敛速度和有效解决梯度消失问题,表达式为

(10)

取值:α=1.67,λ≈1.051。

由全连接层学习卷积层输出的特征,提取出语音特征,并利用该特性识别出语音情感。由于情感主要分为七类,分别是生气、害怕、无聊、厌恶、高兴、中性、悲伤,因此在判断情感类别时,假设一条语音信号对应的差分融合梅尔倒谱矩阵为X,Bi-LSTM-CNN情感识别模型表示为N(X),经过网络模型后的N(X)输出7个值S0、S1、S2、S3、S4、S5、S6,7个值分别对应七类不同的情感,由于网络输出层采用softmax激活函数,可对输出值进行归一化操作,使得输出值转化为概率值,并且概率值之和为1,softmax激活函数公式为

(11)

式中,xi为第i个节点的输出值,j为总输出节点的个数,即分类的类别个数。

2.2 系统测试

本实验语音情感分类的输出层有七类情感,通过softmax激活函数之会将每种情感预测概率归一化到[0,1],系统预测判定最大概率值为真实情感标签,因此理想情况下S0=1,S1=0,S2=0,S3=0,S4=0,S5=0,S6=0时,系统判断输入的语音中所包含的情感是生气。对测试集中的语音情感进行识别,通过计算其混淆矩阵,获得各类情感正确预测样本的数量,再除以每一类情感的总样本数量得到各类情感识别的准确率(表1)。

表1 七类情感识别测试准确率

表1中对角线上的黑体元素代表分类器在每个类别上的正确预测的准确率,而对角线之外的其他元素表示分类器将样本错误地预测为其他类别的准确率,由表1可知,在测试集中各类情感识别的准确率均大于81%,且错误地预测为其他类别的概率较小,因此本算法具有较好的情感识别准确率。

3 数据预处理与网络优化

3.1 Z-Score对数据标准化

由于本文中采用的是MFCC差分融合频谱,提取出的特征在数量级方面相差很大,且初始频谱特征较多,特征数量较多可能导致维度灾难,且单位不统一,如果使用原始数据就会突出数值较高的指标在分析中的作用,相对弱化数值较低指标的作用[10]。因此需要将差分融合频谱进行标准化处理,以提高学习效率,节约模型训练时间,提高识别准确率。本文采用Z-Score方法对梅尔特征频谱及其差分频谱特征进行标准化处理,沿任意轴标准化融合频谱特征。以均值为中心,按分量比例缩放至单位方差,因此经过处理后的融合频谱矩阵均值为0,标准差为1,其转化公式为

(12)

3.2 稀疏交叉熵代价函数

交叉熵一般用于多分类任务中,是用来评估两个样本分布之间的距离,本文使用交叉熵来评估当前训练得到的概率分布与真实概率分布的差异情况,也就是使用交叉熵损失函数表达的是实际输出概率与期望输出概率的距离[11],因此交叉熵的值越小,表明两个概率分布就越接近,预测值越接近真实值,稀疏交叉熵代价函数公式为

(13)

其中,E表示拟合程度,N为训练的总数,yi为网络的预测值,ti为网络的目标值。

在语音情感中,包含了七种情感,由于数据标签没有转化为独立编码格式,因此本文采用softmax与稀疏交叉熵代价函数结合,使得神经网络能在误差中快速学习,使得权值的调整和网络的训练速度越快,进而对网络不断优化,达到最优的路径。

4 评价指标与实验结果

本研究采用RAVDESS数据集和EMODB数据库[12]。EMODB数据库下载网址为http://emodb.bilderbar.info/docu/#emodb,由德国柏林技术大学通信科学研究所创建。包括十名专业发音人,其中五男五女,总共包含527条话语音频。包含7种情绪:生气、害怕、无聊、悲伤、高兴、中性、悲伤。采样频率为16 kHz,每个样本长度平均约为4 s。在处理器i3-12100f,显卡RTX-1650硬件基础上,本研究每次实验采用数据集的四分之三作为训练实验,选取其中四分之一作为测试实验,总共设置四种不同算法实验,分为A、B、C、D组,其中D组为本文实验算法,四组不同算法实验均在EMODB数据集下进行实验,且每组算法实验中CNN网络和Bi-LSTM-CNN网络结构相同,A组实验设置为MFCC-CNN、B组为MFCC-Bi-LSTM-CNN,以及C组基于直接拼接的MFCC及其差分融合频谱结合Bi-LSTM-CNN、D组基于贡献度的MFCC及其差分融合频谱结合Bi-LSTM-CNN四组实验,A、B组实验主要验证Bi-LSTM-CNN神经网络的有效性,C、D两组主要验证基于贡献度的融合方式的有效性,得出实验结果并对基于MFCC-DNN相关文献识别结果进行对照比较。

4.1 评价指标

在本实验中由于情感识别属于分类模型,因此评估性能指标包括准确率(Accuracy,Acc)、召回率(Recall,R)、精准率(Precisio,P)[13],在评价指标公式中数学符号代表含义如下:TP为模型预测与标注相同,都为正标签;TN为模型预测与标注相同,都为负标签;FP为模型预测不正确,与正标注相反;FN为模型预测不正确,与负标签相反。

4.1.1 召回率

召回率是针对所有情感样本而言的,其含义是实际为本类情感中被预测为本类的情感样本所占实际为本类情感样本的比例。高的召回率意味着可能会有更多的误检,但是会尽力找到每一个应该被找到的情感特征,其公式为

(14)

4.1.2 准确率

准确率从某种意义上能判断一个分类器是否有效,但并不总是能有效的评价一个分类器的工作,但是准确率是分类问题中最简单也是最直观的评价指标,其含义是分类正确的样本数占总样本个数的比例,在数据均衡的情况下有很好的效果,在EMODB数据集下其中各类情感数据量比较均匀,因此准确率是一个可靠的评价指标,其公式为

(15)

4.1.3 精准率

精准率的含义是模型预测为正的样本中实际也为正样本占被预测为正的样本的比例,精准率代表对正样本结果中的预测准确程度,准确率则代表整体的预测准确程度,包括正样本和负样本,在分类任务中也是很好的模型评判标准,其公式为

(16)

4.2 实验结果分析

本文通过上述四组算法进行实验,对每组算法实验进行30次测试,取训练评价指标中准确率作为模型的评估准则,其四组算法实验的准确率如图6(a)所示,D组实验结果放大尺寸如图6(b)所示。

(a) 4组实验准确率 (b) D组放大图图6 实验结果

通过多次实验得出性能评估指标的平均值,以及准确率的最大值见表2。由表可见,MFCC作为语音特征频谱输入,采用Bi-LSTM-CNN的B模型比采用CNN的A模型准确率高出13.32%,但准确率不理想。而D组实验基于贡献度的融合方式,减少无关特征的同时降低了维数,并采用Bi-LSTM-CNN模型,进行30次实验时,该模型比B组模型识别准确率高出9.32%,且准确率达到85.51%,由此可见,在模型相同的情况下,基于贡献度的MFCC差分融合频谱图作为输入,准确率也有很好的效果。

表2 性能评估指标值 %

在相同硬件条件下,在EMODB数据上采用本文采用基于贡献度的特征融合方式与C组直接拼接方式在相同神经网络模型下训练耗时见表3。

表3 实验时时间对比

由表2、表3可见,在相同的神经网络模型上,本文采用基于贡献度的特征融合方式比直接拼接法的融合方式耗时更短,且准确率更高。

5 与其他实验的比较分析

在传统学习中对语音识别主要采用融合高斯模型、支持向量机和隐马尔可夫模型,随着深度学习在人工智能行业崛起,对于语音情感识别的研究也进入热潮。对于EMO-DB数据集下,目前主流的语音情感识别主要采用MFCC或LMS特征结合深度学习的方法,其中包括MFCC-CNN、MFCC-ΔMFCC-DNN、ΔMFCC-Bi-LSTM、Bi-LSTM-CNN。由于文献[16]使用LMS作为输入特征频谱,因此识别准确率高于本实验,也在情理之中,为了更好体现本实验的优越性,实验对照结果见表4。

表4 实验结果对比

6 结论

本文通过基于MFCC和对一、二阶差分频谱特征输入的融合,综合贡献度的特征融合方式的测试,减少了维度,有效提高了语音情感特征。再结合深度学习,实验结果表明Bi-LSTM-CNN模型有着良好的识别率,在RAVDESS数据集上准确率为81.32%,在EMO-DB数据集上对情感识别的准确率为85.51%,综合取得了良好的语音情感识别效果。

猜你喜欢

贡献度差分频谱
数列与差分
一种用于深空探测的Chirp变换频谱分析仪设计与实现
充分把握教育对经济社会发展的贡献度
基于贡献度排序的肾透明细胞癌串扰通路分析
一种基于稀疏度估计的自适应压缩频谱感知算法
需求侧资源促进可再生能源消纳贡献度综合评价体系
基于差分隐私的大数据隐私保护
相对差分单项测距△DOR
差分放大器在生理学中的应用
一种基于功率限制下的认知无线电的频谱感知模型