利用MATLAB平台实现-少量字的语音识别功能-毕业论文.doc
《利用MATLAB平台实现-少量字的语音识别功能-毕业论文.doc》由会员分享,可在线阅读,更多相关《利用MATLAB平台实现-少量字的语音识别功能-毕业论文.doc(31页珍藏版)》请在咨信网上搜索。
1、本科毕业论文(设计)论文题目: 利用MATLAB平台实现 少量字的语音识别功能 学生姓名学 号专 业物理学指导教师姓名职 称部 门物理系论文题目利用MATLAB平台实现少量字的语音识别摘 要摘要:初步研究两种不同的语音识别算法-动态时间伸缩算法(DTW)和隐马尔科夫模型(HMM), 初步探究并实现在MATLAB环境中应用DTW识别法的孤立字语音识别实验平台。关键字:MATLAB,语音识别,LPC,LPCC,MFCC,动态时间伸缩算法(DTW),隐马尔科夫模型(HMM)Abstract【Abstract】: Use two kinds of arithmetic to study speech
2、recognition: Dynamic Time Warping (DTW) and the Hidden Markov Model (HMM). Build a basic test platform of speech recognition using DTW.【Key words】: MATLAB, speech recognition, LPC, LPCC, MFCC, Dynamic Time Warping, Hidden Markov Model目 录引言41.语音识别简介51.1语音识别系统的分类51.2语音识别系统的基本构成52.语音识别参数62.1线性预测系数(LPC)
3、62.2线性预测倒谱系数(LPCC)82.3 MFCC系数82.4参数计算流程93.DTW算法113.1 DTW算法原理113.2 DTW的高效算法144.HMM算法164.1 HMM的原理164.2 HMM的前向概率和后向概率174.3识别算法Viterbi解码194.4 baum-welch算法205.实验及总结235.1 实验准备以及步骤235.2 实验结果及讨论255.3 实验结论29参考文献30引 言 自上世纪80年代开始,语音识别技术的研究进入了一个蓬勃发展的时期,一些商用系统也从实验室进入市场。然而,在实际的应用中,由于各种干扰因素导致的测试条件与训练环境的不匹配,系统的性能往往
4、会收到极大的影响。因此提高语音识别系统的性能就成为了语音识别技术真正走向实用化的关键课题。 语音识别是以声音作为研究对象它是语音信号处理的一个重要研究方向,是模式识别的一个分支涉及到生理学、心理学、语言学、计算机科学以及信号处理等诸多领域,甚至还涉及到人的体态语言(如人在说话时的表情、手势等行为动作可帮助对方理解),其最终目标是实现人与机器进行自然语言通信。本文研究了汉语语音识别技术及其实现方法。论文首先分析了语音信号预处理问题。对MFCC倒谱系数在语音识别中的运用做了详细介绍。其次研究了基于DTW的语音识别系统,针对DTW算法中系统识别性能过分依赖于端点检测、动态规划的计算量太大等缺陷,分别
5、提出了快速DTW算法和端点松动的DTW算法,仿真结果比较理想。继而研究了基于HMM的语音识别系统。针对HMM在实际应用中的优化计算问题,包括初始模型选取,定标等进行了深入的分析与探讨。针对传统定标仍能溢出的问题,给出了无溢出的参数重估公式。第一章 语音识别简介1.1语音识别系统的分类语音识别是近年来十分活跃的一个研究领域。在不远的将来,语音识别技术有可能作为一种重要的人机交互手段,辅助甚至取代传统的键盘、鼠标等输入设备,在个人计算机上进行文字录入和操作控制。本文介绍了语音识别的基本流程、所用到的语音参数算法、语音识别的训练算法和识别算法做初步的探究,主要运用了特定人孤立词识别的DTW算法和非特
6、定人识别的连续HMM算法的MATLAB识别系统。语音识别按说话人的讲话方式可分为孤立词(Isolated Word)识别、连接词(Connected Word)识别和连续语音(Continuous Speech)识别。孤立词识别是指说话人每次只说一个词或短语,每个词或短语在词汇表中都算作一个词条,一般用在语音电话拨号系统中。连接词语音识别支持一个小的语法网络,其内部形成一个状态机,可以实现简单的家用电器的控制,而复杂的连接词语音识别系统可以用于电话语音查询、航空定票等系统。连续语音识别是指对说话人以日常自然的方式发音,通常特指用于语音录入的听写机。显然,连续非特定人语音识别的难度要大得多,因为
7、不仅有说话人口音的问题,还有协同发音、断字断句、搜索等问题,除了考虑语音的声学模型外还要涉及到语言模型,如构词法、文法等。从识别对象的类型来看,语音识别可以分为特定人(Speaker Dependent)语音识别和非特定人(Speaker Independent)语音识别。特定人是指只针对一个用户的语音识别,非特定人则可用于不同的用户。实际上,非特定人语音识别的初始识别率往往都比较低,一般都要求用户花一定的时间对系统进行训练,将系统的参数进行一定的自适应调整,才能使识别率达到满意的程度。非特定人大词表连续语音识别是近几年研究的重点,也是研究的难点。目前的连续语音识别大多是基于HMM(隐马尔可夫
8、模型)框架,并将声学、语言学的知识统一引入来改善这个框架,其硬件平台通常是功能强大的工作站或PC机。1.2语音识别系统的基本构成语音识别系统的典型实现方案为:输入的模拟语音信号首先要进行预处理,包括预滤波、采样和量化、加窗、端点检测、预加重等。语音信号经预处理后,接下来很重要的一环就是特征参数提取。对特征参数的要求是:(1) 提取的特征参数能有效地代表语音特征,具有很好的区分性。(2) 各阶参数之间有良好的独立性。(3) 特征参数要计算方便,最好有高效的计算方法,以保证语音识别的实时实现。在训练阶段,将特征参数进行一定的处理之后,为每个词条得到一个模型,保存为模版库。在识别阶段,语音喜好经过相
9、同的通道得到语音参数,生成测试模版,与参考模版进行匹配,将匹配分数最高的参考模版作为识别结果。同时还可以在很多先验知识的帮助下,提高识别的准确率。第二章 语音识别的参数2.1 线性预测系数语音信号是一种典型的时变信号,然而如果把观察时间缩短到十毫秒至几十毫秒,则可以得到一系列近似稳定的信号。人的发音器官可以用若干段前后连接的声管进行模拟,这就是所谓的声管模型。下图为语音产生的生理结构示意图:图2-1 语音产生的生理结构示意图1由于发音器官不可能毫无规律地快速变化,因此语音信号是准稳定的(quasi steady)。全极点线性预测模型(LPC)可以对声管模型进行很好的描述,这里信号的激励源是由肺
10、部气流的冲击引起的,声带可以有周期振动也可以不振动,分别对应浊音(Vowel)和清音(Consonant),而每段声管则对应一个LPC模型的极点。一般情况下,极点的个数在1216之间,就可以足够清晰地描述语音信号的特征了。LPC是语音分析的重要手段,它能很好地进行谱估计,即可作为语音特征的参数。因此仅用12个LPC系数就能很好地表示复杂语音信号的特征,这就大大降低了信号的冗余度并有效地减少了计算量和存储量,使之成为语音识别和语音压缩的基础。下图为以声管模型为基础的LPC模型: 图2-2 以声管模型为基础的LPC模型由: 该式表示p个方程构成的方程组,未知数为p个。求解该方程组,就可以得到系统的
11、线性预测系数。由基于自相关的递推求解公式求解,也就是所谓的Durbin算法得:2.1.2.2.2.3.2.42.5公式中,上标表示第次迭代,每次迭代只计算和更新 直到时,结束迭代。在MATLAB中利用lpc函数2计算LPC系数,其语法为:a = lpc(x,n);这里x为一帧语音信号,n为计算LPC参数的阶数。通常x为240点或256点的数据,n取1012,对语音识别来说就已经足够。2.2 线性预测倒谱系数在语音识别系统中,很少直接使用LPC系数,而是由LPC系数推导出另一种参数:线性预测倒谱系数(LPCC)。倒谱实际上是一种同态信号处理方法,标准的倒谱系数计算流程需要进行FFT变换3,对数操
12、作和相位校正等步骤,运算比较复杂。在实际运作中大多数语音识别系统都会采用倒谱参数来作为有关距离的度量。LPC 倒谱系数是描述说话人声道特性的,广泛应用于声纹识别。在实际计算中,当序列x(n)为最小相位的情况下,可以利用序列x(n)及其倒谱系数c(n)的递推关系来简化计算。序列x(n)及其复倒谱系数c(n)的递推公式如下:.2.6LPCC参数是一种非常重要的参数,它不是由原始信号x(n)得到,而是由LPC系数得到的。由2.6式可得LPC到LPCC的直接递推关系。.2.7 2.8 .2.92.3 MFCC系数LPC模型是基于发音模型建立的,LPCC系数也是一种基于合成的参数。这种参数没有充分利用人
13、耳的听觉特性。实际上,人的听觉系统是一个特殊的非线性系统,它响应不同频率信号的灵敏度是不同的,基本上是一个对数的关系。近年来,一种能够比较充分利用人耳这种特殊的感知特性的参数得到了广泛的应用,这就是Mel尺度倒谱参数(Mel-scaled Cepstrum Coefficient),或称Mel频率倒谱系数,简称为MFCC。大量的研究表明,MFCC参数能够比LPCC参数更好地提高系统的识别性能。从目前使用的情况来看,在大词汇量语音识别应用中已逐渐取代原本常用的线性预测编码导出的倒频谱参数,原因是它考虑了人类发声与接收声音的特性,具有更好的鲁棒性。由于语音信号在时域上的变化快速而不稳定,所以通常都
14、将它转换到频域上来观察,此时它的频谱会随着时间作缓慢的变化。所以通常将加窗后的帧经过快速傅立叶变换(FFT),求出每帧的频谱参数。再将每帧的频谱参数通过一组N 个( N 一般为20 30 个)三角形带通滤波器所组成的Mel频率滤波器,将每个频带的输出取对数,求出每一个输出的对数能量(log energy)Ek,k =1,2,. N。再将此N 个参数进行余弦变换(cosine transform) 求出L 阶的Mel -scale cepstrum 参数。4MFCC参数的计算是以“bark”为其频率基准的,它和线性频率的转换关系是: .2.10MFCC参数也是按帧计算的。首先要通过FFT得到该帧
15、信号的功率谱,转换为Mel频率下的功率谱。这需要在计算之前先在语音的频谱范围内设置若干个带通滤波器:2.11MFCC参数的计算通常采用如下的流程:(1)首先确定每一帧语音采样序列的点数。对每帧序列进行预加重处理后再经过离散FFT变换,取模的平方得到离散功率谱。(2)计算通过M个后所得的功率值,即计算和在各离散频率点上乘积之和,得到M个参数,。(3)计算的自然对数,得到,。(4)对计算其离散余弦变换,得到,。(5)舍去代表直流成分的,取作为MFCC参数。MATLAB中计算mfcc参数的函数为melcepst.m,其中调用了函数melbankm.m,用来计算M个滤波器的系数。2.4 完整的参数计算
16、流程特征提取方法:特征的选取取决于具体的系统,下面的特征是有代表性的:幅度(或功率)过零率临界带特征矢量线形预测系数特征矢量(LPC)LPC倒谱特征矢量(LPCC) Mel倒谱系数(MFCC)前三个共振峰F1,F2,F3具体步骤分4步:1端点检测所谓端点检测,就是在实时输入的声音信号中,区分背景噪声和环境噪声,准确地判断出声音信号的开始点和结束点。这一过程应由特定的算法自动完成,通常利用短时能量来检测浊音,用过零率来检测清音,两者配合实现可靠的端点检测。端点检测算法常用的是由语音能量和过零率组合的有双门限法,以及短时能量和过零率的乘积构成的能频值法。2 预加重滤波器在语音参数计算之前,一般要将
17、其通过一个预加重滤波器。3 倒谱提升窗口在为每帧数据计算出阶MFCC参数后,通常还要为这个系数分别乘以不同的权系数,实际上是一个短的窗口:.2.122.134 差分倒谱系数标准的MFCC参数只反映了语音参数的静态特性,而人耳对语音的动态特征更为敏感,通常用差分倒谱参数来描述这种动态特性。差分参数的计算采用下面的公式:.2.14这里c和d都表示一帧语音参数,k为常数,通常取2,这时差分参数就称为当前帧的前两帧和后两帧参数的线性组合。第三章 DTW算法3.1 DTW算法原理在孤立词语音识别中,最为简单有效的方法是采用DTW(Dynamic Time Warping,动态时间弯折)算法,该算法基于动
18、态规划(DP)的思想,解决了发音长短不一的模板匹配问题,是语音识别中出现较早、较为经典的一种算法。用于孤立词识别,DTW算法与HMM算法在相同的环境条件下,识别效果相差不大,但HMM算法要复杂得多,主要体现在HMM算法在训练阶段需要提供大量的语音数据,通过反复计算才能得到模型参数,而DTW算法的训练中几乎不需要额外的计算。所以在孤立词语音识别中,DTW算法仍得到广泛的应用。在训练和建立模板阶段以及在识别阶段,都采用端点检测算法确定语音的起点和终点。已存入模板库的各个词条称为参考模板,一个参考模板可表示为,m为训练语音帧的时序标号,m=1为起点语音帧,m=M为终点语音帧,因此为该模板所包含的语音
19、帧总数,为第帧的语音特征矢量。所要识别的一个输入词条语音称为测试模板,可表示为,为测试语音帧的时序标号,n=1为起点语音帧,n=N为终点语音帧,因此N为该模板所包含的语音帧总数,T(n)为第n帧的语音特征矢量。参考模板与测试模板一般采用相同类型的特征矢量(如MFCC系数)、相同的帧长、相同的窗函数和相同的帧移。测试和参考模板分别用T和R表示,为了比较它们之间的相似度,可以计算它们之间的距离DT,R,距离越小则相似度越高。为了计算这一失真距离,应从T和R中各个对应帧之间的距离算起。设n和m分别是T和R中任意选择的帧号,dT(n),R(m)表示这两帧之间的距离。距离函数取决于实际采用的距离度量,在
20、DTW算法中通常采用欧氏距离。若N=M则可以直接计算,否则要考虑将T(n)和R(m)对齐。对齐可以采用线性扩张的方法,如果NM可以将T线性映射为一个M帧的序列,再计算它与之间的距离。但是这样的计算没有考虑到语音中各个段在不同的情况下的持续时间会产生或长或短的变化,因此识别效果不可能最佳。因而更多地是采用动态规划(DP)的方法。如果把测试模板的各个帧号n=1N在一个二维直角坐标系中的横轴上标出,把参考模板的各帧号m=1M在纵轴上标出,通过这些表示帧号的整数坐标画出一些纵横线即可形成一个网格,网格中的每一个交叉点(n,m)表示测试模式中某一帧与训练模式中某一帧的交汇点。DP算法可以归结为寻找一条通
21、过此网格中若干格点的路径,路径通过的格点即为测试和参考模板中进行距离计算的帧号。路径不是随意选择的,首先任何一种语音的发音快慢都有可能变化,但是其各部分的先后次序不可能改变,因此所选的路径必定是从左下角出发,在右上角结束图3-1 DTW算法路径原理示意图为了描述这条路径,假设路径通过的所有格点依次为其中=(1,1),=(N,M)。路径可以用函数描述,其中,。那么下一个通过的格点只可能是下列三中情况之一:.3.1用表示上述三个约束条件。求最佳路径的问题可以归结为满足约束条件时,求最佳路径函数,使得沿路径的积累距离达到最小值,即:.3.2搜索该路径的方法如下:搜索从点出发,可以展开若干条满足的路径
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 利用 MATLAB 平台 实现 少量 语音 识别 功能 毕业论文
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。