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和各文件查看。
TAG: ESP32 S3开发板 全金属紧凑型UGV悬挂高强度弹簧3KG负载适用于DDSM210/400轮毂电机 27W 铜齿数字舵机 树莓派5宽电压电源 树莓派5 PCIE转NVME ESP32-S3开发板 2.8寸圆形LCD显示屏480x480 触摸屏 板载加速度与陀螺仪QMI8658传感器/SD卡槽/电池接口/RTC/MP3喇叭音频 适用于Arduino 移远SIMCom EG25-G GNSS全球定位4G通讯模块LTE Cat 4 PCI Express Mini Card 树莓派Pico 2 RP2350B RP2350-Linux迷你开发板PSRAM 树莓派5 SSD 树莓派18.5寸TypeC/HDMI/4K显示屏2160p电脑手机Xbox/PS4/Switch MaixPy文档简介 MPS2280 POE树莓派5 PCIE M.2 NVME SSD固态硬盘 Pi5 2280/2242/2230 树莓派5电源 树莓派CM5计算模块IO底板NANO A扩展底板Compute Module 5 ESP32电机驱动板 STLINK 35KG.CM大扭矩可编程360°磁编码器总线舵机 UART串口 ESP32-S3极客开发板 树莓派5 PoE供电带PCIe转M.2 NVMe SSD固态硬盘扩展板(B) 2280