LD3320语音模块—STM32使用教程

STM32使用教程

提供基于STM32F103RBT6的例程

硬件连接

我们提供的例程是基于STM32F103RBT6的,提供的连接方式也是对应的STM32F103RBT6的引脚,如果需要移植程序,请按实际引脚连接

STM32F103RBT6连接引脚对应关系
LD3320STM32
3.3V3.3V
GNDGND
MISOPA6
MOSIPA7
SCKPA5
NSSPA10
RSTPA9
WRPA8
IRQPB0

运行程序

例程是基于HAL库进行开发的。 下载程序,找到STM32程序文件目录。

使用Keil5打开LD3320 Board_code\STM32\LD3320_Demo\MDK-ARM目录下的LD3320_Demo.uvprojx,可看到程序,重新编译下载即可。
使用串口接收提示信息,上电会有RunASR表示语音识别准备好了,本例程预设了四个语音识别关键词:闪烁、流水灯、按键、播放,模块识别正确串口会有以下提示信息:

识别失败会有以下提示信息:

说出播放指令后:

解锁更多姿势请下拉查看开发攻略或查阅用户手册以及数据手册

开发攻略

如果需要添加识别关键词,只需要进行如下几个步骤:

  • LD3320_Driver.h文件中添加标识码


  • LD3320_Demo.c文件中的LD3320_test函数增加相应标识码的语句提示分支。


  • LD3320_Demo.c文件中的Board_text函数添加相应的动作处理分支。


  • LD3320_Demo.c文件中添加新的处理函数,去执行你想要做的事,例如流水灯:


  • 在LD3320_Driver.c文件的LD_AsrAddKey函数中的两个数组添加关键词和标识码,sRecog是关键词使用的汉语拼音,pCode是第1步中添加的标识码。DATE_A是关键词数量,最多可以为50,DATE_B为关键词的长度,可以根据需求更改。


  • 至此,语音识别功能已经开发完成,接下来是播放功能,注意:本模块的识别和播放功能不能同时进行。
  • 播放功能可以由语音识别触发,首先是添加关键词,不太清楚可以再看一遍上面的内容,本例程中使用了关键词“播放”进入了播放处理函数中。


  • STM32例程提供了从flash存取音频数据的方法,,在LD3320_Demo.c文件的Board_text函数中添加好处理函数


  • 在播放处理函数中依次进行给文件长度赋值,播放模式初始化,调节播放音量,开始播放。用户只需要修改nMp3Size的值和LD_play的参数,可到mp3.h中查看定义,用户有需要可以自行增加数组,mp3转hex方法见文末。LD_Adjust_Volume函数调节音量(音量范围为15-0)。


  • 修改完毕后保存退出,重新编译运行即可开始语音识别/播报之旅。
  • 本例程所有全局变量/宏定义/函数都有说明,请打开LD3320_Driver.c和各文件查看。