ARM语音识别系统原理和软件规划
2022-09-23

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

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

  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,即能够完结语音辨认、声控、人机对话功用,供给了真实的单芯片语音辨认解决方案。而且,辨认的要害词语列表是能够动态编辑的。

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

  语音辨认流程选用中止方法作业,其作业流程分为初始化、写入要害词、开端辨认和呼应中止等。MCU的程序选用ARDUINO IDE编写,调试完结后经过串口进行烧录,操控LD3320完结语音辨认,并将辨认成果上载至Arduino mega2560操控器。

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

  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技能的语音系统无需事前录音就能够随时依据查询条件查出并组成语音进行播报,然后大大减少了系统维护的作业量。利用此技能,经过或许PC机就能操控语音芯片发音。

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

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

  在进行语音组成时首要进行初始化,包含发音人挑选、数字处理策略、语速调理、语调调理、音量调理等。

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

 3 系统软件规划

  示教与回放系统的软件规划包含测控计算机的软件规划和各从设备Arduino mega260操控器的软件规划。

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

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

  Arduino mega2560操控器担任接纳测控计算机的操控指令并履行指令,读取语音辨认成果,对声强数据收集和处理,操控语音组成单元进行语音组成等。Arduinomega2560 操控器选用串口中止的方法进行指令接纳。

  只要正确接纳到指令才会履行并回传成果,若测控计算机在限制时刻内未收到回传成果则标明发作错误,测控计算机需从头发送。

  这篇文章利用智能语音芯片规划了某模仿练习器的示教与回放系统,该系统不需求如今盛行的虚拟现实技能的撑持,仅在MCU的操控下就能够运转。该系统也能够在小型的便携式设备上完结,具有杰出的使用远景。

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 单片机
  • 嵌入式
  • MCU
  • STM
  • ARMSYS开发板上建立uClinux内核移植

      1.简述  针对“如何在以S3C44B0X为核心的ARMSYS开发板上建立uClinux内核移植”的一个总结,其内容包括对Bootloader的功能分析和u

    12-02
  • 80C51单片机的startup.a51程序模块的作用

    80C51在电源重置后(PowerOnReset)所执行的第一个程序模块并不是使用者的主程序main(),而是一个隐藏在KEIL-C51标准链接库中称为star

    12-01
  • 如何使用AVR单片机写入TEA5767数据

    #include#include#defineucharunsignedchar#defineuintunsignedint#defineulongunsign

    12-01
  • STM32单片机的代码是怎么升级的?

    bootloader设置:staticvoidcheck_boot_mode(void){uint32_tJumpAddress;void(*Jump_To_A

    12-01
  • AVR单片的外部中断应用设计

    #include#include#includeinterrupt.h》voidport_init(void){DDRB=0xff;PORTB=0xff;DDR

    12-01
  • 单片机程序控制指令解析

    表程序控制指令操作码操作数条件转移地址说明AJMPaddr11无条件(PC)←(PC)+2(PC)0-10←addr11短转移,只改变PC的低11位,转移范围2

    12-01
  • 详解51单片机内部结构及功能

    学习单片机的内部结构之前,我们先了解下我们现在正在使用的计算机的几大组成部份:计算机的五个组成部份:运算器:用于实现算术和逻辑运算。计算机的运算和处理都在这里进

    12-01
  • 51单片机NVIC中断控制设计

    对于NVIC的任务,可以概括为三个:1.配置中断向量表--如果不配置,则不能进入中断SCB-》VTOR2.配置系统中断分组--决定了第一和第二优先级各占用的位数

    12-01
  • 51单片机怎么进行加减法计算?

    开发工具:keil仿真工具:proteus代码如下:头文件:inc_all.h1#ifndefINC_ALL_H_2#defineINC_ALL_H_34vol

    12-01
  • 介绍MSP430单片机的端口

      一、端口的定义  端口号是标识主机内唯一的一个进程,IP+端口号就可以标识网络中的唯一进程。在我们通常用的Socket编程中,IP+端口号就是套接字  端口

    12-01
  • PIC单片机开发的几个问题

      PIC单片机在国内日益流行,本文介绍MicrochipPIC系列单片机开发过程中软、硬件设计的一些经验、技巧。  由美国Microchip公司生产的PIC系

    12-01
  • C8051Fxxx程序丢失问题的分析

      1C8051Fxxx单片机简单介绍和Flash结构  C8051Fxxx系列器件是SiliconLabs推出的一个高速单片机系列。这款单片机是完全集成的混合

    12-01
下载排行榜
更多
广告