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