嵌入式实时英语语音识别系统的设计和实现

2019年05月15日 来源:

嵌入式实时英语语音识别系统的设计和实现

随着移动设备的快速发展,迫切需要一种更友好、更便捷的用户操作系统。自动语音识别系统能够提供便利的人机交互,将成为一种主要方法。目前,实验室环境中自动语音识别系统已经取得了很好的效果,但需要很大的存储空间和运算资源。当自动语音识别应用于移动设备时,必须对模型和识别策略进行相应改进,才能满足其对运算速度、内存资源和功耗的要求。为了解决这个问题,本文将结合英语语音的特点,设计并实现嵌入式英语语音识别系统,完成中等词汇量的孤立词实时识别任务。

1 硬件平台

嵌入式系统的软硬件高度结合,针对系统的特定任务,要量体裁衣、去除冗余,使得系统能够在高性能、高效率、高稳定性的同时,保证低成本和低功耗。因此,系统硬件平台的选用是影响系统整体性能的关键因素。系统采用Infineon公司Unispeech 80D51语音处理专用芯片作为核心的硬件平台,该芯片集成了一个16位定点DSP核(OAK)、一个8位MCU核(M8051 E-Warp)、两路ADC、两路DAC、104KB的SRAM以及高灵活性的MMU等器件。其中DSP工作频率可达100MHz,MCU工作频率为50MHz。

由于系统的语音处理专用芯片UniSpeech集成了大部分的功能单元,片外所需元件很少,因此系统硬件平台的板级结构非常简单。图1为硬件平台的板级结构图。

专用芯片只需外接:

(1)EPROM:存放系统程序;

(2)Flash Memory:存放语音识别系统需要的声学模型参数和系统中的语音提示、语音回放数据;

(3)语音输入器件:可直接外接麦克风,接收语音信号;

(4)语音输出器件:可直接外接扬声器或耳机,输出系统的提示音;

(5)电源:通过电压变换芯片,为电路板上各芯片提供需要的电压;

(6)USB接口:该板级语音识别模块提供了USB接口,以提高该嵌入式系统和通用计算机系统之间数据交换的速度;

(7)键盘:提供外接键盘接口,方便系统控制;

(8)液晶:可外接一块液晶显示屏,以输出识别结果;

(9)其他设备接口:为了增强该语音信号处理模块的功能扩展性,UniSpeech提供了丰富的I/O资源,共有100条通用I/O,系统也预留了这些I/O接口,以方便与其他设备连接。

2 算法研究

2.1 两阶段识别算法

在英语语音识别系统中,常用的声学模型基本单元是单词(Word)、上下文无关音素(Monophone)、上下文相关音素(Triphone,Biphone)和音节(Syllable)。单词模型由于其灵活性太差及计算时间和占用内存随待识别单词数的增加而线性增长,所以在嵌入式语音识别系统中很少应用。Monophone模型具有模型简单、状态数较少、识别速度快、内存占用少且与识别词汇量无关等优点,但其对发音的相关性描述不够精确,一选识别率不高。Triphone和Syllable模型对发音相关性能准确建模,但模型数量巨大、状态数较多、识别速度慢、内存占用多。为了解决内存占用量与识别速度之间的矛盾,本文采用了两阶段搜索算法,其基本流程如图2所示。

在阶段识别中,采用monophone模型和静态识别络,得到多候选词条;在第二阶段识别中,根据阶段输出的多候选词条,构建新的识别络,采用triphone模型,进行精确识别,得到终的识别结果。由于第二阶段识别的词条数较少,与只采用triphone模型的一阶段识别相比,识别速度大大提高;同时,第二阶段识别可重用阶段的内存资源,也减少了识别系统的内存占用量。

2.2 特征提取与选择

在连续语音识别系统中,通常采用39维的MFCC(Mel Frequency Cepstral Coefficient)特征,甚至再加入一些特征。但是,考虑到嵌入式系统有限的硬件资源,在不降低识别率的基础上,应尽量减少特征的维数。本文采用小互信息改变准则MMIC(Minimum Mutual Information Change)进行特征选择。一阶段采用22维MFCC特征(9 MFCC,6 ΔMFCC,4 Δ2MFCC,E,ΔE,Δ2E),二阶段采用26维MFCC特征(10 MFCC,7 ΔMFCC,6 Δ2MFCC,E,ΔE,Δ2E)。

2.3 数据的输入输出

对于硬件系统,如果数据的读入速度较慢,则对运算速度影响就很大。在保证系统高识别率的前提下,系统的内存消耗量和识别时间常常是一对矛盾体,很难保证两者同时达到理想状态。如果仅仅考虑节省内存,将每个词条识别络和相应的状态逐个读入,计算匹配分数,这样虽然可以限度地节省内存的使用量,但是数据的多次读入占用了大量时间,并且反复计算同一个转移概率,也对识别时间影响很大。另一方面,如果仅仅考虑运算速度,一次性将所有词条的识别络和所有状态模型读入内存,虽然仅需一次数据读入,运算速度大大提高,但却对内存提出了更高要求。为了更好地利用系统的硬件资源,本系统首先逐个读入状态模型,计算所有观察矢量在各状态模型下的输出概率,存放在内存中;然后逐条读入识别络,选取路径似然度的词条作为终的识别结果。这样综合了前面两种方案的优点,适应了硬件系统的要求。

2.4 两阶段端点检测

端点检测是嵌入式语音识别中基本的模块。端点检测是否准确直接影响系统的运算复杂度和系统的识别性能。因此在不增加复杂运算量的前提下,希望端点检测能尽量准确,而且能适应嵌入式系统多变的应用环境。本文使用了一种有效的两阶段端点检测方法。在阶段使用图像分割中经常使用的边缘检测滤波器方法,得到一个能包含语音段同时又比较宽松的端点结果;在第二阶段,对阶段的结果进行再判决,使用直方图统计方法得到静音段的能量聚类中心,并用这个中心能量值对整句能量序列进行中心削波,对削波后的能量序列进行终判决。通常终的结果会在第二阶段端点检测的基础上作适当的放松,前后放松4~5帧(大约64~80ms),这些放松在求取特征的差分分量时是很有必要的。

在实验室环境下(信噪比大于25dB),以8kHz采样频率录制了20人(其中男、女各10人)的语音数据。对于12 000句原始录制语音或带噪语音,对传统的固定能量阈值方法和两阶段检测方法进行了比较测试。测试的性能如表1所示。

传统的固定阈值方法就是针对环境噪声设定一个固定的能量阈值进行端点检测。实验表明,两阶段检测方法无论在安静环境中还是在包含一定噪声的环境中,都比固定能量阈值的端点检测方法有更好的性能。此方法能够进一步改善嵌入式语音识别系统的识别性能。

2.5 束搜索

英语语音发音快、单词长、状态数多,因而搜索时间长。要实现实时识别,就不能在所有的语音数据都得到后再进行解码识别。在两级识别络中,阶段要在大量的词条中搜索,而第二阶段只在N_BEST词条中搜索,相对时间占用量很少。为了满足实时要求,本系统在获取语音信号的同时进行提取特征和阶段识别。根据硬件的内存容量,考虑到匹配分数所占用的内存,选取每20帧(320ms)的语音完成一次搜索。由于所搜索的词条并没有结束,不能求出终对应于词条的分数。因此,必须保留每次搜索中每个词条的每个节点的匹配分数,这带来了新的内存开销。

解决方法是在阶段识别络中加入束搜索(Beam Search)快速算法。该算法假设:Viterbi解码过程中的路径在任何时刻都能保证较高的似然度,在搜索过程中对络进行剪枝,只保留匹配分数的有限个路径,以减少运算量和内存消耗。但是,要获得匹配分数的几个状态,在每次搜索过程中都要对匹配分数进行排序,这使运算负担加重,在实际中不可取。为了解决这一问题,结合本系统识别络的特点,采用了一种滑动窗束搜索算法。对于每一个词条络,在Viterbi解码过程中,近似地认为真实路径总是当前匹配分数的路径的近邻路径。因此,设置了一个固定宽度的窗,在所有时刻,窗中的路径总包含了该时刻似然度的路径及其相邻路径,而那些落在窗外的路径则将被剪枝。由于模型状态不可跨越,因此,下一个活跃路径的位置,只可能是上一个活跃路径的原有位置或者滑动一格。由于中间的匹配分数相同,比较滑动窗两端的匹配分数即可决定下一个滑动窗的位置。这样可大大减小比较的运算量,提高运算速度。

由于语音信号随机性较强,束搜索的这种假设并不总符合真实情况,因此,过窄的束宽很容易导致识别结果的错误。以三对角高斯模型为例,语音库为10个男生的命令词。窗宽与识别率的关系如表2所示。

可以看出,当窗宽为15时,识别率基本没有下降。这个结果与候选词条的长度有关,词条的状态数越多,结果在搜索过程中“露出”窗外的可能性也就越大。综合束搜索对系统率和识别时间两方面的影响,选定了束宽为10的滑动窗算法作为系统的束搜索算法。

3 实验结果

实验训练集采用LDC WSJ1训练库(SI_TR_S),包括200人的连续语音,共61个小时,降采样为8kHz,16位量化。测试集为由WSJ1测试集(CDTest和HSDTest)得到的525个短句(每句包含2个单词),候选词条为535个,包括637个不同的单词发音,同样降采样为8kHz,16位量化。

表3为一阶段识别和两阶段识别的识别率、识别时间和内存占用量比较。从表3可以看出,与直接进行的一阶段识别相比,两阶段识别通过采用两阶段端点检测方法、MMIC特征选择算法、特征提取和解码同步的束搜索算法,极大地提高了识别率,减少了内存占用量和识别时间。

本文提出了一种基于定点DSP的嵌入式英语孤立词识别系统,采用两阶段识别的连续HMM模型。其中阶段为实时识别,第二阶段为非实时识别。通过采用新颖的两阶段端点检测方法、小互信息改变准则特征选择算法、特征提取和解码同步的束搜索算法,进一步提高了识别性能、减少了内存占用量和计算复杂度。

回收数控刀片
捕鱼器
阻燃幕布
相关文章
  • 黄焖鸡的做法_2
    黄焖鸡的做法_2

    黄焖鸡的做法从次吃了黄焖鸡米饭就喜欢这个味道啦!很下饭!会上瘾喔!难度:切墩(初级) 时间:10-30分钟主料小鸡腿3个香菇适量杭椒适量干辣椒,花椒适量大蒜,姜适量老抽,料酒,花椒,盐,姜,大葱(腌制用)适量糖,生抽,耗油,鸡精适量 ...

  • 新任湖南临湘市委书记黄俊钧到临湘海螺视察
    新任湖南临湘市委书记黄俊钧到临湘海螺视察

    新任湖南临湘市委书记黄俊钧到临湘海螺视察指导工作核心提示:2013年4月26日下午4时,新任临湘市委书记黄俊钧同志在临湘市副市长刘如乐及相关人员陪同下,到临湘海螺视察指导工作。临湘海螺公司领导周小林、张文豪热情接待了黄书记一行。2013年4月26日下午4时...

  • 时政简讯1111111118
    时政简讯1111111118

    本报崇左讯 3月20日下午,我市召开关于开展国家区域政策和规划中期评估试点工作动员会,对相关工作进行安排部署。市委常委、常务副市长冯学军出席会议并讲话。(陆巍)本报崇左讯 3月20日下午,市委办召开专题学习会,学习全国两会精神。会议要求办公室人...

  • 习近平欧洲之行用自信唤醒欧洲对中国的重新认识延边新闻报道
    习近平欧洲之行用自信唤醒欧洲对中国的重新认识延边新闻报道

    韩毓海2014年4月21日,央视播出习近平访问欧洲特别报道节目——《一桥飞架中欧》,详细讲述了习近平的欧洲之行,以及中国与欧洲的关系发展。令许多观众看得激情澎湃。在世界制度和国际关系格局发生重要变革的历史时刻,习近平主席对于欧洲五国的访问,掀开...

  • 长春一小区居民饭锅烧焦以为着火消防赶到一场虚惊
    长春一小区居民饭锅烧焦以为着火消防赶到一场虚惊

    [导读]9月2日8时16分,立即出动两台消防车赶赴现场。9月2日8时16分,长春市绿园区吉达花园小区一居民报警称,位于小区20栋二楼一住户家中有烟味窜出,请求消防官兵到场处置。绿园消防大队客车厂中队官兵得知情况后,立即出动两台消防车赶赴现场。中队官兵到...

  • 鸿飞新歌一直没有爱过我实力征服听众
    鸿飞新歌一直没有爱过我实力征服听众

    鸿飞再出新歌《一直没有爱过我》实力征服听众搜狐娱乐讯 近年在歌坛异常活跃的青年歌手鸿飞7月22号又发行了他的单曲《一直没有爱过我》,歌曲自上线之后受到了大家一致好评,而鸿飞也凭借这首的作品和他今年积攒的人气再一次的笑傲新歌榜,就算是...