毕业设计(论文)-基于DTW模型的语音识别.doc

上传人:李主任 文档编号:3282966 上传时间:2019-08-07 格式:DOC 页数:24 大小:316.02KB
返回 下载 相关 举报
毕业设计(论文)-基于DTW模型的语音识别.doc_第1页
第1页 / 共24页
毕业设计(论文)-基于DTW模型的语音识别.doc_第2页
第2页 / 共24页
毕业设计(论文)-基于DTW模型的语音识别.doc_第3页
第3页 / 共24页
毕业设计(论文)-基于DTW模型的语音识别.doc_第4页
第4页 / 共24页
毕业设计(论文)-基于DTW模型的语音识别.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《毕业设计(论文)-基于DTW模型的语音识别.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于DTW模型的语音识别.doc(24页珍藏版)》请在三一文库上搜索。

1、西 南 林 学 院 本本 科科 毕毕 业(设计)论业(设计)论 文文 (二四 届) 题题 目:目: 基于 DTW 模型的语音识别 分院系部:分院系部: 计算机与信息科学系 专专 业:业: 计算机科学与技术 姓姓 名:名: 导师姓名:导师姓名: 导师职称:导师职称: 二四年六月一日 基于 DTW 模型的语音识别 XXX (西南林学院 计算机与信息科学系,云南 昆明 650224) 摘要摘要:语音识别(Speech Recognition)是让机器通过识别和理解过程把语音信号转 变为相应的文本或命令的技术。在课题中,通过采用 DTW(Dynamic time warping, 动态时间伸缩)算法,

2、对实现孤立词的识别进行了初步探讨和研究,实现了在 MATLAB 软件环境下孤立词语的语音识别,并针对 DTW 的主要特点及不足做出了总结。 DTW 算法基于动态规划(DP)的思想,解决了孤立词发音长短不一的模板匹 配问题。文中还针对动态规划的不足提出了改进。 关键词:关键词:语音识别 DTW MATLAB 动态规划 Voice-Identification Based on DTW Model Dan Peng (Dept. of Computer and Information Science, Southwest Forestry College, Kunming, Yunan, 6502

3、24, China) Abstract: Voice-identification is a kind of technology that is using computer to transfer the voice signal to an associated text or command by identification and understand. In this paper, DTW arithmetic is adapted to study and research the implement the identification of single-word, and

4、 Speech recognition for single-word is realized by using MATLAB. In the end, this paper gets a conclusion on the feature and the shortage of DTW. DTW arithmetic based on the method of DP has solved the problem that the voice has different time during the template matching. This paper also put forwar

5、d some advises about DP. Key words: Voice-Identification DTW MATLAB DP 目目 录录 引言引言.1 1 开发背景及可行性分析开发背景及可行性分析.1 1.1 开发背景1 1.2 可行性分析2 2 语音识别基础语音识别基础.2 2.1 语音识别概述2 2.2 语音识别系统分类3 2.3 语音识别技术介绍3 2.3.1 语音识别单元的选取 .3 2.3.2 特征参数提取技术 .4 2.3.3 模式匹配及模型训练技术 .4 2.4 语音识别系统的基本构成5 3 MATLAB 简介简介 6 4 算法阐述算法阐述.7 4.1 DTW 算

6、法原理 7 4.2 DTW 算法实现 9 4.2.1 算法简介 .9 4.2.2 程序运行流程 .9 4.3 运行结果10 4.4 算法改进.11 5 总结总结.12 5.1 语音识别难点12 5.1.1 语音识别系统的开发过程中的难点 .12 5.1.2 语音识别系统的实际应用中的难点 .13 5.1.3 语音识别所面临的实际情况 .13 5.2 课题总结14 5.3 课题心得及长远发展14 参考文献参考文献.15 致谢致谢.16 附录附录 源程序代码源程序代码.17 西南林学院 2004 届本科毕业论文 1 引言 语言是人类特有的功能,声音是人类最常用的工具。通过语音传递信息是人类 最重要

7、、最有效、最常用和最方便的信息交换形式12。语言信号是人类进行思想疏 通和情感交流的最主要途径。让计算机能听懂人类的语言,是自计算机诞生以来人 类梦寐以求的想法。在本课题中,将针对 DTW 算法,讨论如何实现对个别个体的 特定声音进行语音识别的问题。 1 开发背景及可行性分析 1.1 开发背景开发背景 本项目来源于云南省重点项目西双板纳自然保护区系统建设。在该项目中综合 应用传感器技术,数字仿真技术,数据编码与数据压缩技术,DSP 技术,无线传输 技术等,研究自然保护区视频信号、声音信号以及其他监测信号的采集、传送、处 理方案,设备选型方案,二次开发技术,为自然保护区信息系统建设。 研究内容:

8、 1)自然保护区图像与声音等监测信息自动采集技术及专用设备研究。恶劣的 自然环境下,其有低成本,高可靠性,免维护太阳能供电,间歇工作条件, 窄带宽,单一功能的信息采集设备的研制。 2)自然保护区监测信息无线传输技术与方法研究。最佳频点选择,组网方式, 图上作业,机站选点,天线类型,实验设备选型等。 3)自然保护区监测信息数据格式及 DSP 芯片开发技术研究。与华为等开发商 合作进行专用设备的设计与开发等。 4)重点保护动物自动跟踪技术研究。监测设备之间的配合,待机与激活状态 的自动切换等。 5)太阳能电围栏智能化改造 现有太阳能电围栏设备,由于技术太简单,野象很容易适应并能找到对策,本 项目拟

9、在进一步研究野象生活习性的基础,引入其他技术,如:声、光、影像伪装 基于 DTW 模型的语音识别 2 技术和智能技术,改进现有简单、被动的野象防护技术,并对太阳能产品性能作进 一步研究。 该课题的目标是基于研究内容的第一点实现野生大象的语音识别。 1.2 可行性分析可行性分析 语音识别有两种特殊形式:说话人识别和语种辨别,它们和语音识别一样,都 是通过提取语音信号的特征和建立相应的模型进行分类判断的12。说话人识别力求 找出包含在语音信号中说话人的个性因素,强调不同人之间的特征差异;而语种辨 别则要从一个语音片段中判别它是哪一个语种,所以就要尽可能的找出不同语种的 差别特征。 在课题中,我们要

10、实现的是大象声音的识别,即实现在所听到的声音中判别哪 个声音发自于大象,或判别听到的一个声音是否发自于大象。这实际上就是语音的 模糊识别,但为了实现方便,只实现了对个别个体的特定语音识别。个别个体是指 因为算法的不完善以及研究对象的相对独立,只能识别某只特定的大象,而对于象 群的模糊识别,还未能达到要求。特定声音是指因为语音数据库的不完善,只能正 确的识别大象在特定情绪下的语音。这部分内容在总结部分将会重点提出。 2 语音识别基础 2.1 语音识别概述语音识别概述 语音识别:语音识别(Speech Recognition)重要是指让机器听懂人说的话,即 在各种情况下,准确的识别语音的内容,从而

11、根据其信息,执行人的各种意图或执 行特定的任务12。 语音识别以语音为研究对象,它是语音信号处理的一个重要研究方向,是模式 识别的一个分支,涉及到生理学、心理学、语言学、计算机科学以及信号处理等诸 多领域,甚至还涉及到人的体态语言(如人在说话时的表情、手势等行为动作可帮 助对方理解) ,其最终目标是实现人与机器进行自然语言通信。 西南林学院 2004 届本科毕业论文 3 2.2 语音识别系统分类语音识别系统分类 语音识别系统按照不同的角度,不同的应用范围,不同的性能要求会有不同的 系统设计和实现,有以下几种类型: 1)孤立词,连接词,连续语音识别系统以及语音理解和会话系统。 2)大词汇,中词汇

12、和小词汇量语音识别系统。 3)特定人和非特定人语音识别系统。 在我们的课题中由于要实现的是对大象声音的识别,所以可以将其归结为第 3 类,即特定人和非特定人的语音识别系统。 2.3 语音识别技术语音识别技术介绍介绍 语音识别技术主要包括特征提取技术、模式匹配准则及模型训练技术三个方面。 此外,还涉及到语音识别单元的选取。 2.3.1 语音识别单元的选取语音识别单元的选取 选择识别单元是语音识别研究的第一步。语音识别单元有单词(句) 、音节和音 素三种,具体选择哪一种,由具体的研究任务决定4。 单词(句)单元广泛应用于中小词汇语音识别系统,但不适合大词汇系统,原 因在于模型库太庞大,训练模型任务

13、繁重,模型匹配算法复杂,难以满足实时性要 求。 音节单元多见于汉语语音识别,主要因为汉语是单音节结构的语言,而英语是 多音节,并且汉语虽然有大约 1300 个音节,但若不考虑声调,约有 408 个无调音节, 数量相对较少。因此,对于中、大词汇量汉语语音识别系统来说,以音节为识别单 元基本是可行的4。 音素单元以前多见于英语语音识别的研究中,但目前中、大词汇量汉语语音识 别系统也在越来越多地采用。原因在于汉语音节仅由声母(包括零声母有 22 个)和 韵母(共有 28 个)构成,且声韵母声学特性相差很大。实际应用中常把声母依后续 韵母的不同而构成细化声母,这样虽然增加了模型数目,但提高了易混淆音节

14、的区 基于 DTW 模型的语音识别 4 分能力。由于协同发音的影响,音素单元不稳定,所以如何获得稳定的音素单元, 还有待研究4。 2.3.2 特征参数提取技术特征参数提取技术 语音信号中含有丰富的信息,如何从中提取出对语音识别有用的信息是语音识 别的关键。特征提取就是完成这项工作,它对语音信号进行分析处理,去除对语音 识别无关紧要的冗余信息,获得影响语音识别的重要信息。对于非特定人语音识别 来讲,希望特征参数尽可能多的反映语义信息,尽量减少说话人的个人信息(对特 定人语音识别来讲,则相反) 。从信息论角度讲,这是信息压缩的过程。 线性预测(LP)分析技术是目前应用广泛的特征参数提取技术,许多成

15、功的应 用系统都采用基于 LP 技术提取的倒谱参数。但线性预测模型是纯数学模型,没有 考虑人类听觉系统对语音的处理特点4。 Mel 参数和基于感知线性预测(PLP)分析提取的感知线性预测倒谱,在一定程 度上模拟了人耳对语音的处理特点,应用了人耳听觉感知方面的一些研究成果4。 实验证明,采用这种技术,语音识别系统的性能有一定提高。 2.3.3 模式匹配及模型训练技术模式匹配及模型训练技术 模型训练是指按照一定的准则,从大量已知模式中获取表征该模式本质特征的 模型参数,而模式匹配则是根据一定准则,使未知模式与模型库中的某一个模型获 得最佳匹配。 语音识别所应用的模式匹配和模型训练技术主要有动态时间

16、归正技术(DTW) 、 隐马尔可夫模型(HMM) 、概率语法分析法和人工神经元网络(ANN) 。 DTW(Dynamic Time Warping 动态时间伸缩算法)是较早的一种模式匹配和模型 训练技术,它应用动态规划方法成功解决了语音信号特征参数序列比较时时长不等 的难题,在孤立词语音识别中获得了良好性能。DTW 是用满足一定条件的时间归正 函数描述待识别模式和参考模板的时间对应关系,求解两模板匹配是累计距离最小 所对应的归正函数,从而保证了模板间存在的最大的声学相似性。DTW 算法在词汇 表较小以及各个词条不容易混淆的情况下具有一定的优越性,但在由于其只是简单 的模板匹配,在处理要求更高的

17、语音识别就显得力不从心了。因为对于连续语音识 西南林学院 2004 届本科毕业论文 5 别系统来讲,如果选择词,词组,短语甚至整个句子作为识别单位,为每个词条建 立一个模板,那么随着系统用词量的增加,模板的数量将达到天文数字,而这在实 际应用中是不可能被允许出现的情况。 HMM 模型是语音信号时变特征的有参表示法。它由相互关联的两个随机过程 共同描述信号的统计特性,其中一个是隐蔽的(不可观测的)具有有限状态的 Markor 链,另一个是与 Markor 链的每一状态相关联的观察矢量的随机过程(可观 测的) 。隐蔽 Markor 链的特征要靠可观测到的信号特征揭示。这样,语音等时变信 号某一段的

18、特征就由对应状态观察符号的随机过程描述,而信号随时间的变化由隐 蔽 Markor 链的转移概率描述。模型参数包括 HMM 拓扑结构、状态转移概率及描述 观察符号统计特性的一组随机函数。按照随机函数的特点,HMM 模型可分为离散 隐马尔可夫模型(采用离散概率密度函数,简称 DHMM)和连续隐马尔可夫模型 (采用连续概率密度函数,简称 CHMM)以及半连续隐马尔可夫模型(SCHMM, 集 DHMM 和 CHMM 特点) 。一般来讲,在训练数据足够的,CHMM 优于 DHMM 和 SCHMM。 语法分析法:一方面由于不同的人说同一些语音时,相应的语谱极其变化有种 种差异,但总有一些共同的特点足以使他

19、们区分于其他语音,也即语音学家提出的 “区别性特征”。而另一方面,人类的语言要受词法,语法,语义等约束,人在识别 语音的过程中充分应用了这些约束以及对话环境的有关信息。于是,将语音识别专 家提出的“区别性特征”与来自构词,句法,语义等语用约束相互结合,就可以构成 一个“由底向上”或“自顶向下”的交互作用的知识系统,不同层次的知识可以用若干 规则来描述。 人工神经元网络在语音识别中的应用是现在研究的又一热点。ANN 本质上是一 个自适应非线性动力学系统,模拟了人类神经元活动的原理,具有自学、联想、对 比、推理和概括能力。这些能力是 HMM 模型不具备的,但 ANN 又不具有 HMM 模型的动态时

20、间归正性能。因此,现在已有人研究如何把二者的优点有机结合起来, 从而提高整个模型的鲁棒性。 2.4 语音识别系统的基本构成语音识别系统的基本构成 语音识别的典型方案如图 1 所示。输 基于 DTW 模型的语音识别 6 特征提取模式匹配 模型库 语音输入 识别结果 图 1 语音识别流程图 入的模拟语音信号首先要经过预处理,包括预滤波,采样和量化,加窗,端点检测, 预加重等。语音信号经预处理后,接下来重要的一环就是特征参数提取。对特征参 数的要求是: 1)提取的特征参数能有效的代表语音特征,具有很好的区分性。 2)各阶参数之间有良好的独立性。 3)特征参数要计算方便,具有高效的计算方法,以保证语音

21、识别的实时实现。 将特征参数进行一定的处理后,为每个词条得到一个模型,保存为模板库。在 识别阶段,语音信号经过相同的通道得到语音参数,生成测试模板,与参考模板进 行匹配,将匹配分数最高的参考模板作为识别结果。同时还可以在很多先验知识的 帮助下,提高识别的准确率。 3 3 Matlab 简介 MATLAB 是矩阵实验室(Matrix Laboratory)之意。除具备卓越的数值计算能 力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等 功能。Matlab 是一种解释性执行语言,具有强大的计算、仿真、绘图等功能,而且 使用简单,扩充方便,同时因为有丰富的函数库(工具箱)所以计

22、算的功能实现也 很简单。Matlab 和其他高级语言也具有良好的接口,可以方便的实现与其他语言的 混合编程3。 其主要特点在于: 语言简洁紧凑,使用方便灵活,库函数丰富;运算符丰富;MATLAB 既具有结 构化的控制语句(如 for 循环,while 循环,break 语句和 if 语句) ,又有面向对象编 西南林学院 2004 届本科毕业论文 7 程的特性;程序限制不严格,程序设计自由度大;程序的可移植性好;MATLAB 的 图形功能强大;MATLAB 的缺点是,它和其他高级程序相比,程序的执行速度较慢; 拥有功能强大的工具箱;源程序的开放性3。 4 算法阐述 4.1 DTW 算法原理算法原

23、理 假设测试和参考模板分别用 T 和 R 表示,为了比较它们之间的相似度,可以计 算它们之间的距离,距离越小则相似度越高。为了计算这一失真距离,应从 , D T R T 和 R 中各个对应帧之间的距离算起。设 n 和 m 分别是 T 和 R 中任意选择的帧号, 表示这两帧特征矢量之间的距离。距离函数处决于实际采用的距离度量, ( )() , nm d TR 在 DTW 算法中通常采用欧氏距离。 若 N=M 则可以直接计算,否则要考虑将和对齐。对齐主要采用的是动 ( )n T ()m R 态规划(DP)的方法。将测试模板的各个帧号在一个二维直角坐标系中的1nN : 横轴上标出,把参考模板的各帧号

24、在纵轴上标出,通过这些表示帧号的整1mM : 数坐标画出一些纵横线即可形成一个网格,网格中的每一个交叉点表示测试模( ,)n m 式中某一帧与训练模式中某一帧的交汇点。 DP 算法可以归结为寻找一条通过此网格中若干格点的路径,路径通过的格点即 为测试和参考模板中进行距离计算的帧号。路径不是随意选择的,首先任何一种语 音的发音快慢都有可能变化,但是其各部分的先后次序不可能改变,因此所选的路 径必定是从左下角出发,在右上角结束,如图 2 为了描述这条路径,假设路径通过的所有格点依次为(,),(, ),( 1 n 1 m i n i m ,),其中(,)=(1,1),(,)=(N,M)。路径可以用函

25、数=描述,其中 M n N m 1 n 1 m M n N m i m( ) i n =i,i=1,2,N,=1, =M。为了使路径不至于过分倾斜,可以约束斜率在 i n(1)()N 的范围内,如果路径已通过了格点(,),那么下一个通过的格点(,0.52: 1i n 1i m i n 基于 DTW 模型的语音识别 8 )只可能是下列三种情况之一: i m (,)= (+1,+2) i n i m 1i n 1i n (,)= (+1,+1) i n i m 1i n 1i n (,)= (+1,) i n i m 1i n 1i n M 8 7 6 5 4 3 2 1 1 2 3 4 5 6

26、7 8 9 10 N 图 2 DTW 算法搜索路径 用 表示上述三个约束条件。求最佳路径的问题可以归结为满足约束条件 时, 求最佳路径函数=,使得沿路径的积累距离达到最小值,即: i m( ) i n ( ) ( ) , , 11 min mnmn iiii NN iiii D n mD n m nn ii 搜索该路径的方法如下:搜索从(,)点出发,可以展开若干条满足 的路 1 n 1 m 径,假设可计算每条路径达到(,)点时的总的积累距离,具有最小积累距离者 N n N m 即为最佳路径。易于证明,限定范围内的任一格点(,)只可能有一条搜索路径通 i n i m 过。对于,其可达到该格点的前

27、一个格点只可能是(,)、(,)和(,), 1i n i m 1i n 1i m 1i n 2i m 那么(,)一定选择这 3 个距离中的最小者所对应的格点作为其前续格点,若用( i n i m ,)代表此格点,并将通过该格点之路延伸而通过,这时此路径的积累距离为: 1i n 1i m = i D(n ,) i m 11 ( ), ()(,) iiii d T nR mD nm 其中的=,由下式决定: i n1 i n1 i 1m 西南林学院 2004 届本科毕业论文 9 = 11 (,) ii D nm i-111 minD(n ,),(,1),(,2) iiiii mD nmD nm 这样可

28、以从出发搜索,在搜索,对每一个都存储相应的前一格点及相应的帧匹 配距离。搜索到时,只保留一条最佳路径。如果有必要的话,通过逐点向前寻找就 可以求得整条路径2。这套 DP 算法便是 DTW 算法。 DTW 算法可以直接按上面的描述来实现,即分配两个的矩阵,分别为积*NM 累距离矩阵 D 和帧匹配距离矩阵 d,其中帧匹配距离矩阵的值为测试模板的第( , )d i j i 帧与参考模板的第 j 帧间的距离。即为最佳匹配路径所对应的匹配距离2。(,)D N M 4.2 DTW 算法实现算法实现 4.2.1 算法简介算法简介 首先申请两个的矩阵 D 和 d,分别为累计距离和帧匹配距离。这里 n 和 m*

29、n m 为测试模板与参考模板的帧数。然后通过一个循环计算两个模板的帧匹配距离矩阵 d。接下来进行动态规划,为每个格点都计算其三个可能的前续格点的累积距( , )i j 离,和。考虑到边界问题,有些前续格点可能不存在,因此要加用一些判1D2D3D 断条件。最后利用最小值函数,找到三个前续格点的累积距离的最小值作为累min 积距离,与当前帧的匹配距离相加,作为当前格点的累积距离。该计算过程( , )d i j 一直达到格点,并将输出,作为模板匹配的结果2。( ,)n m( ,)D n m DTW 算法的主体函数 dtw.m 代码详见附件。 4.2.2 程序运行流程程序运行流程 程序运行后,首先读入

30、 wav 文件,用 mfcc 函数获得其 MFCC 参数,用 vad 函 数对其进行端点检测,并保存语音部分的 MFCC 参数到参考模板的结构数组 中或测试模板的结构数组中2。( ).ref i mfcc( ).test i mfcc 在模板匹配阶段,计算所有测试模板和参考模板之间的距离,保存到矩阵 dist 中,将最后的匹配分数用 min 函数找到最 小值对应的模板2。 基于 DTW 模型的语音识别 10 DTW 算法的测试程序 testdtw.m 代码详见附件。 4.3 运行结果运行结果 程序的输出结果如下: 正在计算参考模板的参数. 正在计算测试模板的参数. 正在进行模板匹配. 正在计算

31、匹配结果. 测试模板 1 的识别结果为:1 测试模板 2 的识别结果为:2 测试模板 3 的识别结果为:3 测试模板 4 的识别结果为:4 测试模板 5 的识别结果为:5 测试模板 6 的识别结果为:6 测试模板 7 的识别结果为:7 测试模板 8 的识别结果为:8 测试模板 9 的识别结果为:9 测试模板 10 的识别结果为:10 从输出结果看,识别得到了正确的结果。为了进一步验证识别的正确性,接下 来看一下匹配距离矩阵 dist 的数据: dist dist = 1.0e+004 * 0.5741 1.8575 3.7164 2.7567 3.2732 2.4946 2.1208 1.85

32、65 3.4530 1.7783 1.6183 0.6201 5.4711 4.0024 4.5169 3.8422 3.025 1.439 5.5660 3.4090 3.5879 5.2763 0.4147 1.4435 2.4924 3.1520 2.5371 3.5035 1.0029 2.9692 2.2657 3.6250 1.0511 0.5487 2.1223 2.2573 1.8405 2.5638 1.0303 2.0788 2.4052 3.9130 2.1418 1.8048 0.4234 2.9629 2.6261 2.5600 2.1139 2.2589 西南林学院

33、 2004 届本科毕业论文 11 2.2896 3.2425 3.0996 2.7853 3.0529 0.5002 2.2229 3.2317 2.7873 1.9719 2.1692 3.8311 3.1997 2.6173 2.9306 2.4412 0.6207 2.9675 2.6489 1.5591 1.9428 2.2470 4.0326 2.6934 3.1362 3.6682 3.4982 0.7567 4.3060 2.6786 3.2084 4.7374 1.0319 1.4739 2.2992 2.9104 2.2509 3.8464 0.4946 2.5945 2.2

34、231 4.4386 2.9113 2.5731 2.7994 2.2883 1.3779 3.6557 2.2412 0.3803 距离矩阵的对角线上是正确匹配模板的对应分数,可见对角线上的 10 个数值都 是在本行中最小的,由此验证了识别结果的正确性。 以下是程序运行结果及匹配矩阵 dist 的抓图 3: 图 3 程序运行结果 4.44.4 算法改进算法改进 因为 DTW 算法是一套对测试模板和参考模板进行动态规划的算法,所以对算法 的改进主要集中在模板的动态规划上面。 由文中的图 2 可以得知,测试模板和参考模板语音帧长的最大差距为 2 倍关系。 这是因为在动态规划中,在参考格点的位置确

35、定的情况下,下一格点的确定要计算 基于 DTW 模型的语音识别 12 参考格点的三个前续格点的可能性,这样如果参考格点的下一格点每次都取到最远 的路径即可推导出测试模板和参考模板语音帧长的最大差距为 2 倍关系。 但在实际进行的语音识别测试中,待测模板和参考模板语音帧长的最大差距不 能到达理论的最大值。这样,对动态规划进行如下改进,即在端点检测中,对测试模板 和参考模板的长度进行动态的统一。方案如下: 首先按常规检测出参考模板和测试模板的帧长。再对两模板进行二次端点检测, 通过修改端点检测时的帧长和帧移,使两模板的帧长相等。这样在动态匹配的时候, 转而去计算参考模板和测试模板每一帧的斜率比值的

36、累积值,这样累积值最小的即 是需要寻找的模板。但是由于语音信号曲线是由语音的各项参数来决定的,所以并 不是一条规则的可以用简单方程式来表示的曲线,故斜率比值的计算并不容易实现。 这也是改进算法实现的难点所在。 5 总结 5.1 语音识别难点语音识别难点 5.1.1 语音识别系统的开发过程中的难点语音识别系统的开发过程中的难点 计算机语音识别是一个模式识别匹配的过程。在这个过程中,计算机首先要根 据人的语音特点建立语音模型,对输入的语音信号进行分析,并抽取所需的特征, 在此基础上建立语音识别所需的模板5。而计算机在识别过程中要根据语音识别的 整体模型,将计算机中存放的语音模板与输入的语音信号的特

37、征进行比较,根据一 定的搜索和匹配策略,找出一系列最优的与输入的语音匹配的模板。然后,据此模 板的定义,通过查表就可以给出计算机的识别结果。显然,这种最优的结果与特征 的选择、语音模型和语言模型的好坏、模板是否准确等都有直接的关系。 一个语音识别系统性能好坏的关键首先是它所采用的语音模型能否真实地反映 话音的物理变化规律,所用的语言模型能否表达自然语言所包含的丰富语言学知识。 然而无论是语音信号还是人类的自然语言都是随机、多变和不稳定的,很难把握。 这就是目前语音识别过程中的最大难点5。 其次,模板训练的好坏也直接关系到语音识别系统识别率的高低。为了得到一 西南林学院 2004 届本科毕业论文

38、 13 个好的模板,往往需要有大量的原始语音数据来训练语音模型。因此,在开始进行 语音识别研究之前,首先要建立起一个庞大的语音数据库和语料数据库。一个好的 语音数据库包括足够数量、具有不同性别、年龄、口音说话人的声音,并且必须要 有代表性,能均衡地反映实际使用情况5。 有了语音数据库及语音特征,就可以建立语音模型,并用语音数据库中的语音 来训练这个语音模型。训练过程是指选择系统的某种最佳状态(如对语音库中的所 有语音有最好的识别率),不断地调整系统模型(或模板)的参数,使系统模型的 性能不断向这种最佳状态逼近的过程。这是一个复杂的过程,要求计算机有强大的 计算能力,并有很强的理论指导,才能保证

39、得到良好的训练结果。 5.1.2 语音识别系统的实际应用中的难点语音识别系统的实际应用中的难点 语音识别系统的适应性差,主要体现在对环境依赖性强,即在某种环境下采集 到的语音训练系统只能在这种环境下应用,否则系统性能将急剧下降;另外一个问 题是对用户的错误输入不能正确响应,使用不方便9。 高噪声环境下语音识别进展困难,因为此时人的发音变化很大,如声音变高, 语速变慢,音调及共振峰变化等等,这就是所谓 Lombard 效应,必须寻找新的信号 分析处理方法9。 5.1.3 语音识别所面临的实际情况语音识别所面临的实际情况 语言学、生理学、心理学方面的研究成果已有不少,但如何把这些知识量化、 建模并

40、用于语音识别,还需研究。而语言模型、语法及词法模型在中、大词汇量连 续语音识别中是非常重要的6。 首先,对人类的听觉理解、知识积累和学习机制以及大脑神经系统的控制机理 等分面的认识还很不清楚;其次,把这方面的现有成果用于语音识别,还有一个艰 难的过程6。 语音识别系统从实验室演示系统到商品的转化过程中还有许多具体问题需要解 决,识别速度、拒识问题以及关键词(句)检测技术(即从连续语音中去除诸如“啊” 、 “唉”等语音,获得真正待识别的语音部分)等等技术细节要解决6。 基于 DTW 模型的语音识别 14 5.2 课题总结课题总结 课题最终在编程上实现了个别个体的特定语音的识别,基本上达到了预定的

41、目 标。基于 DTW 模型的语音识别简单的说就是将待识别的语音信号与数据库中的模 板进行相似度对比,将相似度最高者作为识别结果输出。因此在实际程序实现中, 功能强大的数据库将是程序是否成功的关键。在程序中,由于受数据库的局限,并 没有实现对语音的模糊识别,但个别个体的特定语音识别也具有广泛的用途。 例如,在对象群的追踪中,就可以采取个别个体的特定语音识别的方法,重点 就是要最大限度的搜集象群中头象的声音特征数据,以后一旦发现头象的踪迹,即 可认为是发现了象群的踪迹。这样,既免除了搜集大量其它大象声音特征数据的麻 烦,节省了大量的时间,又免除了因为数据库文件数量过多而引起的管理困难。因 为数据库

42、的庞大,虽然可以保证识别的准确性,但是也可能因为识别时间过长,而 失去意义,如,程序的识别结果还未给出,象群早已走出了控制范围。 5.3 课题心得及长远发展课题心得及长远发展 一个完善的语音识别系统是由一个优秀的算法以及一个语音特征数据完备的数 据库构成的,所以说,语音识别系统的完善过程可以认为就是语音识别算法的完善 过程和语音数据库的完善过程之和。算法的完善有助于提高模板搜寻和匹配的效率 和可靠性,相当于赋予程序一个善于思考且运转迅速的大脑,而数据库的完善有助 于提高语音识别的精度和准确性,因为在强大的数据库的支持下,程序能最大限度 的识别准确的结果。 在算法和数据库逐步完善的过程,模糊识别

43、也将迎刃而解。模糊识别的意义在 于能够使程序区分不同的群体做出相应的反映,而不像特定识别只能针对指定的群 体。 西南林学院 2004 届本科毕业论文 15 参考文献 1 赵力.语音信号处理.北京:机械工业出版社,2003 2 何强,何英.MATLAB 扩展编程.北京:清华大学出版社,2002 3 周金萍.MATLAB 6.5.北京:科学出版社,2003 4 胡航.语音信号处理.哈尔滨:哈尔滨工业大学出版社,2000 5 易克初等.语音信号处理.北京:国防工业出版社,2000 6 陈尚勤等.近代语音识别.成都:电子科技大学出版社,1991 7 楼顺天.MATLAB 程序设计语言.西安:西安电子科

44、技大学出版社,1997 8 姚天任.数字语音处理.武汉:华中理工大学出版社,1992 9 陈永彬.语音信号处理.上海:上海交通大学出版社,1991 10 韩立竹,王华.MATLAB 电子仿真与应用.北京:国防工业出版社,2003 11 查普曼 Chapman. MATLAB.北京:科学出版社,1998 12 RabinerL. R.Fundamentals of Speech Rrcognition. 北京:清华大学出版社,1999 13 Chen YongBin .Automatic Segmentation of Chinese Continuous Speech .Proceedings

45、 of IEEE Asian Electronics Conference,2001 基于 DTW 模型的语音识别 16 致谢 本文自 2004 年 1 月选题开始,得到了指导教师赵同林教授及吕丹桔老师的悉心 指导,得到了同组李丹同学的热心帮助,特在此表示衷心的感谢。最后感谢系主任 徐声远教授,班主任王冬老师及计科系的所有老师四年中的辛勤教导。 西南林学院 2004 届本科毕业论文 17 附录 源程序代码 dtw.m 的代码及注解如下: function dist = dtw(t,r) n = size(t,1); m = size(r,1); % 帧匹配距离矩阵 d = zeros(n,m)

46、; for i = 1:n for j = 1:m d(i,j) = sum(t(i,:)-r(j,:).2); end end % 累积距离矩阵 D = ones(n,m) * realmax; D(1,1) = d(1,1); % 动态规划 for i = 2:n for j = 1:m D1 = D(i-1,j); if j1 D2 = D(i-1,j-1); 基于 DTW 模型的语音识别 18 else D2 = realmax; end if j2 D3 = D(i-1,j-2); else D3 = realmax; end D(i,j) = d(i,j) + min(D1,D2,

47、D3); end end dist = D(n,m); testdtw.m 的代码及注解如下: disp(正在计算参考模板的参数.) for i=1:5 fname = sprintf(E:MATLAB6p5workdtw_sj%da.wav,i); x=fname; x1 x2 = vad(x); m = mfcc(x); m = m(x1-2:x2-2,:); ref(i).mfcc = m; % soundview(x); end disp(正在计算测试模板的参数.) 西南林学院 2004 届本科毕业论文 19 for i=1:1 fname = sprintf(E:MATLAB6p5workdtw_sj%db.wav,i); x=fname; x1 x2 = vad(x); m = mfcc(x); m = m(x1-2:x2-2,:); test(i).mfcc = m; end disp(正在进行模板匹配.) dist = zeros(1,5); for i=1:1 for j=1:5 dist(i,j) = dtw(test(i).mfcc, ref(j).mfcc); end end disp(正在计算匹配结果.) for i=1:1 d,j = min(dist(i,:); fprintf(测试模板 %d 的识别结果为:%dn, i, j); end

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1