1 / 17
文档名称:

基于DTW算法的语音识别原理与实现.doc

格式:doc   页数:17页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于DTW算法的语音识别原理与实现.doc

上传人:xxj16588 2016/7/27 文件大小:0 KB

下载得到文件列表

基于DTW算法的语音识别原理与实现.doc

相关文档

文档介绍

文档介绍:基于 DTW 算法的语音识别原理与实现【摘要】以一个能识别数字 0~9 的语音识别系统的实现过程为例,阐述了基于DTW 算法的特定人孤立词语音识别的基本原理和关键技术。其中包括对语音端点检测方法、特征参数计算方法和 DTW 算法实现的详细讨论,最后给出了在 Matlab 下的编程方法和实验结果。【关键字】语音识别;端点检测; 系数; DTW 算法【中图分类号】 【文献标识码】 A 0 引言自计算机诞生以来, 通过语音与计算机交互一直是人类的梦想, 随着计算机软硬件和信息技术的飞速发展, 人们对语音识别功能的需求也更加明显和迫切。语音识别技术就是让机器通过识别和理解过程把人类的语音信号转变为相应的文本或命令的技术, 属于多维模式识别和智能计算机接口的范畴[1]。传统的键盘、鼠标等输入设备的存在大大妨碍了系统的小型化[10] ,而成熟的语音识别技术可以辅助甚至取代这些设备。在 PDA 、智能手机、智能家电、工业现场、智能机器人等方面语音识别技术都有着广阔的前景。语音识别技术起源于 20 世纪 50 年代,以贝尔实验室的 Audry 系统为标志[1,8] 。先后取得了线性预测分析(LP) 、动态时间归整(DTW) 、矢量量化(VQ) 、隐马尔可夫模型(HMM) 等一系列关键技术的突破和以 IBM 的 ViaVoice 、 Microsoft 的 VoiceExpress [9] 为代表的一批显著成果。国内的语音识别起步较晚, 1987 年开始执行国家 863 计划后语音识别技术才得到广泛关注。具有代表性的研究单位为清华大学电子工程系与中科院自动化研究所模式识别国家重点实验室, 中科院声学所等[9]。其中中科院自动化所研制的非特定人连续语音听写系统和汉语语音人机对话系统,其准确率和系统响应率均可达 90% 以上[1]。常见的语音识别方法有动态时间归整技术( DTW ) 、矢量量化技术( VQ) 、隐马尔可夫模型( HMM ) 、基于段长分布的非齐次隐马尔可夫模型( DDBHMM ) 和人工神经元网络( ANN ) [1,9] 。 DTW 是较早的一种模式匹配和模型训练技术, 它应用动态规划的思想成功解决了语音信号特征参数序列比较时时长不等的难题, 在孤立词语音识别中获得了良好性能。虽然 HMM 模型和 ANN 在连续语音大词汇量语音识别系统优于 DTW , 但由于 DTW 算法计算量较少、无需前期的长期训练,也很容易将 DTW 算法移植到单片机、 DSP 上实现语音识别且能满足实时性[7] 要求,故其在孤立词语音识别系统中仍然得到了广泛的应用。本文将通过能识别数字 0~9 的语音识别系统的实现过程详细阐述基于 DTW 算法的特定人孤立词识别的相关原理和关键技术。 1 语音识别系统概述语音识别系统的典型原理框图[1,9-10] 如图 1-1 所示。从图中可以看出语音识别系统的本质就是一种模式识别系统, 它也包括特征提取、模式匹配、参考模式库等基本单元。由于语音信号是一种典型的非平稳信号, 加之呼吸气流、外部噪音、电流干扰等使得语音信号不能直接用于提取特征,而要进行前期的预处理。预处理过程包括预滤波、采样和量化、分帧、加窗、预加重、端点检测等。经过预处理的语音数据就可以进行特征参数提取。在训练阶段, 将特征参数进行一定的处理之后,为每个词条得到一个模型,保存为模板库。在识别阶段, 语音信号经过相同的通道得到语音参数, 生成测试模板, 与参考模板进行匹配, 将匹配分数最高的参考模板作为识别结果。后续的处理过程还可能包括更高层次的词法、句法和文法处理等,从而最终将输入的语音信号转变成文本或命令。图 1-1 语音识别系统原理框图本文所描述的语音识别系统( 下称本系统) 将对数字 0~9 共 10 段参考语音进行训练并建立模板库,之后将对多段测试语音进行识别测试。系统实现了上图中的语音输入、预处理、特征提取、训练建立模板库和识别等模块,最终建立了一个比较完整的语音识别系统。 2 语音信号预处理语音信号的预处理模块一般包括预滤波、采样和量化、分帧、加窗、预加重、端点检测等。在不同的系统中对各子模块会有不同的要求, 如在嵌入式语音识别系统中一般要求有防混叠滤波电路[5]、 A/D 转换电路和采样滤波电路等,而在计算机上实验时则可由音频采集卡完成,无需实验者亲自动手。 语音信号采集在 Matlab 环境中语音信号的采集可使用 wavrecord(n,fs,ch,dtype) 函数录制, 也可使用 Windows 的“录音机” 文件然后使用 wavread(file) 函数读入。为了进行批量的的训练和识别处理, 本系统的训练语音和识别语音全部使用“录音机”程序预先录制。如图 2-1 所示为数字 0 的训练语音