详细解析设计ARM语音识别系统的步骤

分享到:

伴随高科技技能在军事范畴的广泛运用,武器装备也逐步向高、精、尖方向发展。传统的军事练习时间长,训练费用高,训练场地狭小,训练效果往往达不到预想的效果,对现代军事训练的要求已经不适应。为解决上述问题,模仿练习应运而生。为了进一步提高练习效果,本文利用智能语音交互芯片设计了一个模拟练习器的示教回放系统。教学演示系统通过给操作者生动的演示来规范操作者的操作流程和相应的操作表现,大大缩短了操作者的练习时间,提高了练习效果。回放系统记录操作练习过程中每一位操作者的口令、声音强度、动作、瞬间、动作表象等,待操作练习结束后再重复练习过程,以便操作者及时纠正自己的错误。示教系统也可理解为对规范操作练习进程的回放。该系统不需求虚拟现实技能的撑持,在小型的嵌入式系统上就能够完结。

1 系统原理
该模仿练习器由一台测控计算机和多台从设备构成。如图1所示。在此仅对一台从设备进行介绍,其硬件系统主要由测控计算机、Arduino mega2560 操控器、语音辨认单元、声强检测单元、语音组成单元、面板操控单元、仪器面板等构成。面板操控单元较为复杂,包含多种操控电路,在模仿练习中担任该从设备在Arduino mega2560 操控器的操控下完结整个练习进程,在示教与回放系统中完结对方才操作练习操作表象的重演,其详细电路规划在此不做介绍。

语音识别系统
语音辨认单元担任辨认操作人员的操作口令;声强检测单元担任检测声强巨细并以此作为判别是哪台从设备操作人员口令的依据;Arduino mega2560操控器担任监督仪器面板各元件的状况来辨认操作人员的动作,然后完结对操作练习进程的记载。各仪器的操作表象依据操作动作事前编制无需记载。在操作回放进程中,测控计算机依据所记载的数据,经过操控相应从设备的Arduino mega2560操控器重现所记载的操作进程。


2 单元系统规划
2.1 语音辨认单元规划
当时,语音辨认技能的开展十分迅速,依照辨认目标的类型能够分为特定人和非特定人语音辨认。特定人是指辨认目标为专门的人,非特定人是指辨认目标是针对大多数用户,通常需求收集多自己的语音进行录音和练习,经过学习,然后到达较高的辨认率。


这篇文章选用的LD3320语音辨认芯片是一颗依据非特定人语音辨认(Speaker Independent Automatic SpeechRecognition,SI ASR)技能的芯片。该芯片上集成了高精度的A/D 和D/A 接口,不再需求外接辅佐的FLASH 和RAM,即能够完结语音辨认、声控、人机对话功用,供给了真实的单芯片语音辨认解决方案。而且,辨认的要害词语列表是能够动态编辑的。其语音识别过程如图2所示。

语音识别系统


语音辨认单元选用ATmega168 作为MCU,担任操控LD3320完结一切和语音辨认有关的作业,并将辨认成果经过串口上载至Arduino mega2560 操控器。对LD3320芯片的各种操作,都必须经过寄存器的操作来完结,寄存器读写操作有2种方法(规范并行方法和串行SPI方法)。在此选用并行方法,将LD3320的数据端口与MCU的I/O口相连。
语音辨认流程选用中止方法作业,其作业流程分为初始化、写入要害词、开端辨认和呼应中止等。MCU的程序选用ARDUINO IDE编写,调试完结后经过串口进行烧录,操控LD3320完结语音辨认,并将辨认成果上载至Arduino mega2560操控器。其硬件连接图如图3所示。

语音识别系统

2.2 声强检测单元规划
在进行语音辨认时需求判别是某一台从设备操作人员的口令,为此规划声强检测单元电路,该电路仅需能够判别出相对声强的巨细,无需检测声级,对检测精度需求较低。


电容式MIC声响传感器将外部声响信号变换成电信号,经NE5532扩大电路进行扩大,将输入的微弱音频信号变换为具有一定幅值的电压信号,该电压信号经AC/DC有效值变换电路进行装换后进行再次扩大,最终由Arduino mega2560操控器的A/D进行采样。其间D1 端接Arduinomega2560操控器的A/D,INT1端接Arduino mega2560操控器的外部中止1.当外界声响信号大于预设的阈值时,三极管导通INT1端由高电平变为低电平发作外部中止,操控器呼应中止并进行A/D 采样,采样数据经均值滤波后保留,待测控计算机查询时上载该声强数据。


2.3 语音组成单元规划
TTS(Text To Speech)文本转语音技能是人机智能对话开展的趋势。依据TTS技能的语音系统无需事前录音就能够随时依据查询条件查出并组成语音进行播报,然后大大减少了系统维护的作业量。利用此技能,经过MCU或许PC机就能操控语音芯片发音。


这篇文章选用SYN6658中文语音组成芯片进行语音组成。SYN6658 经过UART 接口或SPI接口通讯方法,接纳待组成的文本数据,完结文本到语音(或TTS语音)的变换。操控器和SYN6658 语音组成芯片之间经过UART接口衔接,操控器经过串口通讯向SYN6658语音组成芯片发送操控指令和文本,SYN6658语音组成芯片把接纳到的文本组成为语音信号输出,输出的信号经LM386 功率扩大器进行扩大后衔接到喇叭进行播映。

语音识别系统


SYN6658语音组成电路选用芯片硬件数据手册供给的典型使用电路进行规划,在此不做介绍,功率扩大电路选用美国国家半导体出产的音频功率扩大器LM386进行扩大。


在进行语音组成时首要进行初始化,包含发音人挑选、数字处理策略、语速调理、语调调理、音量调理等。
因为该系统要模仿多人发音,所以不一样的从设备设置不一样的发音人及语调与语速以便于区别。初始化后等待测控计算机的语音组成指令,待收到指令后芯片会向上位机发送1字节的状况回传,上位机可依据这个回传来判别芯片当时的作业状况。

图片6


3 系统软件规划
示教与回放系统的软件规划包含测控计算机的软件规划和各从设备Arduino mega260操控器的软件规划。
测控计算机是整个系统的操控中心,其软件选用C#进行编写,在示教与回放系统中主要是对操作数据的记载以便依据所记载的数据对操作进程进行准确回放,需求记载的数据包含:各从设备操作人员的操作口令,操作动作,口令及动作时刻,各操作对应的操作表象。为简化记载数据,事前编制好各事情代码,记载进程只记载代码,大大提高程序效率。建立结构体如下:

语音识别系统


在操作练习进程中测控计算机每隔50 ms 对下位机进行操控及轮询,并记载反应数据,在数据记载时以50 ms 为一个单位。选用定时器对时刻进行操控。在回放进程中首要比对当时时刻和所记载的时刻,当所记载的时刻与当时时刻吻合时测控计算机操控下位机履行该事情,完结事情回放。


Arduino mega2560操控器担任接纳测控计算机的操控指令并履行指令,读取语音辨认成果,对声强数据收集和处理,操控语音组成单元进行语音组成等。Arduinomega2560 操控器选用串口中止的方法进行指令接纳。
测控计算机一旦正确接收到指令,就会执行并传回结果。如果测控计算机在限定的时间内没有得到回传结果,就会显示出故障,测控计算机就需要重新发送指令。下面显示了数据接收的流程。本文运用智能语音芯片对模拟练习器的示教与播放系统进行了设计,该系统目前还不能支持当前流行的虚拟现实技术,仅能支持 MCU操作。本系统还可用于小型便携设备,具有出色的使用前景。

语音识别系统

 

 

继续阅读
详细解析设计ARM语音识别系统的步骤

伴随高科技技能在军事范畴的广泛运用,武器装备也逐步向高、精、尖方向发展。传统的军事练习时间长,训练费用高,训练场地狭小,训练效果往往达不到预想的效果,对现代军事训练的要求已经不适应。为解决上述问题,模仿练习应运而生。为了进一步提高练习效果,本文利用智能语音交互芯片设计了一个模拟练习器的示教回放系统。教学演示系统通过给操作者生动的演示来规范操作者的操作流程和相应的操作表现,大大缩短了操作者的练习时间,提高了练习效果。回放系统记录操作练习过程中每一位操作者的口令、声音强度、动作、瞬间、动作表象等,待操作练习结