基于语音识别的智能小车设计_毕业设计(编辑修改稿)内容摘要:

H , 若谱大于 T H ,则可确定 2 个端点 A、 B, 并可认为这 2 个端点之间是语音信号 , 这样相当于完成初判。 再根据背景噪声的 过零率和音量积 设定一个比 TH 稍低的门限 T L , 如果信号的能量大于 TL ,则所对应的端点 C、 D 之间仍是语音信号 ,至此完成了第二级判断。 河南科技大学本科毕业设计(论文) 10 判断结 果 如图 25 所示 : 0 0 . 5 1 1 . 5 2 2 . 5 3 3 . 5x 1 0421012声音波形1 . 4 1 . 5 1 . 6 1 . 7 1 . 8 1 . 9 2 2 . 1x 1 0421012语音波形 图 25 端点检测出的语音波形 167。 特征参数提取 167。 特征参数概述 对于特征参数,有多种参数可供选取。 常见的有三种: ( 1) 线形预测系数特征矢量 (LPC) ( 2) LPC 倒谱特征矢量 (LPCC) ( 3) Mel 倒谱系数 (MFCC) 1. 线性预测系数 (LPC) 这里我采用最简单的一种线形预测系数特征矢量 (LPC)。 线性预测(Linear Prediction)分析是最有效的语音分析技术之一,在语音编码、语音合成、语音识别和说话人识别等语音信号处理领域中得到了广泛的应用。 基河南科技大学本科毕业设计(论文) 11 本思想是:一个 语音信号的抽样值可以用过去的若干个抽样值的线性组合来逼近。 语音信号是一种典型的时变信号,然而如果把观察时间缩短到十毫秒至几十毫秒,则可以得到一系列近似稳定的信号。 人的发音器官可以用若干段前后连接的声管进行模拟,这就是所谓的声管模型。 由于发音器官不可能毫无规律地快速变化,因此语音信号是准稳定的(quasi steady)。 全极点线性预测模型 (LPC)可以对声管模型进行很好的描述,这里信号的激励源是由肺部气流的冲击引起的,声带可以有周期振动也可以不振动,分别对应浊音 (Vowel)和清音 (Consonant),而每段声管则对应一个 LPC 模型的极点。 一般情况下,极点的个数在 12~16 之间,就可以足够清晰地描述语音信号的特征了。 LPC 是语音分析的重要手段,它能很好地进行谱估计,即可作为语音特征的参数。 因此仅用 12个 LPC 系数就能很好地表示复杂语音信号的特征,这就大大降低了信号的冗余度并有效地减少了计算量和存储量,使之成为语音识别和语音压缩的基础。 1 ˆ( , 0 ) ( , )pn k nki a i k  1,2, ,kp „„„„„„„„„„„„ 上式表示 p 个方程构成的方程组,未知数为 p 个。 求解该方程组,就可以得到系统的线性预测系数。 由基于自相关的递推求解公式求解,也就是所谓的 Durbin 算法得: (0) (0)nnER „„„„„„„„„„„„„„„„„„„„„„„„ 1 ( 1 )1( 1 )( ) ( )i in j nji inR i a R i jk E  „„„„„„„„„„„„„„„„„„ ()iiiak „„„ „„„„„„„„„„„„„„„„„„„„„„„ ( ) ( 1 ) ( 1 ) ,1i i ij j i i ja a k a j i   „„„„„„„„„„„„„„„„„ ( ) 2 ( 1)(1 )lin i nE k E  „„„„„„„„„„„„„„„„„„„„„ 公式中,上标 ()i 表示第 i 次迭代,每次迭代只计算和更新 12, , ,ia a a 直河南科技大学本科毕业设计(论文) 12 到 ip 时,结束迭代。 在 MATLAB 中利用 lpc 函数计算 LPC 系数,其语法为: a = lpc(x,n)。 这里 x 为一帧语音信号, n 为计算 LPC 参数的阶数。 通常 x 为 240 点或256 点的数据, n 取 10~12,对语音识别来说就已经足够。 2. 线性预测倒谱系数 (LPCC) 在语音识别系统中,很少直接使用 LPC 系数,而是由 LPC 系数推导出另一种参数:线性预测倒谱系数( LPCC)。 倒谱实际上是一种同态信号处理方法,标准的倒谱系数计算流程需要进行 FFT 变换,对数操作和相位校正等步骤,运算比较复杂。 在实际运作中大 多数语音识别系统都会采用倒谱参数来作为有关距离的度量。 LPC 倒谱系数是描述说话人声道特性的,广泛应用于声纹识别。 在实际计算中,当序列 x(n)为最小相位的情况下,可以利用序列 x(n)及其倒谱系数 c(n)的递推关系来简化计算。 序列 x(n)及其复倒谱系数 c(n)的递推公式如下: 100 , 0() ( ) ( )ˆ ( ) , 0( 0) ( 0)nknxn x n k x n kx k nx n x   „„„„„„„„„„„„„ LPCC 参数是一种非常重要的参数,它不是由原始信号 x(n)得到,而是由 LPC 系数 ma 得到的。 由 式可得 LPC 到 LPCC 的直接递推关系。 20 logcG „„„„„„„„„„„„„„„„„„„„„„„„„ 11 ,1mm m k m kk kc a c a m pm    „„„„„„„„„„„„„„„„ 11 ,mm k m kk kc c a m pm „„„„„„„„„„„„„„„„„„ 3. Mel 尺度 倒谱系数 (MFCC) LPC 模型是基于发音模型建立的, LPCC 系数也是一种基于合成的参数。 这种参数没有充分利用人耳的听觉特性。 实际上,人的听觉系 统是一个特殊河南科技大学本科毕业设计(论文) 13 的非线性系统,它响应不同频率信号的灵敏度是不同的,基本上是一个对数的关系。 近年来,一种能够比较充分利用人耳这种特殊的感知特性的参数得到 了 广 泛 的 应 用 , 这 就 是 Mel 尺 度 倒 谱 参 数 (Melscaled Cepstrum Coefficient),或称 Mel 频率倒谱系数,简称为 MFCC。 大量的研究表明, MFCC参数能够比 LPCC 参数更好地提高系统的识别性能。 从目前使用的情况来看,在大词汇量语音识别应用中已逐渐取代原本常用的线性预测编码导出的倒频谱参数,原因是它考虑了人类发声与接收声音的特性,具有更好的鲁 棒性。 由于语音信号在时域上的变化快速而不稳定,所以通常都将它转换到频域上来观察,此时它的频谱会随着时间作缓慢的变化。 所以通常将加窗后的帧经过快速傅立叶变换( FFT),求出每帧的频谱参数。 再将每帧的频谱参数通过一组 N 个( N 一般为 20 ~ 30 个)三角形带通滤波器所组成的 Mel 频率滤波器,将每个频带的输出取对数,求出每一个输出的对数能量( log energy)Ek, k =1, 2, ... N。 再将此 N 个参数进行余弦变换( cosine transform) 求出 L 阶的 Mel scale cepstrum 参数。 MFCC 参数的计算是以“ bark”为其频率基准的,它和线性频率的转换关系是: 102 5 9 5 lo g (1 )700mel ff „„„„„„„„„„„„„„„„„„„ MFCC参数也是按帧计算的。 首先要通过 FFT得到该帧信号的功率谱 ()Sn,转换为 Mel频率下的功率谱。 这需要在计算之前先在语音的频谱范围内设置若干个带通滤波器: ( ) , 0 , 1 , , 1 , 0 , 1 , , 12m NH n m M n   „„„„„„„„„„ MFCC 参数的计算通常采用如 下的流程: ( 1) 首先确定每一帧语音采样序列的点数。 对每帧序列 ()sn进行预加重 处理后再经过离散 FFT 变换,取模的平方得到离散功率谱 ()Sn。 ( 2)计算 ()Sn通过 M 个 ()mHn后所得的功率值,即计算 ()Sn和 ()mHn在 各离散频率点上 乘积之和,得到 M 个参数 mP , 0,1, , 1mM。 ( 3)计算 mP 的自然对数,得到 mL , 0,1, , 1mM。 河南科技大学本科毕业设计(论文) 14 ( 4)对 0 1 1, , , mL L L  计算其离散余弦变换,得到 mD , 0,1, , 1mM。 ( 5)舍去代表直流成分的 0D ,取 12, , , KD D D 作为 MFCC 参数。 167。 用 MATLAB 实现 LPC 系数的计算 本系统使用的特征参数是线性预测系数 (LPC)。 在 MATLAB 中利用 lpc 函数计算 LPC 系数,其语法为: a = lpc(x,n)。 这里 x 为一帧语音信号, n 为计算 LPC 参数的阶数。 通常 x 为 240 点或256 点的数据, n 取 10~12,对语音识别来说就已经足够。 167。 语音识别中的模式匹配 167。 DTW 算法 原理 目前 ,语音识别的匹配主要应用 HMM 和 DTW 两种算法。 DTW 算法由于没有一个有效地用统计方法进行训练的框架,也不容易将低层和顶层的各种知识用到语音识别算法中,因此在解决大词汇量、连续语音、非特定人语音识别问题时较之 HMM 算法相形见绌。 HMM 是一种用参数表示的 ,用于描述随机过程统计特性的概率模型。 而对于孤立词识别 ,HMM 算法和 DTW算法在相同条件下 ,识别效果相差不大 , 又由于 DTW 算法本身既简单又有效,但 HMM 算法要复杂得多。 它需要在训练阶段提供大量的语音数据 ,通过反复计算才能得到参数模型 ,而 DTW 算法的 训练中几乎不需要额外的计算。 鉴于此 ,DTW 更适合本系统的要求。 在孤立词语音识别中,最为简单有效的方法是采用 DTW( Dynamic Time Warping,动态时间归整)算法,该算法基于动态规划( DP)的思想,解决了发音长短不一的模板匹配问题,是语音识别中出现较早、较为经典的一种算法。 用于孤立词识别, DTW 算法与 HMM 算法在训练阶段需要提供大量的语音数据,通过反复计算才能得到模型参数,而 DTW 算法的训练中几乎不需要额外的计算。 所以在孤立词语音识别中, DTW 算法仍然得到广泛的应用。 无论在训练和建立模板 阶段还是在识别阶段,都先采用端点算法确定语音的起点和终点。 已存入模板库的各个词条称为参考模板,一个参考模板可河南科技大学本科毕业设计(论文) 15 表示为 R={R( 1), R( 2),„„, R( m),„„, R( M) }, m 为训练语音帧的时序标号, m=1 为起点语音帧, m=M 为终点语音帧,因此 M 为该模板所包含的语音帧总数, R( m)为第 m 帧的语音特征矢量。 所要识别的一个输入词条语音称为测试模板,可表示为 T={T( 1), T( 2),„„, T( n),„„, T( N) },n 为测试语音帧的时序标号, n=1 为起点语音帧, n=N 为终点语音帧,因此 N为该模板所包含的语音帧总数 , T( n)为第 n 帧的语音特征矢量。 参考模板与测试模板一般采用相同类型的特征矢量(如 MFCC, LPC 系数)、相同的帧长、相同的窗函数和相同的帧移。 假设测试和参考模板分别用 T 和 R 表示,为了比较它们之间的相似度,可以计算它们之间的距离 D[T, R],。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。