|
' R; v/ @3 v$ G! g 继续昨天的分享。打开NanoEge AI studio后,单击n-Class Classification选择它作为项目类型,新建项目;然后单击“CREATE NEW PROJECT”来创建项目。不同的软件版本,界面会有一些差别。建立新的项目名称,如图1所示:8 u% u$ U( d. J
图1 ' h( ?5 m) F& q7 f5 ?; w Name中输入项目名称,暂输入STWIN-DTMF。 选择板卡,选择麦克风,点击Next,进入第二步signals,点击Add signals,弹出的对话框中选择From serial(USB).然后弹出import signal窗口,如图2所示:
图29 g% Z5 N6 w' l& ~8 h1 Z 选择端口,波特率选择921600,maximum number of lines 选择200,采样数选大一点会更好。class name 修改为key1,如果这个地方是file name,可能有些步骤有点问题,会影响会面的程序。OK,打开手机音频发生器,长按1,放到板卡的麦克风附近,静止或移动都可以。点击软件的START/STOP开始采样,直到采样完毕,点击Continue。采样完毕如图3所示:4 X* c7 W+ q+ ~/ Z. Z1 q+ l
图3( e5 ?! ?$ a& z4 V4 ^/ }$ r& Y/ u/ @$ D 这里暂时之采样1和2的声音。, @" z0 G6 U+ K! Q- w3 v 进入第三步benchmark,如图4所示:
图4: @, Y4 ^6 {' E/ p) p) b 点击开始,自动基准测试,当达到所需性能时,可以停止基准测试。进入第四步Validation,选择最好的一个可以进行验证,这里测试跳过。 进入第五步,Deployment,选择如图5所示:
图5& A1 k- k( s5 y3 j : ?$ z7 v0 @8 c! A9 R 点击compile library,在弹出的对话框出保存库文件。& J! o1 W# o9 Y# K7 Q2 v- A( T& Z+ _ 解压缩库文件后,如图6所示:
图11 用于分类的 NanoEdge AI 静态库是包含 AI 模型(例如,作为信号处理、机器学习模型、优化调整的超参数等的集合)的代码,旨在识别某一类中的传感器模式。所有类别均由用户在 NanoEdge™ AI Studio 中定义,并在 AI 模型的训练过程中使用。 @9 s6 Q$ q9 f) Q 文件里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所示:$ [3 r8 @ M3 f1 N. @
图7 然后进行编译,这里花了不少时间,一直提示no st-link detected。更新libusb-1.0.dll也不管用,最后AI提示在IDE的Help中有一个ST-LINK Upgrade,如图8所示:# y* z6 f& I3 C! N2 G
图8 更新后就OK了。5 Q9 ]% W. [7 w download程序后,打开Tera term,在选项用有一个串口,选择端口,波特率,如图9所示:' n0 w. o a% S3 X0 d; s
图9 点击连接,可以看到不断的在输出。如图10所示:
图10 : ]$ ~& D/ v- B. o+ E5 s 打开声音发生器,靠近板卡,播放1,就会key1的位置,播放2,就会听到key2的位置。; T l6 b7 W' d2 I. s 这就是整个的音频分类器的实现过程,可扩展性很强,代码可以自己继续修改,实现更好的显示和功能,也可以使用其他传感器,比如加速度,比如震动传感器继续学习,测试。期待下一个测试项目。 |
STM32L4R9 QuadSPI Flash通讯速率优化解析 32位总线的DMA传输适配核心方案
【STEVAL-STWINKT1B评测】运行Datalog固件并记录运行时间
【STEVAL-STWINKT1B评测】数字麦/模拟麦对比测试+音频配套上位机软件开发
【板卡评测】STEVAL-STWINKT1B读取 ACC/GYRO/MAG 实时数据
小白也能明白的STM32的低功耗与唤醒机制
【STM32入门学习路径指南】(四步走)
STM32和Arduino对比,谁更耐打?
STM32系统中2种数据掉电保护的方法
STM32 LL为什么比HAL高效?
STM32小白入门指南:从基础到OTA实现方案
微信公众号
手机版