本发明涉及一种语音情绪识别方法及系统。
背景技术:
传统的基于支持向量机(supportvectormachine,svm)、隐马尔科夫链(hiddenmarkovmodel,hmm)、高斯混合模型(gaussianmixturemodel,gmm)、k最近邻居(knearestneighbors,knn)等方法在语音情绪识别方面取得了一定的效果。
然而,传统的语音情绪识别方法准确率并不高,且不能够在短时间内准确、实时地识别说话人的潜在情绪。
技术实现要素:
有鉴于此,有必要提供一种语音情绪识别方法及系统,其能够提升语音情绪识别准确率,并且在短时间内准确、实时地识别说话人的潜在情绪。
本发明提供一种语音情绪识别方法,该方法包括如下步骤:a.将说话人的语音保存为原始语音文件,并对所述原始语音文件进行音频预处理,得到预处理后的语音文件;b.使用音频处理库函数,对所述预处理后的语音文件进行音频特征抽取,得到音频特征向量或者谱图像特征;c.将抽取的音频特征送入训练好的语音情绪识别模型,由语音情绪识别模型完成语音情绪识别。
具体地,所述的音频预处理包括:静音移除及数据增强。
具体地,所述的静音移除包括:
使用语音能量作为阈值,如果所述原始语音文件一段时间内的能量小于所设定的阈值时,认为当前该段时间内的音频为噪音,并丢弃;然后保存丢弃所述噪音后的语音文件作为当前语音文件。
具体地,所述的语音数据增强包括:
如果当前语音文件短于最小音频片段数据,则将当前语音文件中间开始截取一定长度,将该长度复制到原始语音文件的中间位置,以保证预处理后的语音文件满足最短音频时长要求。
具体地,所述的步骤b包括:
使用音频处理库函数抽取包括以音高、能量、过零率、色度为代表的韵律特征,以共振频率、谱特征为代表的质量特征,及以梅尔倒频谱系数、mfcc一阶导数、线性预测编码系数为代表的导出特征,通过拼接的方式组成音频特征向量。
具体地,所述的步骤b包括:
使用谱图像特征的形式展示预处理后的语音文件的多维度特征。
具体地,所述语音情绪识别模型为卷积神经网络模型,采用所述卷积神经网络模型完成语音情绪识别。
具体地,所述语音情绪识别模型为融合双向长短时记忆与注意力机制模型,采用所述融合双向长短时记忆与注意力机制模型完成语音情绪识别。
本发明提供一种语音情绪识别系统,该系统包括该系统包括预处理模块、音频特征抽取模块、语音情绪识别模块,其中:所述预处理模块用于将说话人的语音保存为原始语音文件,并对所述原始语音文件进行音频预处理,得到预处理后的语音文件;所述音频特征抽取模块用于使用音频处理库函数,对所述预处理后的语音文件进行音频特征抽取,得到音频特征向量或者谱图像特征;所述语音情绪识别模块用于将抽取的音频特征送入训练好的语音情绪识别模型,由语音情绪识别模型完成语音情绪识别。
本发明通过深度学习语音情绪识别模型,使得语音情绪识别的准确率得到明显提升。从实际应用效果来看,本发明能够在短时间内准确、实时地识别说话人的潜在情绪。
附图说明
图1为本发明语音情绪识别方法的流程图;
图2为本发明实施例提供的bilstm att模型示意图;
图3为本发明语音情绪识别系统的硬件架构图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步详细的说明。
参阅图1所示,是本发明语音情绪识别方法较佳实施例的作业流程图。
步骤s1,将说话人的语音保存为原始语音文件,并对所述原始语音文件进行音频预处理,得到预处理后的语音文件。具体而言:
将说话人说的一句话保存为一个原始语音文件,所述原始语音文件为wav或者mp3格式,时长2秒左右。对所述原始语音文件进行音频预处理,所述音频预处理包括:静音移除及数据增强。
进一步地,
a)静音移除:使用语音能量作为阈值,如果所述原始语音文件一段时间内的能量小于所设定的阈值时,认为当前该段时间内的音频为噪音,并丢弃;然后保存丢弃所述噪音后的语音文件作为当前语音文件。其中,所述语音能量为根均方能量(root-mean-squareenergy,rmse)。
b)语音数据增强:如果当前语音文件短于最小音频片段数据,则使用语音数据增强的方法增加当前语音文件音频的长度,使得当前语音文件有足够的数据输入语音情绪识别模型,且保证当前语音文件中语音情绪识别的结果与原始语音情绪相同。本实施例中的语音数据增强方法是将当前语音文件中间开始截取一定长度,将该长度复制到原始语音文件的中间位置,以保证预处理后的语音文件满足最短音频时长要求。
步骤s2,使用音频处理库函数,对所述预处理后的语音文件进行音频特征抽取,得到音频特征向量或者谱图像特征。具体而言:
所述音频特征抽取包括两种方法:
a)音频特征向量:使用音频处理库函数抽取包括以音高(pitch)、能量(energy)、过零率(zero-crossingrate,zcr)、色度(chroma)为代表的韵律(prosody)特征,以共振频率(fromantfrequencies)、谱(spectral)特征为代表的质量(quality)特征,及以梅尔倒频谱系数(mel-frequencycepstralcoefficient,mfcc)、mfcc一阶导数(firsttimederivativesofmfcc)、线性预测编码系数(linearpredictivecodingcoefficients,lpcc)等导出特征,通过拼接的方式组成音频特征向量。
b)使用谱图像特征,该类型谱图像包括梅尔频谱(mel-frequencyspectrogram)图像特征、梅尔倒频谱(mfcc)图像特征和谱(spectrogram)图像特征,即,使用图像的形式展示原始语音信号的多维度特征。
在一些实施例中,通过方法a)抽取得到音频特征向量;在另一些实施例中,通过方法b)抽取得到谱图像特征。
步骤s3,将抽取的音频特征送入训练好的语音情绪识别模型,由语音情绪识别模型完成语音情绪识别。具体而言:
在一些实施例中,所述语音情绪识别模型为卷积神经网络模型(cnn),采用cnn模型完成语音情绪识别。
cnn模型:包括输入层、卷积层、全连接层和分类层。将抽取得到的上述音频特征经数据标准化处理后送入输入层,经卷积层的卷积操作后送至全连接层,经过全连接层处理后送入分类层,所述分类层实现对音频类型的分类,完成语音情绪识别。
在另一些实施例中,所述语音情绪识别模型为融合双向长短时记忆与注意力机制模型(bilstm att),采用bilstm att模型完成语音情绪识别。
bilstm att模型,如图2所示:
(1)输入层:将抽取得到的上述音频特征,作为输入层的数据直接输入bilstm att模型;
(2)bilstm网络层:由双向lstm网络构成的一个网络结构,使用标注后的数据输入bilstm网络层,在bilstm网络层完成语音情绪识别模型的训练;
其中,所述标注后的数据是指已经标注好各种情绪标签的数据;
(3)注意力层:产生一个权重向量,该权重向量乘以bilstm网络层的输出,完成对网络输出中不同维度的权重赋值,使得特征中能够表达情绪的部分得到充分表达;
(4)输出层:使用两个全连接网络层,结合softmax函数,实现情绪类型的准确判断。
一个bilstm网络层包括多个双向传输的lstm网络单元。在具体的网络内部,一个lstm循环单元以音频数据作为输入,产生特征输出h=(h1,h2,…,ht),其中hi表示lstm在时间戳i的隐状态,并总结所有的音频特征到参数xi。本实施例中使用双向lstm以更好地得到音频特征,且使用两个方向的特征来完成。一个双向的lstm包括一个正向的lstm网络
其中,||表示连接操作,t代表每个lstm网络的长度。本文使用一个bi-lstm网络结构以获取更多的抽象特征。
在实际的情绪判断中,并不是每个音频片段特征都对最终情绪的识别结果产生决定性作用,因此需要使用一种自动的机制或方法来完成不同音频片段的权重判断。而注意力机制则是能够充分利用自动更新的语音情绪识别模型并给予不同音频片段特征赋予不同权重。因此,本实施例在包括相关模型的基础上,使用如下公式进行注意力的判断:
uai=tanh(whai b)
其中,a代表第t个语音文件,i代表第i个语音特征,n代表一个语音文件中总的特征个数。hti代表第t个语音文件中的第i个音频向量输入到一个一层的多层感知网络中得到uti作为hti的隐表示,hti是bi-lstm层输出的拼接(concatenation),w是注意力网络的权重矩阵,b是注意力网络的一个偏置向量。然后本实施例使用相似度计算方法来分析语音片段特征的权重,该相似度方法是使用uti与随机初始化的音频特征向量uw做余弦计算。接着,使用一个softmax函数得到一个标准化的权重ati。ati是第t个语音文件中第i个音频片段特征的权重。ati的值越大,代表该第i个特征更能够表达最终的情感。最终,使用st代表第t个语音文件的语音片段的权重和。
参阅图3所示,是本发明语音情绪识别系统10的硬件架构图。该系统包括:预处理模块101、音频特征抽取模块102以及语音情绪识别模块103。
所述预处理模块101用于将说话人的语音保存为原始语音文件,并对所述原始语音文件进行音频预处理,得到预处理后的语音文件。具体而言:
将说话人说的一句话保存为一个原始语音文件,所述原始语音文件为wav或者mp3格式,时长2秒左右。所述预处理模块101对所述原始语音文件进行音频预处理,所述音频预处理包括:静音移除及数据增强。
进一步地,
a)静音移除:使用语音能量作为阈值,如果所述原始语音文件一段时间内的能量小于所设定的阈值时,认为当前该段时间内的音频为噪音,并丢弃;然后保存丢弃所述噪音后的语音文件作为当前语音文件。其中,所述语音能量为根均方能量(root-mean-squareenergy,rmse)。
b)语音数据增强:如果当前语音文件短于最小音频片段数据,则使用语音数据增强的方法增加当前语音文件音频的长度,使得当前语音文件有足够的数据输入语音情绪识别模型,且保证当前语音文件中语音情绪识别的结果与原始语音情绪相同。本实施例中的语音数据增强方法是将当前语音文件中间开始截取一定长度,将该长度复制到原始语音文件的中间位置,以保证预处理后的语音文件满足最短音频时长要求。
所述音频特征抽取模块102用于使用音频处理库函数,对所述预处理后的语音文件进行音频特征抽取,得到音频特征向量或者谱图像特征。具体而言:
所述音频特征抽取包括两种方法:
a)音频特征向量:所述音频特征抽取模块102使用音频处理库函数抽取包括以音高(pitch)、能量(energy)、过零率(zero-crossingrate,zcr)、色度(chroma)为代表的韵律(prosody)特征,以共振频率(fromantfrequencies)、谱(spectral)特征为代表的质量(quality)特征,及以梅尔倒频谱系数(mel-frequencycepstralcoefficient,mfcc)、mfcc一阶导数(firsttimederivativesofmfcc)、线性预测编码系数(linearpredictivecodingcoefficients,lpcc)等导出特征,通过拼接的方式组成音频特征向量。
b)使用谱图像特征,该类型谱图像包括梅尔频谱(mel-frequencyspectrogram)图像特征、梅尔倒频谱(mfcc)图像特征和谱(spectrogram)图像特征,即,所述音频特征抽取模块102使用图像的形式展示原始语音信号的多维度特征。
在一些实施例中,所述音频特征抽取模块102通过方法a)抽取得到音频特征向量;在另一些实施例中,所述音频特征抽取模块102通过方法b)抽取得到谱图像特征。
所述语音情绪识别模块103用于将抽取的音频特征送入训练好的语音情绪识别模型,由语音情绪识别模型完成语音情绪识别。具体而言:
在一些实施例中,所述语音情绪识别模型为卷积神经网络模型(cnn),采用cnn模型完成语音情绪识别。
cnn模型:包括输入层、卷积层、全连接层和分类层。将抽取得到的上述音频特征经数据标准化处理后送入输入层,经卷积层的卷积操作后送至全连接层,经过全连接层处理后送入分类层,所述分类层实现对音频类型的分类,完成语音情绪识别。
在另一些实施例中,所述语音情绪识别模型为融合双向长短时记忆与注意力机制模型(bilstm att),采用bilstm att模型完成语音情绪识别。
bilstm att模型,如图2所示:
(1)输入层:将抽取得到的上述音频特征,作为输入层的数据直接输入bilstm att模型;
(2)bilstm网络层:由双向lstm网络构成的一个网络结构,使用标注后的数据输入bilstm网络层,在bilstm网络层完成语音情绪识别模型的训练;
其中,所述标注后的数据是指已经标注好各种情绪标签的数据;
(3)注意力层:产生一个权重向量,该权重向量乘以bilstm网络层的输出,完成对网络输出中不同维度的权重赋值,使得特征中能够表达情绪的部分得到充分表达;
(4)输出层:使用两个全连接网络层,结合softmax函数,实现情绪类型的准确判断。
一个bilstm网络层包括多个双向传输的lstm网络单元。在具体的网络内部,一个lstm循环单元以音频数据作为输入,产生特征输出h=(h1,h2,…,ht),其中hi表示lstm在时间戳i的隐状态,并总结所有的音频特征到参数xi。本实施例中使用双向lstm以更好地得到音频特征,且使用两个方向的特征来完成。一个双向的lstm包括一个正向的lstm网络
其中,||表示连接操作,t代表每个lstm网络的长度。本文使用一个bi-lstm网络结构以获取更多的抽象特征。
在实际的情绪判断中,并不是每个音频片段特征都对最终情绪的识别结果产生决定性作用,因此需要使用一种自动的机制或方法来完成不同音频片段的权重判断。而注意力机制则是能够充分利用自动更新的语音情绪识别模型并给予不同音频片段特征赋予不同权重。因此,本实施例在包括相关模型的基础上,使用如下公式进行注意力的判断:
uai=tanh(whai b)
其中,a代表第t个语音文件,i代表第i个语音特征,n代表一个语音文件中总的特征个数。hti代表第t个语音文件中的第i个音频向量输入到一个一层的多层感知网络中得到uti作为hti的隐表示,hti是bi-lstm层输出的拼接(concatenation),w是注意力网络的权重矩阵,b是注意力网络的一个偏置向量。然后本实施例使用相似度计算方法来分析语音片段特征的权重,该相似度方法是使用uti与随机初始化的音频特征向量uw做余弦计算。接着,使用一个softmax函数得到一个标准化的权重ati。ati是第t个语音文件中第i个音频片段特征的权重。ati的值越大,代表该第i个特征更能够表达最终的情感。最终,使用st代表第t个语音文件的语音片段的权重和。
虽然本发明参照当前的较佳实施方式进行了描述,但本领域的技术人员应能理解,上述较佳实施方式仅用来说明本发明,并非用来限定本发明的保护范围,任何在本发明的精神和原则范围之内,所做的任何修饰、等效替换、改进等,均应包含在本发明的权利保护范围之内。
1.一种语音情绪识别方法,其特征在于,该方法包括如下步骤:
a.将说话人的语音保存为原始语音文件,并对所述原始语音文件进行音频预处理,得到预处理后的语音文件;
b.使用音频处理库函数,对所述预处理后的语音文件进行音频特征抽取,得到音频特征向量或者谱图像特征;
c.将抽取的音频特征送入训练好的语音情绪识别模型,由语音情绪识别模型完成语音情绪识别。
2.如权利要求1所述的方法,其特征在于,所述的音频预处理包括:静音移除及数据增强。
3.如权利要求2所述的方法,其特征在于,所述的静音移除包括:
使用语音能量作为阈值,如果所述原始语音文件一段时间内的能量小于所设定的阈值时,认为当前该段时间内的音频为噪音,并丢弃;然后保存丢弃所述噪音后的语音文件作为当前语音文件。
4.如权利要求3所述的方法,其特征在于,所述的语音数据增强包括:
如果当前语音文件短于最小音频片段数据,则将当前语音文件中间开始截取一定长度,将该长度复制到原始语音文件的中间位置,以保证预处理后的语音文件满足最短音频时长要求。
5.如权利要求1所述的方法,其特征在于,所述的步骤b包括:
使用音频处理库函数抽取包括以音高、能量、过零率、色度为代表的韵律特征,以共振频率、谱特征为代表的质量特征,及以梅尔倒频谱系数、mfcc一阶导数、线性预测编码系数为代表的导出特征,通过拼接的方式组成音频特征向量。
6.如权利要求1所述的方法,其特征在于,所述的步骤b包括:
使用谱图像特征的形式展示预处理后的语音文件的多维度特征。
7.如权利要求1所述的方法,其特征在于,所述语音情绪识别模型为卷积神经网络模型,采用所述卷积神经网络模型完成语音情绪识别。
8.如权利要求1所述的方法,其特征在于,所述语音情绪识别模型为融合双向长短时记忆与注意力机制模型,采用所述融合双向长短时记忆与注意力机制模型完成语音情绪识别。
9.一种语音情绪识别系统,其特征在于,该系统包括预处理模块、音频特征抽取模块以及语音情绪识别模块,其中:
所述预处理模块用于将说话人的语音保存为原始语音文件,并对所述原始语音文件进行音频预处理,得到预处理后的语音文件;
所述音频特征抽取模块用于使用音频处理库函数,对所述预处理后的语音文件进行音频特征抽取,得到音频特征向量或者谱图像特征;
所述语音情绪识别模块用于将抽取的音频特征送入训练好的语音情绪识别模型,由语音情绪识别模型完成语音情绪识别。
技术总结