首页 > 其他分享 >【正点原子i.MX93开发板试用连载体验】简单的音频分类

【正点原子i.MX93开发板试用连载体验】简单的音频分类

时间:2024-07-14 17:28:53浏览次数:17  
标签:频谱 识别 音频 开发板 正点 TensorFlow MX93 推理 模型

本文最早发表于电子发烧友论坛:

今天测试的内容是进行简单的音频分类。我们要想进行语音控制,就需要构建和训练一个基本的自动语音识别 (ASR) 模型来识别不同的单词。如果想了解这方面的知识可以参考TensorFlow的官方文档:简单的音频识别:识别关键词  |  TensorFlow Core

 

预训练模型来自Simple Audio Recognition on a Raspberry Pi using Machine Learning (I2S, TensorFlow Lite) - Electronut Labs,我在它提供的代码基础上进行了修改。NXP官方的Model Zoo也提供了类似的代码,不过它需要TensorFlow类,而开发板上默认提供Tflite runtime推理框架,所以我没有使用NXP的方案。

 

本模型使用 Speech Commands 数据集的一部分,其中包含命令的短(一秒或更短)音频片段,例如“down”、“go”、“left”、“no”、“right”、“stop”、“up”和“yes”。

 

数据集中的波形在时域中表示,通过计算短时傅里叶变换 (STFT) 将波形从时域信号转换为时频域信号,以将波形转换为[频谱图](频谱图_百度百科 (baidu.com)),显示频率随时间的变化,并且可以表示为二维图像。然后把频谱图图像输入您的神经网络以训练模型。

 

在前面提到网页中有模型训练的方法。这里采用的是已经训练好的模型。在模型推理部分,首先从wav文件中读取语音数据,如果是双声道的,只使用其中的一个声道。默认音频的采样率是16k,只提取音频中的1s数据进行测试。数据提取后,需要归一化,然后利用STFT转换为频谱图,再输入神经网络进行计算。

 

程序中使用了scipy库进行STFT处理,所以需要先安装scipy库,执行如下命令:

 
pip3 install scipy

我在i.MX 93开发板上运行了测试Python程序,它可以正确识别YES和NO。其中yes.wav是我自己录制的。

 



测试代码和wav文件参见*附件:simple_audio.zip

 

现在所用的模型是浮点的,只能用于CPU推理而不能使用NPU推理。如果希望使用NPU推理,需要将模型进行转换,并修改程序进行量化处理。

 

标签:频谱,识别,音频,开发板,正点,TensorFlow,MX93,推理,模型
From: https://blog.csdn.net/bit_mike/article/details/140332082

相关文章

  • 深入解析香橙派 AIpro开发板:功能、性能与应用场景全面测评
    文章目录引言香橙派AIpro开发板介绍到手第一感觉开发板正面开发板背面性能应用场景移植操作系统香橙派AIpro开发板支持哪些操作系统?烧写操作系统到SD卡中启动开发板的步骤查看系统提供的事例程序体验——开发的简洁性视频播放展示ffmpeg简介ffmpeg播放视频安装ffmpeg......
  • 百问网全志D1h开发板红外控制LVGL界面切换
    红外控制LVGL界面切换1.测试红外功能1.1配置设备树查看原理图:可以看到红外对应的引脚号是PG16。进入目录:cd/home/ubuntu/tina-d1-h/device/config/chips/d1-h/configs/nezha/linux-5.4修改board.dts:vimboard.dts修改引脚:以下节点是红外接收的设备树节点,没......
  • IIS数字功放MAX98357开发板/评估系统
    前言MAX98357中文介绍请访问下行链接MAX98357、MAX98357A、MAX98357B小巧、低成本、PCMD类IIS放大器,具有AB类性能中文说明规格书一般描述MAX98357开发板(DEV板)是一个完全组装并经过测试的PCB,用于评估MAX98357I2S数字输入D类功率放大器。DEV板采用2.5V至5.5V单直......
  • 51单片机嵌入式开发:Protues开发板仿真平台制作
    Protues开发板仿真平台制作1软件配置2软件配置3初步建的工程及所用器件列表4测试代码5Protues中常用器件对应位置。Protues开发板51开发板的制作1软件配置2软件配置新建protues工程在所有的.C文件夹中,在仿真时可以看到执行的代码位置,目前按路径观察到......
  • 鸿蒙OpenHarmony南向/北向快速开发教程-迅为RK3568开发板
    鸿蒙OpenHarmony南向/北向快速开发教程-迅为RK3568开发板 大家期待已久的迅为RK3568开发板终于迎来了鸿蒙4.1系统的强势支持!想知道如何实现快速开发学习吗?跟着我们一起来探索吧!    迅为RK3568开发板:     想象一下,你手中的RK3568开发板能够轻松运行鸿蒙4.1......
  • 韦东山IMX6ULL Linux开发板基于Buildroot系统QT应用环境配置开发运行
    @目录一.编译系统1.设置交叉编译工具链2.编译系统二.QT下载1.安装Qtcreator2.创建第一个程序3.配置QtCreator开发环境4.移植QT程序到开发板一.编译系统1.设置交叉编译工具链exportARCH=armexportCROSS_COMPILE=arm-buildroot-linux-gnueabihf-exportPATH=$PATH:/hom......
  • 电赛开发板之c2000 f28069m开发环境配置与报错because its compiler definition is no
    1.CSS报错Seedetailsbelow...  Error:Importfailedforproject'Example_2806xECap_Capture_Pwm'becauseitscompilerdefinitionisnotavailable.PleaseinstalltheC2000v22.6compilerbeforeimportingthisproject-click'View>CCSA......
  • BPI-M4 Berry 远程连接开发板
    使用SSH远程1、需要使用到软件mobaxterm,请前往官网(https://mobaxterm.mobatek.net/download.html?spm=wolai.workspace.0.0.768c378fz9RNFi)进行下载2、将开发板启动,并使用网线连接路由器,或者与你的电脑连接。打开mobaxterm。点击左上角的"session"图标3、选择第1个图标"SSH"......
  • 嵌入式GDB调试Linux C程序或交叉编译(开发板)
    目录简介开始使用电脑端准备安装gdb1.编译带调试信息的可执行文件2.进入gdb3.启动程序常用命令设置断点:进入函数打印数值结束常用命令l回车键bCSnpq参考文档1、安装gdb。2、gdb的简单使用。(1)在可执行文件中加入源码信息(2)进入gdb(3)gdb调试常用命令[1]start[2]单步执行(n......
  • ASRPRO语音控制开发板
    近来想做语音控制,于是拼多多上淘了块语音控制开发板,记录下开发板相关的信息。1.开发板信息模块概述开发板板载CH340K芯片,一根Type-C线就可以下载程序,并且开发板上有自动断电电路可以实现一键下载。开发板需要外接喇叭,喇叭为PH2.0接口。下图为开发板实物图开发板引脚位置及......