继续昨天的分享。打开NanoEge AI studio后,单击n-Class Classification选择它作为项目类型,新建项目;然后单击“CREATE NEW PROJECT”来创建项目。不同的软件版本,界面会有一些差别。建立新的项目名称,如图1所示: 图1 - H0 ^5 _, F+ j: u& p( H+ v7 J7 K Name中输入项目名称,暂输入STWIN-DTMF。 选择板卡,选择麦克风,点击Next,进入第二步signals,点击Add signals,弹出的对话框中选择From serial(USB).然后弹出import signal窗口,如图2所示:# G! Q0 f3 M7 ]- A1 T+ q* Y) V 图2 选择端口,波特率选择921600,maximum number of lines 选择200,采样数选大一点会更好。class name 修改为key1,如果这个地方是file name,可能有些步骤有点问题,会影响会面的程序。OK,打开手机音频发生器,长按1,放到板卡的麦克风附近,静止或移动都可以。点击软件的START/STOP开始采样,直到采样完毕,点击Continue。采样完毕如图3所示: 图3! t9 J2 ?5 }" N! R% L+ b/ E : u: T" @9 d1 M& l/ C 这里暂时之采样1和2的声音。- f! e! k' H! |, z! t- H 进入第三步benchmark,如图4所示: 图49 y b7 v# D! B9 ? 点击开始,自动基准测试,当达到所需性能时,可以停止基准测试。进入第四步Validation,选择最好的一个可以进行验证,这里测试跳过。5 l" F& a t7 ?; _ 进入第五步,Deployment,选择如图5所示: 图5& r& X, f0 W7 m) l 点击compile library,在弹出的对话框出保存库文件。0 H+ `( d0 J2 o3 V) }4 N* M 解压缩库文件后,如图6所示:/ b+ W$ K! ^- H: G8 i2 A, R7 q2 N! k 图11! Z) S. \8 u! Y % e L* ~5 c ]. @9 m" S. ` 用于分类的 NanoEdge AI 静态库是包含 AI 模型(例如,作为信号处理、机器学习模型、优化调整的超参数等的集合)的代码,旨在识别某一类中的传感器模式。所有类别均由用户在 NanoEdge™ AI Studio 中定义,并在 AI 模型的训练过程中使用。; x3 C1 N( Z! r8 L5 b/ C 文件里libneai.a是分类器的C/C++静态库,knowledge.h是包含知识缓冲区声明的头文件,NanoEdgeAI.h是包含函数原型和示例声明的头文件。copy这三个文件替换掉下载STWIN_DTMF_Classifier\Core里的文件。使用STM32CubeIDE打开项目。 将NanoEdgeAI.h中的部分代码copy到main函数/* USER CODE BEGIN PV */和/* USER CODE END PV */之间,如图7所示:7 m, P% t6 I- Z 图7 然后进行编译,这里花了不少时间,一直提示no st-link detected。更新libusb-1.0.dll也不管用,最后AI提示在IDE的Help中有一个ST-LINK Upgrade,如图8所示:' z \/ b8 _' r8 e 图8& t. }! Z3 H% T; |- t 更新后就OK了。* Q# u4 ?; c7 A$ o download程序后,打开Tera term,在选项用有一个串口,选择端口,波特率,如图9所示: 图9 点击连接,可以看到不断的在输出。如图10所示:3 p- A# S9 X4 x. B 图10 ( P5 ^1 c1 O( _8 h 打开声音发生器,靠近板卡,播放1,就会key1的位置,播放2,就会听到key2的位置。 这就是整个的音频分类器的实现过程,可扩展性很强,代码可以自己继续修改,实现更好的显示和功能,也可以使用其他传感器,比如加速度,比如震动传感器继续学习,测试。期待下一个测试项目。 |
【STWINKT1B 评测】5. NanoEdge AI 音频分类器 (1)
STWINKT1B评测】4.测试板载ISM330DHCX(6轴)
【STWINKT1B评测】-03-CoreMark跑分测试
【STWINKT1B评测】-02-串口-定时器LED灯测试
【STWINKT1B评测】-01-开箱和资料分享
【STWINKT1B评测】【一】开箱
【STWINKT1B评测】3.读写IIS2DH加速度传感器
【STWINKT1B评测】2.初步测试IIS3DWB振动传感器
【STWINKT1B评测】1.FreeRTOS下点灯
STM32L4 系列硬件开发入门