
语音识别模块
1、模块介绍
本模块是针对低成本离线语音应用方案开发的一款通用、 便携、 低功耗高性的语音识别模组,采用最新的 ASRPRO 芯片,支持语音识别、声纹识别、语音增强、语音检测等功能,具备强劲的回声消除和环境噪声抑制能力。更多详细内容可以访问模块官网(天问五幺http://www.twen51.com)
2、模块引脚
这个模块在我们系统中的作用主要是通过接收STM32单片机串口发送过来的命令,或者往STM32单片机发送命令。因此最主要的管脚就是串口。ASrpro模块有三个串口,我们都可以用作与STM32单片机之间的串口通信。
我们使用到的管脚主要是以下几个。
GND:接地
5V:D 电源
串口0(TX PB5, RX PB6)
串口1(TX PA2, RX PA3)
串口2(TX PA5, RX PA6)
MIC+,MIC-:接话筒
SPK+,SPK-:接小喇叭
3、编程方式
Asrpro语音识别模块是通过天问Block软件进行代码的编写与下载的,Asrpro模块的好处就是可以编写代码,也可以直接使用图形化编程。图像化编程可以自动转换为相应的C语言代码下载到Asrpro模块中非常的方便。工具可以直接从Asrpro模块官网下载。
可以看到Asrpro语音识别模块上面有三种模式,分别是配置模式、编程模式、字符编程。如果没什么特殊要求的话,直接使用编程模式就可以的。官网上有各种的配置教程,有兴趣的同学可以去了解一下。
4、程序下载
Asrpro语音识别需要单独下载程序,我们可以使用USB转TTL工具进行程序下载。
USB-TTL下载工具上面有TXD和RXD,连接到Asrpro的串口串口0(TX PB5, RX PB6)。TXD-PB6 。RXD-PB5。
代码下载步骤:
当我们的代码编写完成之后,首先需要生成模型。如果语音部分程序未做修改(播报音、唤醒词、命令词、回复词等未修改),只修改了程序逻辑则不需要生成模型,直接编译下载即可。生成模型功能仅操作修改了语音的模型合成、TTS合成,对代码逻辑程序等无影响。第一次下载程序一定要生成一下模型。
生成模型之后,就可以编译下载了。我们只要Asrpro模块连接USB转TTL工具就可以完成下载。
当点了编译下载之后,流程走到“请是否连接设备ASR-PRO”,此时流程会停在这里,在这个时候我们需要把Asrpro与usb-ttl直接连接的GND线进行拔插一下,使Asrpro模块重新上电,就会继续下载程序直至显示下载成功。
5、编程思路
Asrpro作为语言识别模块,它可以通过话筒接收到我们所说的指令,接收到指令后,就需要发送给单片机,单片机再执行相应的动作。比如说语言控制灯光打开,当Asrpro接收到“打开灯光”语音信息后,会将该指令转换为相应的字符发送给单片机,当单片机接收到这个字符时,就执行打开灯光的操作即可。
比如下面的代码,当Asrpro模块识别到对应的语音时,会转换为对应的标识ID,然后通过不同的标识ID给单片机发送不同的字符。单片机接收到不同的字符后就可以执行不同的操作。
同时呢,单片机也可以给Asrpro模块发送一些数据,Asrpro可以新建一个线程一直检测串口有没有收到数据,如果收到了数据,就根据识别到的数据执行相应的操作。