当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于Windows CE的语音口令识别系统的设计

  0 引言

  随着微电子技术的迅速发展,嵌入式系统在一些特定的专用设备上得到了广泛应用,通常这些设备的硬件资源(如处理器的运行速度、存储器的容量等)非常有限,并且对成本也有苛刻的要求,有时对实时响应要求也比较高,在数字信号处理芯片上已经实现了语音口令识别系统或语音口令识别系统的部分功能。语音口令识别技术与嵌入式系统的有效结合能够显示出其优势作用,但是也有很多有待进一步提高和改进之处,语音识别技术对运算速度和内存容量的要求都比较高,需要采用一些快速算法提高实时处理的性能。嵌入式微处理器的价格在不断下降,但是其性能却在不断上升,嵌入式系统目前已经广泛地应用于运算量比较大的系统和设备中,而其体积小和低功耗的特点使其能够发挥出更大的优势。

  论文给出一种基于嵌入式系统的语音口令识别系统的设计方案,硬件系统的核心芯片是嵌入式微处理器,语音口令识别算法采用连续隐马尔可夫模型,现有的非特定人语音口令识别系统中,多采用状态输出具有连续概率分布的连续隐马尔可夫模型CDHMM(Continuous DensityHidden Markov Model)[3]。操作系统则是采用的目前广泛使用的Windows CE 5.0。

  硬件电路的核心芯片是三星公司的嵌入式微处理器S3C2440AL,主频为400MHz。该微处理器具有低功耗、高性能等特点,广泛应用于便携式设备中。基于嵌入式系统的语音口令识别系统需要有接收语音信号的输入芯片配合麦克风实现将模拟语音信号转换成数字信号的功能,然后由嵌入式微处理器对输入的语音口令信号进行处理。完成语音口令信号输入功能的芯片采用的是PHILIPS公司的低功耗芯片UDA1341TS。操作系统采用的是Windows CE5.0。Windows CE 5.0是一个32位操作系统,具有模块化、结构化,能够支持超过1000个公共Microsoft Win32应用程序接口,并且与处理器无关等特点,为各种嵌入式系统和产品设计提供了一种可裁剪的、高效的、可升级的操作系统。

  1 系统设计

  1.1 硬件电路的设计

  论文给出的语音口令识别系统的硬件电路主要由嵌入式微处理器、存储器和语音口令输入芯片组成。核心芯片是嵌入式微处理器Samsung 32位S3C2440AL,其主频为400MHz,最高频率533MHz。64MB SDRAM,64MB的NAND FLASH存储器,用来存储操作系统文件等,2MB的NOR FLASH存储,为安装BIOS使用。

  S3C2440AL控制PHILIPS公司的UDA 1341TS完成输入语音口令信号的功能。该音频处理芯片由AD/DA转换、控制逻辑电路、可编程增益放大器(PGA)和数字自动增益控制器(AGC)以及数字信号处理器等部分组成,能进行数字语音处理。[!--empirenews.page--]

  对于一个基于嵌入式系统的语音口令识别系统,主要有以下几个要求:

  (1)完成语音口令识别功能时,需要系统对人所发出的语音口令做出快速的响应,然后给出相应的判断结果。

  (2)自动获得语音信号。语音口令识别系统一直处于随时接受语音口令的工作状态,无需人工操作就能将人的语音命令与环境噪声分离出来,舍弃静音信号和环境噪声信号部分,仅仅对有效的语音口令信号做处理和识别。

  (3)需要有足够的存储器容量存储操作系统文件和训练好的语音口令模型库以及存储大量数据的数据缓冲区。

  论文给出的语音口令识别系统选择高性价比的嵌入式微处理器S3C2440AL和64MB随机存储器和64MB的闪存来满足计算速度和数据缓存的要求。

  1.2 软件程序的设计

  选择Windows CE 5.0为语音口令识别系统的操作系统,Windows CE 5.0是一个多任务操作系统。开发工具主要有Platform. Builder 5.0和EVC++4.0。Platform. Builder5.0用于定制和开发内核,而EVC++4.0则用来编写基于操作系统的应用层程序,也就是算法执行程序与图形化界面,而图形化的界面使用MFC编写。

  由于语音口令识别系统算法的运算量比较大,所以为了能够加快运算速度,首先对Windows CE 5.0操作系统进行配置,需要将相应的板级支持包BSP(Board SupportPackage)导入到Platform. Builder 5.0,裁剪掉一些使用不到的资源,保留一些需要的资源,驱动的配置正确后,将配置好的操作系统内核装入到嵌入式平台中,然后进行应用程序的开发。

  语音口令识别系统分为训练和识别两个过程。训练时,语音口令信号首先经过预处理,然后提取语音特征参数,采用MFCC(Mel-Frequency Ceptral Coefficients)参数[4],然后建立此口令的连续隐马尔可夫(CDHMM)模型,把所有经过训练的语音口令的模型放在模型库中。

  在识别阶段,与训练时提取语音口令信号的特征参数一样,也要提取MFCC特征参数,然后与保存在语音口令模型库中的每一条语音口令模型相匹配,根据概率*分确定输出识别结果。语音口令识别系统的程序流程图如图1所示。[!--empirenews.page--]

  

  图1 语音口令识别系统的程序流程图。

  当语音口令识别系统采集到命令语音信号后,要提取参数,做出比较判断,调用相应语音口令识别算法。对每条语音口令信号,先切除静音,进行预加重处理,然后通过Hamming窗分帧,帧长和帧移分别为20ms和10ms,对每一帧语音信号提取16阶MFCC和△MFCC一共32维参数作为特征矢量。

  语音口令识别软件系统由许多不同的语音信号预处理、识别算法和其它子程序组成,为了实现参数的传递,每个程序执行后的参数以文件的形式输出,而这些程序的调用先后顺序和参数的输入输出文件的位置等都由一个主程序管理。

  在Windows CE中,编写可执行程序,需要调用应用程序编程接口API(Application Programming Interface)函数,并且要设定程序入口点。调用过程为:

  无论是进行语音口令训练还是语音口令识别操作,都需要对语音口令信号的采集和实时处理程序,所以对语音口令信号的采集和实时处理程序是语音口令识别系统软件中的重要部分之一。对于语音音频接口的管理是通过Windows CE 5.0里的API函数完成的,对语音口令信号的采集和实时处理程序流程图如图2所示。[!--empirenews.page--]

  

  图2 信号的采集和处理流程图。

  主程序在配置好初始化参数后,建立一个子线程,建立子线程有利于将静音检测的复杂运算过程和主程序的音频数据采集过程分开进行,以确保在静音检测时不会丢掉音频数据。与此同时,主程序开始采集数据,并存入到缓冲区。当预先设定好的缓冲区内的数据采集满后,会将所采集的数据交给子线程,子线程做静音检测判断。主程序会依然继续重新采集新的音频数据。对于子线程,子线程的任务是等待主程序发出命令,然后对数据做处理。如果检测到有语音口令的开始,会继续采集数据,得到完整命令语音口令信号,提取相应的特征参数。

  具体程序中有如下几个主要过程:

  (1)初始化参数设置:

  (a)FuncReturn=waveInOpen(&(Record_Buffer_Manager.hWaveIn),WAVE_MAPPER,&wFormat,(LONG)(RecordBufferFillProc),(DWORD)this,CALLBACK_FUNCTION);//首先要调用API函数打开音频设备接口,并且设置相应的回调(CALLBACK)函数(回调函数是操作系统在每次缓冲区存满后会自动访问的一个特殊函数)

  (b)Thread_process=AfxBeginThread((AFX_THREADPROC)RecordThreadProc,(LPVOID)this,THREAD_PRIORITY_NORMAL,0,0,0);//要为其单独建立一个线程,为了实现静音检测,在混杂着环境噪声的前提下,找出语音口令信号。

  (c)FuncReturn=waveInStart(Record_Buffer_Manager.hWaveIn);//打开音频数据流,开始录音。(缓冲区存满后,系统会自动访问回调函数)

  (2)主程序与子线程通信

  SetEvent(pRecord-》hRecordEvent );//发出信号,使得子线程函数得到命令,对采集到的音频流进行静音的检测判断。

  (3)在子线程内接收消息作出反应

  WaitForSingleObject(pRecord-》hRecordEvent,INFINITE);ResetEvent(pRecord-》hRecordEvent);//与回调函数的信号发出程序对应,接受信号,并重新设定状态,等待下一次信号。

  ……

  pRecord-》ProcessData((SAMPLE_TYPE *)pRecord-》pLeftData,……);//将得到的数据段进行处理,也就是真正执行静音检测的部分。

  (4)得到完整语音口令信号后提取特征参数。

  2 结束语

  论文建立了一种基于Windows CE的语音口令识别系统,并且对上升、下降等14条口令进行测试。实验结果表明,本语音口令识别系统达到了实时的要求,可以广泛应用于便携式设备中。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

立邦不断推动环境友好型涂料的创新研发,并将低温固化粉末涂料产品应用于煤矿设备领域。相较其他粉末涂料,立邦低温固化粉末涂料NPD-ACE -LT系列,全面降低了实现涂料理想固化效果所需的烘烤温度,使之所需的升温时间也大幅减...

关键字: 温度 PD D-A CE

云顶新耀宣布其合作伙伴Providence Therapeutics Holdings Inc.的mRNA新冠候选疫苗PTX-COVID19-B在评估其安全性、耐受性和免疫原性的II期研究中取得了积极的顶线结果。云顶新耀...

关键字: VI OV IDE CE

四季酒店集团2022年10月17日宣布任命Alejandro Reynal为CEO兼总裁,希望提高集团的数据应用能力,以提升业绩表现。在加入四季酒店之前,Reynal担任凯悦旗下度假村品牌Apple Leisure的总裁...

关键字: APPLE CE TE 电信

近日,一个存在于Windows Mark of the Web (MotW)中的零日漏洞被发现,并正在被攻击者积极利用。但有趣的是,在微软官方还没有对该漏洞做出修复之前,第三方平台0patch就提供了该漏洞的修复补丁。据...

关键字: PATCH Windows 微软 APP

科济药业宣布, 中国国家药品监督管理局已受理泽沃基奥仑赛注射液(zevorcabtagene autoleucel,研发代号:CT053)的新药上市申请。泽沃基奥仑赛注射液是一种用于治疗复发/难治多发性骨髓瘤的全人抗自体...

关键字: GEN RC EV CE

摩根大通(JPMorgan Chase)首席执行官戴蒙(Jamie Dimon)预测,美国经济可能在明年陷入衰退。他警告称,经济低迷可能在信贷市场引发“恐慌”,令美国股市价值再蒸发20%。花旗集团(Citigroup)首...

关键字: CE SE MORGAN GROUP

深圳2022年10月14日 /美通社/ -- 日前,国际独立第三方检测、检验和认证机构德国莱茵TUV大中华区(以下简称“TUV莱茵”)携手深圳驿普乐氏科技有限公司(以下简称“...

关键字: 充电设备 新能源汽车 CE PLAYER

(全球TMT2022年10月14日讯)富士通线上全球大会Fujitsu ActivateNow 2022于10月12日正式拉开帷幕。通过主题演讲、分组会议及客户圆桌对话等丰富内容,富士通在本次Fujitsu Activ...

关键字: 富士通 数字化 FUJITSU CE

北京2022年10月13日 /美通社/ -- CE Innovation Capital ("CEiC") 宣布完成对东南亚最大开放金融API平台Ayoconnect的投资。本次公司B+轮融资额为13...

关键字: API NEC IC CE

据全球最大石油生产商沙特阿美(Saudi Aramco)称,全球石油市场依然紧张。对于一个仍然严重依赖化石燃料的世界来说,这不是一个好兆头。沙特阿美CEO Amin Nasser表示,如今闲置产能非常低。如果亚洲重新开放...

关键字: NAS RAM SE CE

嵌入式教程

6897 篇文章

关注

发布文章

编辑精选

技术子站

关闭