查看完整版本: 基于ARM车载语音识别系统设计与实现

admin 发表于 2015-5-2 11:11:40

基于ARM车载语音识别系统设计与实现

      【摘要】在对车载语音识别功能的需求分析基础上,以语音识别过程为设计思路,提出一种以ARM为核心的嵌入式语音识别模块的设计与实现方案。系统核心处理器采用飞思卡尔推出的iMX27芯片,语音识别功能通过LD3320芯片实现,并采用嵌入式IAnux操作系统实现统一的任务调度和外围设备管理。
      【关键词】ARM;语音识别;LD3320
      1.引言
      随着汽车工业的发展以及电子市场的成熟,车载智能终端逐渐成为汽车重要的配套设备,另外,近年来,经济的繁荣也促使国内各地汽车数量急剧增加,人们的出行习惯也随之发生变化,人车共处的时间越来越长,因此,车载智能终端的功能从简单的行车导航多功能转变,但驾驶人员在行车过程中,面对繁复的界面进行功能选择操作,易造成安全隐患,因此本文提出基于ARM的车载语音识别系统设计方案, 旨在让驾驶人通过语音指令,操作智能终端,实现基本的导航、语音通信等功能,为安全驾驶提供保障。
      2.语音识别过程
      语音识别过程是首先将采集到的语音数据进行预处理, 以提高自然语言的识别率,并降低处理器对数据进行密集运算的处理量,然后再进行端点检测、语音特征提取,完成从采集到的语音数据波型中,分析并提取以时间为参照的语音特征序列,随后转换为可对比的信号参数,与系统语音模型库进行语言匹配,即可得出识别结果。
      3系统整体设计
      本系统由硬件、软件两部分构成,操作系统采用嵌入式Linux,为语音识别指令操作实现、车载智能终端功能实现提供基本的软件平台,硬件系统由语音识别部分、核心处理部分、外围电子设备部分构成,语音识别阶段由LD3320专用芯片在51级单片机的控制下完成,获取语音特征后,指令识别程序进行指令的对比识别,并通过指令操作系统程序调用诸如定位、导航、媒体播放、视频监控等应用程序,系统结构如下图l所示。


      4.硬件系统设计
      硬件系统主要包括系统主板、核心处理器、语音采拾器、语音识别芯片、语音控制单片机、存储器、电源等部分构成,详细介绍如下:
      4.1核心处理模块
      系统中,核心处理器既做语音指令识别、指令下达的核心部件,还是车载智能终端的核心,考虑车载智能终端的多功能性,例如定位导航、媒体播放、远程视频监控等,系统核心处理器采用飞思卡尔推出的iMX27芯片,利用其H.264硬件编解码模块可在车载智能终端上实现MPEG4、H.263及一136一电子tt界/2013 01/H.264视频流的高效处理,在能够支持语音识别功能的同时,还使智能终端产品达到D1(DVD画面质量,720×480的屏幕分辨率)分辨率。
      iMX27在处理H.264的同时占用极少的CPU的资源并提高了视频处理的性能,使核心有更多资源进行其它的应用,例如本系统的语音识别功能,另外,iMX27还具备非常灵活和丰富的标准接口、串行端口和扩展端口,实现与多种外部设备的连接,包括摄像头、显示器,还可以使用wi—Fi、蓝牙实现即插即用及无线互连的功能,通过增加适当的外围模块, 即可实现GPS定位、GPRS通信等应用。
      4.2语音识别模块
      目前语音识别方案,有针对特定人的语音识别技术,但用户无法自行修定识别内容,还有基于ARM的软件识别技术,即将采集到的语音数据,直接交由ARM平台上运行的软件进行处理、比对、识别,这种方案优点是可以附带庞大的语音模型库,适应范围较广,但对ARM硬件平台要求较高,软件设计也相对复杂,本系统根据设计目的,提出的解决方案是,采用专用的语音识别芯片LD3320完成语音识别功能,将识别后的少量数据通过串行通信接口传送给ARM处理器,再由软件执行判断并执行相应的功能,一方面仅需求少量的外围电子器件,即可完成非特定人、非特定人、孤立词、小词汇量的语音识别功能,另一方面也可减少对ARM硬件的需求,空余更多的资源用于处理其它功能项目,而且软件设计也可以相对简化。
      LD3320是由ICRoute公司生产的一种基于非特定人语音识别技术的专用芯片, 内置语音搜索引擎以及语音识别模型特征库,另外还包含一些外部电路,例如AD、DA转换器、音频输入输出接口等,不再需要存储器等外围器件,也不需要预置语音训练,将MIC接入LD3320的AD引脚上,再通过51级的MCU进行控制,就可以进行语音识别,经过实践,LD3320的语音识别稳定性较好,准确性基本保持在96%左右。
      51MCU主控制器采用Atmel公司生产的ATMEGA128芯片,其具备先进的RISC指令系统,包含133条指令,并且大多指令可以一个时钟周期内完成,执行效率高,内置128K字节的可编程Flash,4K字节的EEPROM, 以及多达64K字节的优化的外部存储器空间,足以满足语音识别的控制需求。
      主控制器主要完成需识别关键词语的拼音串通过设置寄存器的方式传入芯片内部,从而实现识别列表的动态编辑,每次可以设置50项候选识别句,每个识别句可以是单字,词组或短句。
      4.3存储器模块
      为存储更多的语音数据,可通过存储芯片来扩展系统的存储空间,本系统采用意法半导体推出的M25P16-VMF6P芯片,该芯片是16-Mbit(2M x 8)串行闪存,具有先进的写保护机制,支持速度高达50MHz的SPI兼容总线的存取操作。存储器主要用于保存声音素材。
      5.软件系统设计
      软件系统由两大部分构成, 一个是基于ARM平台的嵌入式Linux操作系统,主要为系统的实现提供基本的软件平台,另一部分是语音识别程序以及应用程序,主要完成语音的识别以及系统应用性功能。
      5.1操作系统
      本文采用可以支持ARM CPU,具有MMU功能的Linux操作系统,通过内核精简和裁减,并在实时性方面进行加强,以适应车载环境的应用需求。
      5.2语音识别程序
      语音识别程序的设计,主要基于LD3320系列产品开发手册,主要工作流程分为以下几个步骤:系统初始化、识别列表输入、语音识别、中断响应等。
      (1)系统初始化分为两个子步骤,分别通用初始化以及设备初始化,时钟频率、模式等参数在这一环节中进行设定。
      (2)识别列表输入,首先对需要识别的语音指令进行编码,按不同编号区分不同的条目,编号范围可以1-256之间选择,每
个条目采用标准普通化拼音作为语音参考模型,2个标准字汉语之间以空格进行填充。
      (3)语音识别,通过设置特定寄存器的值, 系统即可开始进行语音识别,语音识别的准确率与MIC的灵敏度设置有直接关系,根据实际环境条件,设置在40H~6FH可达到较好的效果。
      (4)中断响应, 设置系统捕捉~UMIC有信号产生,即产生中断,中断处理程序则根据LD3320寄存器的值对识别结果进行判
断, 以C5寄存器的值作为参考的正确结果。
      5.3指令执行程序
      指令执行程序运行的ARM平台上,负责监听ATMEGA128的串口数据,当接收到识别结果时,把该结果以二进制形式读出,通过预先设定的识别结果一执行指令对照表,查询应当执行的指令,并根据指令完成相应的操作。
      6.结论
      本文从整体、硬件、软件等几方面,深入讨论了基于ARM的嵌入式语音识别系统的设计和实现,并对各个组成模块的硬件电路及软件实现进行了详细的介绍。经实践,本文设计的语音识别系统在稳定性、识别率方面有较好表现,配合车载智能移动终端,有较强的实用性。
      参考文献
      张戟,杨腾飞.车载自动语音识别系统设计Ⅱ].佳木斯大学学报(自然科学版),2011,29(2):201—205.
      

李小路 发表于 2020-10-1 17:13:07

谢谢分享!:D
页: [1]
查看完整版本: 基于ARM车载语音识别系统设计与实现