孤立词语音识别程序

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

孤立词语音识别程序

信息处理仿真实验语音处理部分

实验目的

------- 按所学相关语音处理的知识,自己设计一个孤立词语音识别程序,分析所设计系统的特性。熟悉不同模块间如何进行有效的组合,以及模块内的设计,重点掌握特征参数的提取和模式识别方法,并对不同的特征参数提取方法和模式匹配方法有大概的了解,知道其不同的优缺点。实验内容

1、熟悉预处理、特征参数提取、模式匹配三个模块的原理,并设计这三个模

块的matlab子程序。

2、设计主程序,将上述3个模块合理组合构成一个系统,训练模板并测试。

三、实验原理及设计步骤

1、孤立词语音识别系统:先用端点检测将语音中有用的语音部分提取出来(即将头部和

尾部的静音部分除掉),然后提取语音信号的Mel尺度倒谱参数(MFCC)进行动态归整(DTW算法)后与模板库里面的标准语音作比较,具体流程如下:

失直灘

图3.1孤立词语音识别系统

2、各模块解析

⑴预处理:包括反混叠失真滤波器、预加重器、端点检测和噪声滤波器。这里将预加重

器和噪声滤波器放在下一个模块里,所以预处理主要进行端点检测以捕捉到数据中的语音信息。

端点检测采用双门限法来检测端点。同时,利用过零率检测清音,用短时能量检测浊音,两者配合。整个语音信号的端点检测可以分为四段:静音、过渡段、语音段、结束。程序中使用一个变量status来表示当前所处的状态。

在静音段,如果能量或过零率超越了低门限,就应该开始标记起始点,进入过渡段。

在过渡段中,由于参数的数值比较小,不能确信是否处于真正的语音段,因此只要

N 1 S(m) ln

k 0

2

X w(k) H m(k) 0 m M

两个参数的数值都回落到低门限以下,就将当前状态恢复到静音状态。而

如果在过渡段中两个参数中任意一个超过了高门限,就可以

确信

进入语音段了。

一些突发性的噪声可以引发短时能量或过零率的数值很高,但是往往不能维持足够长的时间,这些可以通过设定最短时间门限来判别。当前状态处于语音段

时,如果两个参数的数值降低到低门限以下,而且总的计时长度小于最短时

间门限,则认为这是一段噪音,继续扫描以后的语音数据。否则就标记好结

束端点,并返回

⑵特征参数提取:常用的语音识别参数有线性预测参数(LPC),线性预测倒谱

参数(LPCC)和Mel尺度倒谱参数(MFCC等。这里提取语音信号的Mel尺度倒谱参数(MFCC,步骤如下:

图3.2特征参数提取

分析:

①预加重

y(n) x( n)-0.97x( n 1)

②加汉明窗

X w(n) y(n) w(n)

③FFT

N 1 j 2 nk/ N

X w(k) X w( n)e

n 0

这里直接采用现成的FFT快速算法。

④对频谱进行三角滤波

程序采用归一化mel滤波器组系数

⑤计算每个滤波器的输出能量

⑥离散余弦变换(DCT)得到MFCC

M

C(n) S(m)cos n(m 0.5) / M n 1,2,..., p 特征参数

m 1

通常协方差矩阵一般取对角阵,三角滤波器组的对数能量输出之间存在着很

大的相关,采用DCT这种正交变换可以去除参数之间的相关性,从而使后端

识别模型采用对角阵具有更高的识别率

⑦归一化倒谱提升

w = 1 + 6 * sin( u / 12) 1 u 12

w = w/max(w)

⑧计算差分系数并合并mfcc参数和一阶差分mfcc参数将其作为一个整体,让

参数更完备。

⑶模式匹配:有矢量量化技术、DTW HMM技术、人工神经网络技术。

目前,语音识别的匹配主要应用HMM和DTW两种算法。DTW算法由于没有一个有效地用统计方法进行训练的框架,也不容易将低层和顶层的各种知识用到语音识

别算法中,因此在解决大词汇量、连续语音、非特定人语音识别问题时较之HMM(法

相形见绌。HMM!—种用参数表示的,用于描述随机过程统计特性的概率模型。而对

于孤立词识别,HMM算法和

DTV算法在相同条件下,识别效果相差不大,又由于DTW算法本身既简单又有效,但

HMM(法要复杂得多。它需要在训练阶段提供大量的语音数据,通过反复计算才能得

到参数模型,而DTW算法的训练中几乎不需要额外的计算。鉴于此,DTW更适合

本系统的要求。

DTW算法原理:该算法基于动态规划(DP的思想,解决了发音长短不一的模板匹配问题。如果把测试模板的各个帧号n=1~N在一个二维直

角坐标系中的横轴上标出,把参考模板的各帧号m=1~Mi纵轴上标出,

通过这些表示帧号的整数坐标画出一些纵横线即可形成一个网络,网络中的每一个

交叉点(n,m)表示测试模式中某一帧的交汇点。DP算法可以归结为寻找一条通过

此网络中若干格点的路径,路径通过的格点即为测试和参考模板中进行计算的帧号。

路径不是随意选择的,首先任何一种语音的发音快慢都有可能变化,但是其各部分

的先后次序不可能改变,因此所选的路径必定是从左下角出发,在右上角结束。

DTW算法可以直接按上面的描述来实现,即分配两个NX M的矩阵,分别为积累距离矩阵D和帧匹配距离矩阵d,其中帧匹配距离矩阵d(i j)的值为测试模板的第

i帧与参考模板的第j帧间的距离。D(N, M 即为最佳匹配路径所对应的匹配距离。

无论在训练和建立模板阶段还是在识别阶段,都先采用端点算法确定语音的起点和终点。已存入模板库的各个词条称为参考模板,一个参考模板可表示为R={R( 1),R( 2),……,R( m,……,R (M) },m为训练语音帧的时序标号,m=1为起点语

音帧,终点语音帧,因此M为该模板所包含的语音帧总数,R( m为第m帧的语音

特征矢量。所要识别的一个输入词条语音称为测试模板,可表示为T={T (1),

T(2),……,

T(n),……,T( N) },n为测试语音帧的时序标号,n=1为起点语音帧,n=N为终

点语音帧,因此N为该模板所包含的语音帧总数,T (n)为第n 帧的语音特征矢量。

参考模板与测试模板采用相同形式的MFC(系数、相同的帧长、相同的窗函数和相

同的帧移。

假设测试和参考模板分别用T和R表示,为了比较它们之间的相似度,可以计算它们之间的距离D[T,R],距离越小则相似度越高。为了计算

相关文档
最新文档