MAX4466采集音频使用瑞萨RAI语音识别控制灯光

分享作者:Mr_Fang
作者昵称:Mr_Fang
评测品牌:艾矽易
评测型号:声音传感器模块/GY-MAX4466
发布时间:2026-03-16 13:15:09
1
概要
MAX4466采集音频使用瑞萨RAI语音识别控制灯光
开源口碑分享内容

硬件

  • EK-RA6E2 开发板
  • GY-MAX4466 声音采集模块

软件

创建 RAI 项目

进入 https://portal.reality.ai/ 后登录账号,在首页创建新的项目:

pastedimage1773412379946webp

采集音频数据

在 hal_entry.c 中开启数据采集:

- #define DATA_COLLECTION_EN       (0)
+ #define DATA_COLLECTION_EN       (1)

点击工具栏锤头图标构建工程,日志出现 0 errors, 0 warnings. 即成功

新导入的项目要进入 Debug 模式,需要在“项目资源管理器”中找到该项目,右键菜单选择“调试方式”,选择最下方的 .elf 文件,之后调试直接点击工具栏 Debug 图标即可

pastedimage1773412892574webp

在顶部菜单打开数据采集工具:Renesas AI > Reality AI Utilities > Data Storage Tool

pastedimage1773413288561webp

点击 Settings 中的 Data connection... 按钮,选择 J-Link OB 的虚拟串口,波特率设置为 115200,点击 Connect

pastedimage1773413576164webp

在 Manage capture data files 部分右侧 Data file group 中新建一个 metadata 文件

pastedimage1773413743863webp

在工具栏中开始执行程序,稍等片刻即可在 Signal view 中看到采集到的数据波形图

pastedimage1773413886007webp

在 Class name 中输入/选择标签,点击 Start new capture 按钮开始采集数据,点击 Stop capture 按钮结束采集

pastedimage1773414102515webp

语音控制开关灯需要采集两种语音:开灯(kaideng)、关灯(guandeng),以及背景噪音(default

采集完成后选择所有数据,点击 Upload 按钮上传,选择最开始创建的项目等待上传完成

pastedimage1773414551836webp

使用 RAI 训练模型

处理源文件

进入源文件界面处理上传的源文件,全选后点击 Format

pastedimage1773414664777webp

忽略源文件中的第一列(index),只使用第二列数据训练模型,调整好后滚动到弹窗最底部,点击 Confirm 按钮即可

pastedimage1773414742876webp

创建数据集

进入 Curate 界面,全选源文件,点击 Create New Data Set 创建数据集

pastedimage1773414942158webp

创建好数据集后,进入数据集界面创建样本列表

pastedimage1773415128594webp

将窗口长度设为 512 数据点,窗口滑动 50%

pastedimage1773415245545webp

训练模型

进入 Classes 界面,选择刚刚创建的样本列表,点击最下方的 Start exploring 开始训练模型,等待完成即可

pastedimage1773415335903webp

完成后选择模型点击 Create Base Tool 创建工具

pastedimage1773416165285webp

进入部署页面,选择创建的基础工具,新建包,设置一个名称,输入数据类型选择 float32 (float),目标设备选择开发板 EK-AR6E2,选择 M33F FPU hard fp abi,工具链按 e2studio 的工具链设置

pastedimage1773416395105webp

pastedimage1773416462931webp

代码生成后下载即可

部署模型到单片机

将下载到的代码压缩包中如下图所示的几个文件复制到 e2studio 工程的 rai 目录,参考示例代码修改 hal_entry.c 中的程序实现语音控制开关灯功能

pastedimage1773417045228webp

pastedimage1773417238197webp

关闭数据采集:

- #define DATA_COLLECTION_EN       (1)
+ #define DATA_COLLECTION_EN       (0)

核心程序:

AIC = voice_predict(inputData);

switch(AIC){
    case(voice_no_results):
        SEGGER_RTT_WriteString(0, "no_results\r\n");
          break;
     case(voice_default):
         SEGGER_RTT_WriteString(0, RTT_CTRL_TEXT_GREEN "Default\r\n" RTT_CTRL_TEXT_WHITE);
         break;
     case(voice_guandeng):
         R_BSP_PinWrite(LED1_GREEN, BSP_IO_LEVEL_LOW);
         SEGGER_RTT_WriteString(0, RTT_CTRL_TEXT_CYAN "Guan Deng\r\n" RTT_CTRL_TEXT_WHITE);
         break;
     case(voice_kaideng):
         R_BSP_PinWrite(LED1_GREEN, BSP_IO_LEVEL_HIGH);
         SEGGER_RTT_WriteString(0, RTT_CTRL_TEXT_MAGENTA "Kai Deng\r\n" RTT_CTRL_TEXT_WHITE);
         break;
}

修改完成后再次编译项目,烧录程序到单片机

展示视频

资料下载

FPBRA6E2_AMR_training2.zip


全部评论
暂无评论
0/144