一种基于固定时长语音情感识别序列分析的测谎方法与流程

文档序号:18731325发布日期:2019-09-21 00:34阅读:来源:国知局

技术特征:

1.一种基于固定时长语音情感识别序列分析的测谎方法,其特征在于:该方法包括以下几个步骤:

步骤1:建立汉语测谎语料库,并加工处理;

步骤2:对语音进行预处理;

步骤3:根据语音时频特性,提取语音情感特征;

步骤4:基于决策树的方法完成特征选择,形成特征向量;

步骤5:使用SVM对语料库进行训练,对被测语音进行预测,并定时输出语音情感结果;

步骤6:利用定时输出语音情感结果来进行测谎分析。

2.根据权利要求1所述的基于固定时长语音情感识别序列分析的测谎方法,其特征在于:所述步骤1:建立汉语测谎语料库,并加工处理;具体如下:

步骤1.1:建立汉语测谎语料库;

步骤1.2:将谎话语料中的真话片段提出;

步骤1.3:将真话和谎话切分成等时长的语料段,并贴好标签,方便后续实验。

3.根据权利要求1所述的基于固定时长语音情感识别序列分析的测谎方法,其特征在于:

所述步骤2:对语音进行预处理,具体如下:

步骤2.1:对语音信号离散化,使用一阶高通滤波器进行预加重,一阶高通滤波器的表达式如下:

H(z)=1-αz-1,0.9<α<1.0

步骤2.2:对信号进行分帧,帧长为30ms,帧移为10ms;

步骤2.3:选择汉明窗函数,其计算公式如下:

4.根据权利要求1所述的基于固定时长语音情感识别序列分析的测谎方法,其特征在于:

步骤3:提取语音情感特征,具体如下,

步骤3.1:提取短时能量,短时能量是指一帧语音的能量,设语音信号为x(n)、加窗函数ω(n)分帧处理后的第i帧语音信号为yi(n),则yi(n)满足:

yi(n)=ω(n)*x((i-1)*inc+n),1≤n≤L,1≤i≤fn

ω(n)为窗函数;yi(n)是一帧的数值;inc为帧移长度;fn为分帧后的总帧数,则第i帧的语音信号的短时能量为

步骤3.2:提取短时平均过零率,它表示一帧语音中信号的波形穿过零电平的次数。对于离散信号来说,相邻数据改变一次符号就算做一次过零,设语音信号为x(n),分帧后第i帧语音信号为yi(n),短时平均过零率为

步骤3.3:提取基音频率,基音周期是声带开启和闭合一次说用的时长,基音频率是其倒数,当信号序列为x(n)时,它的傅里叶变换为

X(ω)=FFT[x(n)]

则序列

为倒频谱,简称为倒谱,这里FFT和FFT-1分别为傅里叶变换和傅里叶反变换,的实际单位是时间s。

语音x(n)是由声门脉冲激励u(n)经声道响应v(n)滤波而得,即

x(n)=u(n)*v(n)

则这三个量的倒谱有

在倒频谱中,声门脉冲激励和声道响应是相对分离的,因此从中可以分离恢复出声门脉冲激励,从而得到基音周期;

步骤3.4:共振峰是指在声音的频谱中能量相对集中的一些区域,用LPC法进行提取,语音信号的一帧信号x(n)可由差分方程表示为

相应的声道传递函数为

取功率谱模值,用P(f)表示

P(f)=|H(f)|2

其中

z-1=e-jωT

利用FFT可对任意频率求得它的功率谱幅值响应,并从幅值响应中找到共振峰的信息;

步骤3.5:提取MFCC参数,首先进行预处理,原信号x(n)经预处理后变为xi(m),i表示第i帧,对信号进行FFT

X(i,k)=FFT[xi(m)]

进行Mel滤波器组处理,对每一帧FFT后的数据计算谱线能量

E(i,k)=X(i,k)2

计算在Mel滤波器组(选取三角形的滤波器)的能量

对能量取对数,并经过离散余弦变换(DCT),得到MFCC参数;

5.根据权利要求1所述的基于固定时长语音情感识别序列分析的测谎方法,其特征在于:

所述步骤4:基于决策树的方法完成特征选择,形成特征向量,具体如下,

输入:训练数据集D,特征集A,阈值e;输出:决策树T;

步骤4.1:如果D中所有实例属于同一类Ck,则置T为单结树,并将Ck作为该结点的类,返回T;

步骤4.2:如果A是空集,则置T为单结点树,并将D中实例数最大的类Ck作为该结点的类,返回T;

步骤4.3:否则,计算A中各特征对D的信息增益比,选择信息增益比最大的特征Ag;

步骤4.4:如果Ag的信息增益比小于阈值e,则置T为单结点树,并将D中实例数最大的类Ck作为该结点的类,返回T;

步骤4.5:否则,对Ag的每一个可能值ai,依Ag=ai将D分割为若干非空子集Di,将Di中实例数最大的类作为标记,构建子结点,由结点及其子结点构成树T,返回T;

步骤4.6:对结点i,以Di为训练集,以A-{Ag}为特征集,递归调用上述步骤,得到子树Ti。

6.根据权利要求1所述的基于固定时长语音情感识别序列分析的测谎方法,其特征在于:所述步骤5:使用SVM对语料库进行训练,对被测语音进行预测,并定时输出语音情感结果,具体如下,

步骤5.1:基于自建测谎语料库,使用SVM完成测谎实验,得到一段语音的测谎结果;

步骤5.2:基于CASIA标准情感库,定时输出语音情感预测结果,这个结果是一个维数与语音时长相关的序列,每秒钟输出一个语音情感识别结果,那么一个60s的语音得到一个60维的向量。

7.根据权利要求1所述的基于固定时长语音情感识别序列分析的测谎方法,其特征在于:

所述步骤6:利用定时输出语音情感结果来进行测谎分析,具体如下,

步骤6.1:将语料库样本的80%分为训练样本,20%分为测试样本;

步骤6.2:将训练样本按标签分类,真话部分为1,谎话部分为-1;

步骤6.3:将训练样本的语料,按照上述步骤1-5操作,生成语音情感序列;

步骤6.4:用五个元素来描述HMM模型,隐含状态S(说谎情况),可观测状态O(语音情感序列),隐含状态转移概率矩阵A,观测状态转移矩阵B,初始状态概率矩阵Π;

步骤6.5:利用训练样本训练HMM模型。即从训练样本中选择几组观测序列O(语音情感序列),利用Baum-Welch方法求模型λ=(A,B,Π)中的参数;具体方法是随机初始化模型参数A,B,Π,用样本O计算寻找更合适的参数,更新参数,再用样本拟合参数,直至参数收敛;

步骤6.6:得到了HMM模型λ=(A,B,Π),使用测试样本来进行预测;从中选取一个语音情感序列,利用Viterbi方法求解背后的状态序列,得到预测的测谎结果。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1