论文摘要
随着嵌入式便携式设备的普及和语音识别技术的发展,嵌入式平台下的语音识别应用研究已成为当前的研究热点。但由于嵌入式平台上计算资源和内存资源的限制,目前其主要应用还是小词量的孤立词识别和依靠互联网云技术的连续语音识别。而在不能联网的嵌入式设备上,连续语音识别还是比较少见的。因此,如何在这有限的资源条件下,设计和实现一个连续语音识别系统,是一个非常有价值的课题。针对这样一个目标,本文在嵌入式平台上设计并实现了一个可用于特定领域的中小词量的连续语音识别系统,提出搜索网络构建算法并优化了搜索算法,以保证系统在一定识别率的前提下,可以满足嵌入式的实时性要求。系统的实现采用了标准C接口,可以移植到不同的嵌入式平台上。本文设计的连续语音识别系统采用比较通用的ARM开发板作为硬件平台。系统的软件结构包括音频处理,训练和识别三个部分。音频处理部分主要实现MFCC特征参数的提取;训练和识别部分的声学模型是采用声韵母为基元的连续HMM模型,语言模型采用规则语言模型。其中语法规则的编写方式借鉴了正则表达式的思想,定义了一套编写规范。其次,本文具体介绍了分段K均值训练和嵌入式训练的实现过程,并对两种方法在相同实验条件下所训练得到的声学模型进行了对比。结果表明两者识别效果相差不大,但是分段K均值训练方法的实现相对后者需要花费更大的代价。随后,本文对搜索网络的构建和搜索算法实现进行了优化研究。文章首先提出了语法规则转为语法网络的实现算法,并对语法网络的相同后继节点进行了合并以减少网络节点;然后将语法网络与声学模型耦合构建成搜索网络,在构建的过程中采用了共享前缀发音树的构建方式;搜索算法采用了宽度优先的帧同步维特比搜索,并对其实现进行了优化;搜索过程的剪枝策略结合了束剪枝和直方图剪枝的优点而采用了综合剪枝方式,大大提高搜索速度。最后,对系统的基本性能进行了测试,并结合剪枝阈值的设置对系统进行了多组实验,分析了剪枝策略对系统性能的影响。其次,对系统的识别速度和识别率两个方面进行了优化,分别采用了优化过的最邻近估计法和特征矢量重排序算法,优化后的系统识别率和速度都有一定的提高。最后,文章给出了优化后的系统在各个平台上的整体性能测试,测试结果显示系统具有明显的实用价值。