一、说明
这是一个关键词识别的例程,利用Grove Vision AI V2开发板上的麦克风录制环境中的音频文件,再利用ARM's KeyWord Transformer model识别出音频中的关键词,目前能识别出"yes" "no" "left" "right"等单词。
代码路径:EPII_CM55M_APP_S/app/scenario_app/kws_pdm_record。
二、编译
以下过程是在linux环境下开发。
1、改变APP_TYPE
修改EPII_CM55M_APP_S/makefile文件,将文件中的APP_TYPE赋值为kws_pdm_record:
APP_TYPE = kws_pdm_record
2、导入编译工具的环境变量
执行以下命令:
export PATH="$HOME/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/:$PATH"
3、编译
cd到EPII_CM55M_APP_S目录,然后执行make clean,再执行make:
cd EPII_CM55M_APP_S
make clean
make
如果之前编译过其它应用,必须执行make clean,不然编译会失败。
三、生成镜像
请参照Himax SDK Download and Build-CSDN博客的3.4节。
四、烧写镜像和模型文件
这个例程除了烧写output.img镜像,还需要将模型文件kwt1_relu_mfcc_fvp_aligned_vela.tflite烧写到指定的FLASH地址。这里在windows上通过执行python代码的方式来烧录,具体的烧录过程见Seeed_Grove_Vision_AI_Module_V2/xmodem /xmodem_send.py文件。
1、准备文件
将Seeed_Grove_Vision_AI_Module_V2中的xmodem、model_zoo两个目录及目录下的文件下载到本地磁盘,这里是存在A盘根目录,再将第三节生成的output.img镜像存放在xmodem所在目录的output文件夹下。
2、安装所需的包
打开windows的命令窗口,进到xmodem所在的目录(这里是A盘根目录)执行命令:
pip3 install -r xmodem/requirements.txt
执行结果:
Collecting xmodem==0.4.7
Downloading xmodem-0.4.7-py3-none-any.whl (35 kB)
Collecting pyserial==3.5
Downloading pyserial-3.5-py2.py3-none-any.whl (90 kB)
|████████████████████████████████| 90 kB 146 kB/s
Installing collected packages: xmodem, pyserial
Successfully installed pyserial-3.5 xmodem-0.4.7
3、连接开发板
将Grove - Vision AI V2开发板通过USB线连接到电脑,然后查看设备管理器获取端口号(这里是COM3)。
4、执行烧写
python3 xmodem/xmodem_send.py --port=COM3 --baudrate=921600 --protocol=xmodem --file=output/output.img --model="model_zoo/kws_pdm_record/kwt1_relu_mfcc_fvp_aligned_vela.tflite 0xB7B000 0x00000"
执行结果:
五、运行
烧写完镜像和模型文件后键盘输入'y',然后关闭cmd窗口,再打开串口助手工具查看例程运行日志:
“Label: on Score: 71 Label Index: 8 ”就表示识别到关键字"on"。
六、参考文档
简单的音频识别:识别关键词