硬核实战 | 基于Cortex-M85平台的KWS语音关键字识别测试应用

来源:RT-Thread操作系统 嵌入式开发 3 次阅读
摘要:本文分享基于 Titan Mini Board实现KWS语音关键字识别测试,分享应用Demo。代码详见附件完整工程, 导入Titan_Mini_wavplayer到打开工程即可。 download.eeworld.com.cn/detail/qinyunti/639204 目录 过程 测试 总结 获取同款硬件 1 过程 参考https://github.com/ARM-software/ML-K

本文分享基于 Titan Mini Board实现KWS语音关键字识别测试,分享应用Demo。代码详见附件完整工程, 导入Titan_Mini_wavplayer到打开工程即可。

download.eeworld.com.cn/detail/qinyunti/639204

目录

过程

测试

总结

获取同款硬件

1 过程

参考https://github.com/ARM-software/ML-KWS-for-MCU.git基于该项目训练的模型进行。

先下载该项目代码git clone https://github.com/ARM-software/ML-KWS-for-MCU.git

然后下载CMSIS 5.4.0:https://www.keil.arm.com/packs/cmsis-arm/versions/

项目中新建kws文件夹

添加以下代码到自己的工程

Deployment\Source下除了KWS_F746NG的所有子文件夹

CMSIS/DSP CMSIS/NN 都只要Include和Source子目录

simple_test main.cpp改为kws_app.cpp

工程目录如下

代码中使用了C++需要按照以下支持C++编译

使能C++支持

有编译报错按照如下处理

//__COMPILER_BARRIER();

改为

__ASM volatile("":::"memory");

rt-thread\components\libc\cplusplus\cxx_crt_init.c中

改为

#elif defined(__GNUC__)

如果工程目录看不到子文件夹和c++文件,按照如下配置

并设置对应的头文件包含路径,C和C++都要配置

工程中定义宏C和C++都要配置

ARM_MATH_CM7

__FPU_PRESENT=1

HAVE_CONFIG_H

其他详见代码

2 测试

添加shell命令

shell_func.c中添加

staticvoidkwstestfunc(uint8_t* param);

Shell中输入kws_test输入结果如下

还可以录音不同测试文件,通过shell导入到开发板

这里使用Audacity录音单声道16k的语音

"yes","no","up","down","left","right","on","off","stop","go"

波录->录制->录制

文件->导出音频

将文件导入到开发板

rxfile /yes.wav 55884

其他文件类似

增加测试命令

static void kwstestwavfunc(uint8_t* param);

Shell中输入kwstestwav /yes.wav

打印如下

其他关键字测试

3 总结

以上分享了KWS语音关键字识别测试,分享应用Demo。实践中可以将上述测试数据改为实时获取MIC数据。

相关标签: 暂无标签
相关推荐
评论区

登录后即可参与讨论

立即登录