基于神经网络和卡尔曼滤波算法的说话人识别
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文章编号:167121742(2008)0420384205
基于神经网络和卡尔曼滤波算法的说话人识别
张余生, 夏秀渝, 杨 莎
(四川大学电子信息学院,四川成都610064)
摘要:首先从语音信号中提取出特征参数:线性预测倒谱系数(L PCC )和用小波包提取的小波特征参数
(WPC );语音特征分类模型则选择多层前馈式神经网络(MBP 网络),并将奇异值分解运用到扩展卡尔曼滤波(EKF )算法中作为神经网络的学习算法。仿真结果表明,小波特征参数具有良好的识别效果;同时采用改进后的
扩展卡尔曼滤波(EKF )算法使人工神经网络具有更稳定、更准确的分类性能。
关 键 词:线性预测倒谱系数(L PCC );小波特征参数;多层前馈式神经网络;扩展卡尔曼滤波(EKF )算法中图分类号:TP202.7 文献标识码:A
收稿日期:2008203203;修订日期:2008203231
1 引言
说话人识别,又称声纹识别,是利用说话人的语音特征对说话人身份进行辨认或确认。根据识别方式,说话人识别分为与文本有关和与文本无关两种方式[1]。前者要求在识别时,说话人提供与训练语音相同的关键词串或者语句,而后者则没有这样的要求,说话人说话内容是任意的。文中讨论的是与文本无关的说话人身份确认。说话人识别由两个过程组成:特征提取部分,从语音信号中提取出所需的特征参数;识别部分,把提取的特征
输入到模式分类器并作出最终判决。用于说话人识别的特征参数有:线性预测系数(L PC )、L PC 倒谱系数、美尔倒谱系数(MFCC )等等。识别部分的模式匹配方法有矢量量化(VQ )、高斯混合模型(GMM )、人工神经网络方法(ANN )以及这些方法的组合技术等。
文中提出了采用从语音中提取出的线性预测倒谱系数(L PCC ),小波特征参数作为说话人识别的特征参数;分类器设计中,选用了多层前馈式神经网络(MBP )。在人工神经网络学习算法的选取时,提出用扩展卡尔曼滤波算法取代在处理非线性对象时收敛速度慢、易陷入局部极值的BP 算法。同时在卡尔曼滤波计算中,将数值鲁棒性较好的奇异值分解方法应用于卡尔曼滤波的递推公式中,提高了滤波精度和数值稳定性,并且也减少迭代计算量。
2 语音特征参数提取
2.1 语音信号的预处理
语音信号是准平稳的时变信号,即只有在一个短时段中(20ms )才是平稳的,所以绝大部分的说话人识别系统都是建立在短时分析的基础上,把一定长度的语音分为许多帧来分析。首先对语音信号进行预加重处理,端点检测,然后用汉明窗进行分帧,最后计算语音特征参数。2.2 线性预测倒谱系数的提取
语音特征参数种类很多,从语音频谱直接导出的参数有:混合参数,M EL 频率倒谱系数和线性预测参数及其派生参数等。其中,L PC 系数和差值倒谱系数计算量小,有较好的识别效果,所以文中将采用线性预测倒谱系数。
线性预测分析的基本思想是:用过去的p 个样点值预测现在或未来的样点值: ^s (n )=∑p
k =1a k s (n -k )
(1)
第23卷第4期2008年8月
成 都 信 息 工 程 学 院 学 报
JOURNAL OF CHEN G DU UNIV ERSITY OF INFORMATION TECHNOLO GY Vol.23No.4
Aug.2008
其中p 是预测阶数,{a k },k =1,2,…,p 是线性预测系数(L PC )。通过使处于同一帧中的预测信号与实际信号之间的均方误差值最小得到这些线性预测系数。
通过线性预测分析得到的声道模型系统函数为: H (z )=
11-∑p
k =1a k z
-k
(2)
其冲激响应为h (n ),设^h (n )表示h (n )的复倒谱,通过适当的变换,从而可由a k 求出: ^h (1)=a 1
(3) ^h (n )=a n +∑n -1
k =1(1-k/n )a k ^h (n -k ) 1Φn Φp
(4) ^h (n )=∑p
k =1
(1-k/n )a k ^h (n -k ) n >p
(5)
按上式求得的复倒谱^h (n )称之为线性预测复倒谱系数(L PCC )。2.3 用小波包提取语音特征系数
小波分析方法是一种窗口大小(窗口面积)固定但其形状可改变,时间窗和频率窗都可以改变的时频局部化分析方法[2]。它在时域和频域同时具有良好的局部化性质,因此小波分析是分析非平稳信号的好方法[3]。由于语音信号具有非平稳性,所以可以用小波包分析代替语音信号处理中的傅立叶分析和滤波器组,导出基于小波分析的语音特征,为了利用人耳的听觉感知特征,即M EL 频率和关键带,采用了小波包分解树的方法,使它的子频带分布类似于M EL 域滤波器组[4]。
基于小波包分析具有的上述特点,在MFCC 参数提取方法的基础上用小波包分析取代MFCC 提取过程中的FF T 变换和M EL 滤波器组两步,得到一种新型特征参数WPC 。
小波包系数的提取过程如下:
(1)输入语音信号经过一阶数字滤波器H (z )=1-0.95z -1进行预加重,提升高频信号,并经过端点检测(利用短时能量与过零率)提取出有用的语音部分;
(2)基于小波函数(Daubechies 函数)对所提取的语音信号进行6层小波包分解,得到小波包分解结构(树结
构,数据结构)。
(3)使用小波重构函数(wprcoef 函数),计算小波包分解系数(小波包分解树结构)的重构信号。通过此步的小波包分析可以把语音信号无损地分成不同的24个信号,这24个信号反映了原始的语音信号在24个相互不重叠的频率段上的信息,可用这些信息来识别说话人的身份。
(4)计算小波包重构后得到的24个支路信号的对数能量。
S k =1n ∑{W PD (x (n ))}2
,k =1,2,…,K
(6)
其中,K 为所选频带的数目。(5)将所得到的S k 做归一化处理
S k ′=S k /∑{|S k |}
2
(7)
(6)将上述S k ′经离散余弦变换(DCT )得到P =12维的WPC 系数:
c (i )=∑K k =1
S k ′cos πi (k -12
)K
(8)
其中 0Φk ΦK i =1,2,…,P
3 人工神经网络
人工神经网络是模拟人脑神经组织的基础上发展起来的全新计算系统,是由大量计算单元通过丰富联结构成的复杂网络,是一种接近于人的认知过程的计算模型[5]。这种网络是可以训练的,可以积累经验而不断改善自身的性能。具有很好的模式识别能力,特别适用于用来进行语音信号处理,如语音识别或说话人身份识别。
5
83第4期 张余生等:基于神经网络和卡尔曼滤波算法的说话人识别