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

音视频及家电

734人已加入

描述

(文章来源:电子工程网)

伴着高新技能在军事范畴的大范围利用,武器装备逐渐向高、精、尖方面开展。传统的军事练习因为练习时刻长、练习费用高、练习空间窄,常常不能到达预期的练习作用,已不能满意现代军事练习的需求。为解决上述问题,模仿练习应运而生。

为进一步提高练习作用,这篇文章利用智能语音交互芯片规划了某模仿练习器的示教与回放系统。示教系统为操作人员生动的演示规范操作流程及相应的操作表象,极大地缩短了对操作人员的练习时刻,提高了练习作用。回放系统经过记载操作练习进程中各操作人员的口令、声响强度、动作、时刻、操作表象等,待操作练习结束后经过重演练习进程,以便操作者及时纠正自个的问题。示教系统也可理解为对规范操作练习进程的回放。该系统不需求虚拟现实技能的撑持,在小型的嵌入式系统上就能够完结。

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

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

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

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

语音辨认单元选用ATmega168 作为MCU,担任操控LD3320完结一切和语音辨认有关的作业,并将辨认成果经过串口上载至Arduino mega2560 操控器。对LD3320芯片的各种操作,都必须经过寄存器的操作来完结,寄存器读写操作有2种方法(规范并行方法和串行SPI方法)。在此选用并行方法,将LD3320的数据端口与MCU的I/O口相连。

语音辨认流程选用中止方法作业,其作业流程分为初始化、写入要害词、开端辨认和呼应中止等。MCU的程序选用ARDUINO IDE编写,调试完结后经过串口进行烧录,操控LD3320完结语音辨认,并将辨认成果上载至Arduino mega2560操控器。在进行语音辨认时需求判别是某一台从设备操作人员的口令,为此规划声强检测单元电路,该电路仅需能够判别出相对声强的巨细,无需检测声级,对检测精度需求较低。

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

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

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

SYN6658语音组成电路选用芯片硬件数据手册供给的典型使用电路进行规划,在此不做介绍,功率扩大电路选用美国国家半导体出产的音频功率扩大器LM386进行扩大。在进行语音组成时首要进行初始化,包含发音人挑选、数字处理策略、语速调理、语调调理、音量调理等。

因为该系统要模仿多人发音,所以不一样的从设备设置不一样的发音人及语调与语速以便于区别。初始化后等待测控计算机的语音组成指令,待收到指令后芯片会向上位机发送1字节的状况回传,上位机可依据这个回传来判别芯片当时的作业状况。示教与回放系统的软件规划包含测控计算机的软件规划和各从设备Arduino mega260操控器的软件规划。

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

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

Arduino mega2560操控器担任接纳测控计算机的操控指令并履行指令,读取语音辨认成果,对声强数据收集和处理,操控语音组成单元进行语音组成等。Arduinomega2560 操控器选用串口中止的方法进行指令接纳。只要正确接纳到指令才会履行并回传成果,若测控计算机在限制时刻内未收到回传成果则标明发作错误,测控计算机需从头发送。
     (责任编辑:fqj)

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分