你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STWINKT1B 评测】6. NanoEdge AI 音频分类器 (2)

[复制链接]
jundao721 发布时间:2024-10-28 22:32
4 h6 L# \  S: t
     继续昨天的分享。打开NanoEge AI studio后,单击n-Class Classification选择它作为项目类型,新建项目;然后单击“CREATE NEW PROJECT”来创建项目。不同的软件版本,界面会有一些差别。建立新的项目名称,如图1所示:3 W. P+ E1 M6 k
2.png * o6 Q( L( G: G$ L3 z' [7 a
图1
% G0 @( _. f+ X5 y3 _" J
+ x6 Z  n) Y4 M+ j& LName中输入项目名称,暂输入STWIN-DTMF。 选择板卡,选择麦克风,点击Next,进入第二步signals,点击Add signals,弹出的对话框中选择From serial(USB).然后弹出import signal窗口,如图2所示:
1 E( Y& v1 W) Q- d- ^ 7.png
- d0 D! t! s  g图27 D" u( D# W( y- ^
选择端口,波特率选择921600,maximum number of lines 选择200,采样数选大一点会更好。class name 修改为key1,如果这个地方是file name,可能有些步骤有点问题,会影响会面的程序。OK,打开手机音频发生器,长按1,放到板卡的麦克风附近,静止或移动都可以。点击软件的START/STOP开始采样,直到采样完毕,点击Continue。采样完毕如图3所示:
2 r3 d% r4 g$ f' c  K 3.png
( Q# L! a+ d9 P6 M. n- G图3, i# V6 J- f) @8 H2 W, X9 r' C; Y
1 q3 u* M1 U0 {4 K
这里暂时之采样1和2的声音。/ C8 V# N; r& l* y6 M& s$ Y" Y
进入第三步benchmark,如图4所示:
7 J4 V2 q% a+ ?5 j" R$ D% Z) X 4.png 5 m$ x7 K' M4 m( X+ e! t6 r
图48 h2 X. x% d! R- O' Q+ C5 x

. I# S8 m8 e9 O点击开始,自动基准测试,当达到所需性能时,可以停止基准测试。进入第四步Validation,选择最好的一个可以进行验证,这里测试跳过。8 n! |9 h7 p5 D6 o2 n" C& w
进入第五步,Deployment,选择如图5所示:0 ?  [* g. \6 V& _
6.png 0 [) M5 M3 F' ?+ p
图5/ O! m# Y6 t' o9 `) E7 D) f

8 |% D3 J+ E; k. `& M. j6 B- U点击compile library,在弹出的对话框出保存库文件。
' ]. a2 z! |; }/ c解压缩库文件后,如图6所示:
& U9 M) f6 S' w9 k! V8 N 11.png 2 q% ^1 {& P/ s% \8 ^5 g8 ~, L
图11
9 u( Q. U, _, p1 b/ K. j- N- C) Z" i4 I" _- U
用于分类的 NanoEdge AI 静态库是包含 AI 模型(例如,作为信号处理、机器学习模型、优化调整的超参数等的集合)的代码,旨在识别某一类中的传感器模式。所有类别均由用户在 NanoEdge™ AI Studio 中定义,并在 AI 模型的训练过程中使用。; K* V: {) f. C1 Z2 ]
文件里libneai.a是分类器的C/C++静态库,knowledge.h是包含知识缓冲区声明的头文件,NanoEdgeAI.h是包含函数原型和示例声明的头文件。copy这三个文件替换掉下载STWIN_DTMF_Classifier\Core里的文件。使用STM32CubeIDE打开项目。
2 g4 R; ?0 u( j3 h& _将NanoEdgeAI.h中的部分代码copy到main函数/* USER CODE BEGIN PV */和/* USER CODE END PV */之间,如图7所示:' O. L% z7 ]8 G' Z! e% K# a4 P
8.png 2 M2 e, |8 `$ T' C; A
图7
3 x, W* m- @" P  V
' e9 y% ?/ Y' k然后进行编译,这里花了不少时间,一直提示no st-link detected。更新libusb-1.0.dll也不管用,最后AI提示在IDE的Help中有一个ST-LINK Upgrade,如图8所示:
5 w; y1 z/ X1 t 9.png
3 @# h5 _* ?) P. c图8
; U1 f5 B4 Z* r0 y6 S/ Z更新后就OK了。
5 G6 P7 a$ s) Y/ udownload程序后,打开Tera term,在选项用有一个串口,选择端口,波特率,如图9所示:. A8 {  Q2 g$ F' T6 ~. ]1 y$ _: a; e
10.png , q4 z2 ~3 v. ~
图9
6 u* ^' D% {. ^
& c+ \* K6 l- N9 K点击连接,可以看到不断的在输出。如图10所示:, t, n' y2 M' D/ q  l
11.png
" {, e3 ~1 S* V图106 V, `* R& E! z! Y
7 |4 q( x( O$ W- Z* b
打开声音发生器,靠近板卡,播放1,就会key1的位置,播放2,就会听到key2的位置。
  e. p5 D% p. g这就是整个的音频分类器的实现过程,可扩展性很强,代码可以自己继续修改,实现更好的显示和功能,也可以使用其他传感器,比如加速度,比如震动传感器继续学习,测试。期待下一个测试项目。9 W. A  D2 I4 V

+ S! ]( d3 P- @; d4 {4 X/ h
收藏 评论0 发布时间:2024-10-28 22:32

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版