一种基于cnn和lstm的藏语语音情感识别方法
技术领域
1.本发明属于语音情感识别技术领域,尤其涉及一种基于cnn和lstm的藏语语音情感识别方法。
背景技术:2.语音情感识别是计算机对人类情感感知和理解过程的模拟,它的任务就是从采集到的语音信号中提取表达情感的声学特征,并找出这些声学特征与人类情感的映射关系示,然后通过此映射关系,识别输入的语音信号,达到人机交互的目的,而藏语语音情感识别是语音情感识别的一个特例,即以带情感的藏语语音作为输入,使得计算机可以在建设映射关系的基础上识别带有情感的藏语语音,实现人机交互。
3.近些年来,随着深度学习的逐渐火热,许多研究者将深度学习运用到各种领域,其中语音识别领域也是深度学习运用的一个热门领域,在语音情感识别领域,提高识别的鲁棒性和准确性一直是需要探索和解决的重要问题也是核心问题。许多研究者在这上面做出了大量的努力,各种研究成果层出不穷,比如:多模态的情感识别方法,基于多种分类器融合的情感识别方法,基于深度神经网络的情感识别系统等。
4.但是,在近些年的语音情感识别领域所应用的语音数据大多数为中文,英文等这些语音库,而针对藏语库的语音情感识别方法尚未存在;其次,目前的语音情感识别的鲁棒性和准确性的仍旧需要提升。针对这两点,本方案提出了可以提高识别鲁棒性和准确性的藏语语音情感识别方法,即基于cnn和lstm的藏语语音情感识别方法。
技术实现要素:5.针对现有技术中的上述不足,本发明提供的一种基于cnn和lstm的藏语语音情感识别方法解决了针对藏语语音情感识别的问题。
6.为了达到上述发明目的,本发明采用的技术方案为:
7.本方案提供一种基于cnn和lstm的藏语语音情感识别方法,包括如下步骤:
8.s1、建立藏语语音情感语料库;
9.s2、对藏语语音情感语料库中的藏语语音数据进行预处理;
10.s3、对经预处理后的藏语语音情感语料库中的藏语语音数据进行特征提取,得到藏语语音谱;
11.s4、根据藏语语音谱对藏语语音情感识别网络进行训练,得到训练好的藏语语音情感识别网络;
12.s5、将需识别的藏语语音数据经预处理和特征提取后输入训练好的藏语语音情感识别网络,得到所述藏语语音数据对应的藏语语音情感分类结果。
13.本发明的有益效果为:本发明为提供了藏语语音情感识别的方法,填补了当前对藏语语音情感识别的空缺;本方案采取了cnn和lstm相结合的搭建的藏语语音情感识别网络,能够更加充分地提取语音信号中的抽象情感特征,使得情感分类更加准确;本方案采用
汉明窗对语音信号进行预处理,并利用梅尔标度滤波器得到与人耳听觉相关的藏语语音谱,将藏语语音谱输入由cnn网络和lstm构成的藏语语音情感识别网络对所述藏语语音情感识别网络进行前向和反向训练,得到训练好的藏语语音情感识别网络。
14.进一步地,所述步骤s1的具体步骤如下:
15.s11、录制藏语语音数据;
16.s12、对所述藏语语音数据进行情感标注,得到初始藏语语音情感语料库;
17.s13、将初始藏语语音情感语料库分为训练集和测试集,完成藏语语音情感语料库建立。
18.采用上述进一步方案的有益效果为:通过专业人员录制相应的藏语语音情感数据,建立藏语语音情感语料库,为准确识别藏语语音情感提供语音数据,并将藏语语音情感语料库分为训练集和测试集用于藏语语音情感识别网络的训练与测试。
19.进一步地,所述步骤s2的具体步骤如下:
20.s21、预加重:将藏语语音情感语料库训练集中的藏语语音数据进行预加重处理,且所述预加重处理表达式如下:
21.g(n)=x(n)
‑
ax(n
‑
1)
22.其中,x(n)表示输入的藏语语音数据,g(n)表示预加重后的藏语语音数据,x(n
‑
1)表示上一输入的藏语语音数据,a表示加重系数,其中,a为0.96;
23.s22、分帧:将将经过预加重的藏语语音数据按预设的帧长和预设的帧移进行分帧操作,得到若干段分帧藏语语音信号;
24.s23、加窗:将窗函数与各分帧藏语语音信号相乘,得到分帧加窗藏语语音信号,完成藏语语音数据预处理。
25.采用上述进一步方案的有益效果为:对藏语语音数据进行预加重处理提升了语音数据中高频信号的能量,将训练集中的藏语语音数据进行分帧和加窗处理,截取藏语语音数据截取前后相互重叠一部分,所述汉明窗仅体现中间的数据,两端数据信息会丢失,但移窗时仅移动1/3或1/2窗,前一帧或前两帧的丢失的数据会得到重新体现,确保藏语语音数据的准确性和完整性。
26.进一步地,所述步骤s23中窗函数采用汉明窗,且所述汉明窗w(n)的表达式如下:
[0027][0028]
其中,a0表示常数0.53836,n表示汉明窗的长度,n表示输入的窗函数信号。
[0029]
采用上述进一步方案的有益效果为:所述汉明窗的幅频特性是旁瓣衰减大,主瓣峰值与第一个旁瓣衰减可达40db,可以改善频率泄露的情况。
[0030]
进一步地,所述步骤s3的具体步骤如下:
[0031]
s31、将所述步骤s23中的分帧加窗藏语语音信号进行短时傅里叶变换,并按每一帧进行堆叠,得到藏语语谱图;
[0032]
s32、利用梅尔标度滤波器处理藏语语谱图,得到与人耳听觉相关的藏语语音谱。
[0033]
采用上述进一步方案的有益效果为:所述经过分帧加窗的藏语语音信号通过短时傅里叶变换,并按每一帧堆叠,得到藏语语谱图;所述梅尔标度滤波器的梅尔频率标度的单位是mel,它是为了描绘音调而被定义出来的,它更生动地反映出了频率和音调的非线性关
系,其中,藏语语音谱为具有梅尔特征的藏语语谱图。
[0034]
进一步地,所述步骤s32中梅尔标度滤波器h
m
(k)表达式如下:
[0035][0036]
其中,m表示第m个滤波器,k表示旋转频率,f(
·
)表示梅尔标度滤波器h
m
(k)中各三角滤波器的中心频率。
[0037]
采用上述进一步方案的有益效果为:所述梅尔标度滤波器h
m
(k)为三角滤波器组,其先将线性频谱映射到基于听觉感知的梅尔非线性频谱中,然后转换到倒谱上。
[0038]
进一步地,所述步骤s4的具体步骤如下:
[0039]
s41、前向传播训练:将所述藏语语音谱输入由cnn网络和lstm构成的藏语语音情感识别网络进行训练,得到预测情感特征类别y(t);
[0040]
s42、反向传播训练:将设定的预测情感类别y
′
(t)作为输入对由cnn网络和lstm构成的藏语语音情感识别网络进行反向训练,得到最接近真实情感特征类别y(t),并根据梯度下降算法,通过调整网络参数使最接近真实情感特征类别y(t)与预测情感特征类别y(t)之间的误差小于预设值,得到训练好的藏语语音情感识别网络。
[0041]
采用上述进一步方案的有益效果为:通过对由cnn网络和lstm构成的藏语语音情感识别网络进行前向传播和反向传播训练,并利用梯度下降算法,减小最接近真实情感特征类别y(t)和测情感特征类别y(t)之间的误差,得到训练好的藏语语音情感识别网络,实现藏语语音信号的情感准确识别。
[0042]
进一步地,所述步骤s41的具体步骤如下:
[0043]
s411、将所述藏语语音谱输入三通道cnn网络训练,得到藏语语音谱的三维特征;
[0044]
所述第一通道由20个依次设置的卷积核大小为3
×
3、步长为1的卷积层构成;所述第二通道由40个依次设置的卷积核大小为5
×
5、步长为2的卷积层构成;所述第三通道由60个依次设置的卷积和大小为7
×
7、步长为2的卷积层构成;
[0045]
s412、所述三维特征随机排列组合,得到情感特征向量x(t);
[0046]
s413、将所述情感特征向量归一化处理,并输入lstm网络训练,得到具有记忆性的长时域情感特征y
i
(t);
[0047]
所述长时域情感特征y
i
(t)的表达式如下:
[0048][0049][0050][0051]
g
out
(t)=sigmoid(w
·
x(t)+v
·
y
i
(t
‑
1)+u
·
c(t))
[0052]
g
forget
(t)=sigmoid(w
·
x(t)+v
·
y
i
(t
‑
1)+u
·
c(t
‑
1))
[0053]
g
in
(t)=sigmoid(w
·
x(t)+v
·
y
i
(t
‑
1)+u
·
c(t
‑
1))
[0054][0055]
其中,y
i
(t
‑
1)表示上一时刻的长时域情感特征,c(t)表示记忆状态,w表示第一权重,v表示第二权重,f(
·
)表示激活函数tanh,g
in
(t)表示lstm的输入门,g
forget
(t)表示lstm的遗忘门,g
out
(t)表示lstm的输出门,sigmoid(t)表示激活函数,t表示时间。
[0056]
s414、将所述长时域情感特征y
i
(t)输入全连接层处理,得到全部长时域情感特征,并通过softmax分类层输出预测情感特征类别y(t);
[0057]
所述softmax分类层输出预测情感特征类别y(t)的表达式如下:
[0058][0059]
其中,y
i
(t)表示长时域情感特征,e表示常数e,表示所有长时域情感特征类别之和,i表示长时域情感特征类别的编号,其中i=1,2,
…
,k,k表示长时域情感类别的总数。
[0060]
采用上述进一步方案的有益效果为:通过cnn网络实现对藏语语音谱三维特征的提取,利用lstm网络训练具有记忆性的长时域情感特征y
i
(t),利用全连接层得到全部长时域情感特征,并通过softmax层输出预测情感特征类别y(t)。
[0061]
进一步地,所述步骤s42中误差函数e(t)表达式如下:
[0062][0063]
其中,n表示样本总数,y(t)表示最接近真实情感特征类别,y(t)表示预测情感特征类别,t表示时间。
[0064]
采用上述进一步方案的有益效果为:所述误差函数e(t)采用二次代价函数,适用于输出神经元为线性的情况。
[0065]
进一步地,所述步骤s5的具体步骤如下:
[0066]
s51、将需识别的藏语语音数据经预处理和特征提取后输入训练好的藏语语音情感识别网络,通过softmax分类层输出带有概率的预测情感特征类别y(t);
[0067]
s52、选择概率最大的预测情感特征类别y(t)作为所述藏语语音数据对应的藏语语音情感分类结果。
[0068]
采用上述进一步方案的有益效果为:所述softmax分类层输出若干个概率不为零的藏语语音情感类别结果,通过选择概率最大的预测情感特征类别y(t)实现对藏语语音情感的准确识别。
附图说明
[0069]
图1为本发明实施例中基于cnn和lstm的藏语语音情感识别方法的步骤流程图。
具体实施方式
[0070]
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
[0071]
如图1所示,在本发明的一个实施例中,本发明提供一种基于cnn和lstm的藏语语音情感识别方法,包括如下步骤:
[0072]
s1、建立藏语语音情感语料库;
[0073]
所述步骤s1的具体步骤如下:
[0074]
s11、录制藏语语音数据;
[0075]
s12、对所述藏语语音数据进行情感标注,得到初始藏语语音情感语料库;
[0076]
s13、将初始藏语语音情感语料库分为训练集和测试集,完成藏语语音情感语料库建立;
[0077]
通过专业人员录制相应的藏语语音情感数据,建立藏语语音情感语料库,为准确识别藏语语音情感提供语音数据,并将藏语语音情感语料库分为训练集和测试集用于藏语语音情感识别网络的训练与测试。
[0078]
s2、对藏语语音情感语料库中的藏语语音数据进行预处理;
[0079]
所述步骤s2的具体步骤如下:
[0080]
s21、预加重:将藏语语音情感语料库训练集中的藏语语音数据进行预加重处理,且所述预加重处理表达式如下:
[0081]
g(n)=x(n)
‑
ax(n
‑
1)
[0082]
其中,x(n)表示输入的藏语语音数据,g(n)表示预加重后的藏语语音数据,x(n
‑
1)表示上一输入的藏语语音数据,a表示加重系数,其中,a为0.96;
[0083]
s22、分帧:将将经过预加重的藏语语音数据按预设的帧长和预设的帧移进行分帧操作,得到若干段分帧藏语语音信号;
[0084]
s23、加窗:将窗函数与各分帧藏语语音信号相乘,得到分帧加窗藏语语音信号,完成藏语语音数据预处理。
[0085]
所述步骤s23中窗函数采用汉明窗,且所述汉明窗w(n)的表达式如下:
[0086][0087]
其中,a0表示常数0.53836,n表示汉明窗的长度,n表示输入的窗函数信号;
[0088]
将训练集中的藏语语音数据进行分帧和加窗处理,截取藏语语音数据截取前后相互重叠一部分,所述汉明窗仅体现中间的数据,两端数据信息会丢失,但移窗时仅移动1/3或1/2窗,前一帧或前两帧的丢失的数据会得到重新体现,确保藏语语音数据的准确性和完整性,所述汉明窗的幅频特性是旁瓣衰减大,主瓣峰值与第一个旁瓣衰减可达40db,可以改善频率泄露的情况。。
[0089]
s3、对经预处理后的藏语语音情感语料库中的藏语语音数据进行特征提取,得到藏语语音谱;
[0090]
所述步骤s3的具体步骤如下:
[0091]
s31、将所述步骤s23中的分帧加窗藏语语音信号进行短时傅里叶变换,并按每一帧进行堆叠,得到藏语语谱图;
[0092]
s32、利用梅尔标度滤波器处理藏语语谱图,得到与人耳听觉相关的藏语语音谱,其中,藏语语音谱为具有梅尔特征的藏语语谱图。。
[0093]
所述步骤s32中梅尔标度滤波器h
m
(k)表达式如下:
[0094][0095]
其中,m表示第m个滤波器,k表示旋转频率,f(
·
)表示梅尔标度滤波器h
m
(k)中各三角滤波器的中心频率;
[0096]
所述经过分帧加窗的藏语语音信号通过短时傅里叶变换,并按每一帧堆叠,得到藏语语谱图;所述梅尔标度滤波器的梅尔频率标度的单位是mel,它是为了描绘音调而被定义出来的,它更生动地反映出了频率和音调的非线性关系,所述梅尔标度滤波器h
m
(k)为三角滤波器组,其先将线性频谱映射到基于听觉感知的梅尔非线性频谱中,然后转换到倒谱上。
[0097]
s4、根据藏语语音谱对藏语语音情感识别网络进行训练,得到训练好的藏语语音情感识别网络;
[0098]
所述步骤s4的具体步骤如下:
[0099]
s41、前向传播训练:将所述藏语语音谱输入由cnn网络和lstm构成的藏语语音情感识别网络进行训练,得到预测情感特征类别y(t);
[0100]
所述步骤s41的具体步骤如下:
[0101]
s411、将所述藏语语音谱输入三通道cnn网络训练,得到藏语语音谱的三维特征;
[0102]
所述第一通道由20个依次设置的卷积核大小为3
×
3、步长为1的卷积层构成;所述第二通道由40个依次设置的卷积核大小为5
×
5、步长为2的卷积层构成;所述第三通道由60个依次设置的卷积和大小为7
×
7、步长为2的卷积层构成;
[0103]
s412、所述三维特征随机排列组合,得到情感特征向量x(t);
[0104]
s413、将所述情感特征向量归一化处理,并输入lstm网络训练,得到具有记忆性的长时域情感特征y
i
(t);
[0105]
所述长时域情感特征y
i
(t)的表达式如下:
[0106][0107][0108][0109]
g
out
(t)=sigmoid(w
·
x(t)+v
·
y
i
(t
‑
1)+u
·
c(t))
[0110]
g
forget
(t)=sigmoid(w
·
x(t)+v
·
y
i
(t
‑
1)+u
·
c(t
‑
1))
[0111]
g
in
(t)=sigmoid(w
·
x(t)+v
·
y
i
(t
‑
1)+u
·
c(t
‑
1))
[0112][0113]
其中,x(t)表示情感特征向量,y
i
(t)表示长时域情感特征,y
i
(t
‑
1)表示上一时刻的长时域情感特征,c(t)表示记忆状态,w表示第一权重,v表示第二权重,f(
·
)表示激活函数tanh,g
in
(t)表示lstm的输入门,g
forget
(t)表示lstm的遗忘门,g
out
(t)表示lstm的输出门,sigmoid(t)表示激活函数,t表示时间。
[0114]
s414、将所述长时域情感特征y
i
(t)输入全连接层处理,得到全部长时域情感特征,并通过softmax分类层输出预测情感特征类别y(t);
[0115]
所述softmax分类层输出预测情感特征类别y(t)的表达式如下:
[0116][0117]
其中,y
i
(t)表示长时域情感特征,e表示常数e,表示所有长时域情感特征类别之和,i表示长时域情感特征类别的编号,其中i=1,2,
…
,k,k表示长时域情感类别的总数;
[0118]
s42、反向传播训练:将设定的预测情感类别y
′
(t)作为输入对由cnn网络和lstm构成的藏语语音情感识别网络进行反向训练,得到最接近真实情感特征类别y(t),并根据梯度下降算法,通过调整网络参数使最接近真实情感特征类别y(t)与预测情感特征类别y(t)之间的误差e(t)小于预设值,得到训练好的藏语语音情感识别网络;
[0119]
所述步骤s42中误差函数e(t)表达式如下:
[0120][0121]
其中,n表示样本总数,y(t)表示最接近真实情感特征类别,y(t)表示预测情感特征类别,t表示时间。
[0122]
通过cnn网络实现对藏语语音谱三维特征的提取,利用lstm网络训练具有记忆性的长时域情感特征y
i
(t),利用全连接层得到全部长时域情感特征,并通过softmax层输出预测情感特征类别y(t),通过对由cnn网络和lstm构成的藏语语音情感识别网络进行前向传播和反向传播训练,并利用梯度下降算法,减小最接近真实情感特征类别y(t)和测情感特征类别y(t)之间的误差e(t),得到训练好的藏语语音情感识别网络,实现藏语语音信号的情感准确识别,所述误差函数e(t)采用二次代价函数,适用于输出神经元为线性的情况。
[0123]
s5、将需识别的藏语语音数据经预处理和特征提取后输入训练好的藏语语音情感识别网络,得到所述藏语语音数据对应的藏语语音情感分类结果;
[0124]
所述步骤s5的具体步骤如下:
[0125]
s51、将需识别的藏语语音数据经预处理和特征提取后输入训练好的藏语语音情感识别网络,通过softmax分类层输出带有概率的预测情感特征类别y(t),其中,预处理和特征提取方法与s2和s3中的预处理和特征提取方法相同;
[0126]
s52、选择概率最大的预测情感特征类别y(t)作为所述藏语语音数据对应的藏语语音情感分类结果;
[0127]
所述softmax分类层输出若干个概率不为零的藏语语音情感类别结果,通过选择概率最大的预测情感特征类别y(t)实现对藏语语音情感的准确识别。
[0128]
本发明的有益效果为:本发明为提供了藏语语音情感识别的方法,填补了当前对藏语语音情感识别的空缺;本方案采取了cnn和lstm相结合的搭建的藏语语音情感识别网络,能够更加充分地提取语音信号中的抽象情感特征,使得情感分类更加准确;本方案采用汉明窗对语音信号进行预处理,并利用梅尔标度滤波器得到与人耳听觉相关的藏语语音谱,将藏语语音谱输入由cnn网络和lstm构成的藏语语音情感识别网络对所述藏语语音情感识别网络进行前向和反向训练,得到训练好的藏语语音情感识别网络,能够对藏语语音数据进行准确的情感识别分类。