TensorFlowLite 声音识别

news2024/11/19 15:21:31

开发

添加tensorflow的核心依赖

implementation 'org.tensorflow:tensorflow-lite-task-audio:0.4.0'

将训练模型放到main/assets文件夹下

在这里插入图片描述

在build.gradle中配置

因为打包时tflite文件可能会被压缩,所以需要配置如下

    buildFeatures {
        viewBinding true
    }
    androidResources {
        noCompress 'tflite'
    }

添加音频录取权限

   <uses-permission android:name="android.permission.RECORD_AUDIO" />

在这里插入图片描述

读取模型

// Create the classifier and required supporting objects
classifier = AudioClassifier.createFromFileAndOptions(context, currentModel, options)

创建TensorAudio

tensorAudio = classifier.createInputTensorAudio()

创建AudioRecord

recorder = classifier.createAudioRecord()

不断获取AudioRecord的数据

tensorAudio.load(recorder)

进行数据分析

val output: MutableList = classifier.classify(tensorAudio)

获取最终的结果

listener.onResult(output[0].categories, inferenceTime)

通过回调获取数据

在这里插入图片描述
项目Demo

模型训练

使用 YAMNet 进行声音分类

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/641275.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023 开放原子全球开源峰会高峰论坛成功举办

6 月 11 日&#xff0c;以 “开源赋能&#xff0c;普惠未来” 为主题的 2023 开放原子全球开源峰会高峰论坛在北京成功举办。工业和信息化部相关司局、北京市经济和信息化局、北京经济技术开发区管理委员会相关领导出席并致辞。 北京市经济和信息化局副局长王磊在致辞中表示&am…

4、5类LSA案例

拓扑 需求 实现PC1和PC3互联互通 配置步骤 1&#xff09;配置接口信息 - 配置PC的IP地址 - 配置路由器的接口 2&#xff09;配置OSPF单区域 - 创建ospf进程&#xff0c;定义router-id - 指定相应区域 - 宣告网段进入ospf 3&#xff09;配置OSPF多区域 4) R6配置去往PC3的静…

Matlab论文插图绘制模板第103期—分组散点图

在之前的文章中&#xff0c;分享了Matlab散点图的绘制模板&#xff1a; 进一步&#xff0c;再来分享一下分组散点图的绘制模板。 先来看一下成品效果&#xff1a; 特别提示&#xff1a;本期内容『数据代码』已上传资源群中&#xff0c;加群的朋友请自行下载。有需要的朋友可以…

【裸机开发】按键输入实验

目录 一、硬件原理分析 二、寄存器分析 1、时钟源初始化 2、设置 IO 复用 3、初始化 IO 复用引脚&#xff08;设置电气属性&#xff09; 4、初始化GPIO 三、汇编代码&#xff08;start.s&#xff09; 四、公共头文件&#xff08;imx6u.h&#xff09; 四、C 代码编写 …

【6.13 代随_56day】 两个字符串的删除操作、编辑距离

两个字符串的删除操作、编辑距离 两个字符串的删除操作1.方法图解步骤代码 编辑距离1.方法图解步骤代码 两个字符串的删除操作 力扣连接&#xff1a;583. 两个字符串的删除操作&#xff08;中等&#xff09; 1.方法 确定递推公式 当word1[i - 1] 与 word2[j - 1]相同的时候 …

STL之list

目录 list模拟实现一. list的基本框架二. list_node类1.构造函数2.其他函数 三. 迭代器&#xff08;iterator&#xff09;1.结构2. 构造函数3. 运算符重载operator-> 四.反向迭代器1.结构2.构造函数3.运算符重载 五. list常用方法及实现1. 默认构造函数a.empty_init 2.迭代器…

8. WebGPU 平移变换

我们将开始编写与顶点缓冲区文章中的示例类似的代码&#xff0c;但这次将绘制单个 F 而不是一堆圆&#xff0c;并使用索引缓冲区来保持数据更小。 让我们在像素空间而不是裁剪空间中工作&#xff0c;就像 Canvas 2D API 我们将制作一个 F&#xff0c;将从 6 个三角形构建它 …

啥?PCB拼版对SMT组装有影响!

PCB为什么要拼版&#xff1f; 拼版主要是为了满足生产的需求&#xff0c;有些PCB板太小&#xff0c;不满足做夹具的要求&#xff0c;所以需要拼在一起进行生产。 拼版也可以提高SMT贴片的焊接效率&#xff0c;如只需要过一次SMT&#xff0c;即可完成多块PCB的焊接。 同时也可…

你知道ai绘画工具都有哪些吗?ai画图的软件分享给你

大家好&#xff01;你有没有想过&#xff0c;如果我们能有一种神奇的工具&#xff0c;可以帮助我们实现想象中的绘画作品&#xff0c;该有多好呢&#xff1f;现在&#xff0c;随着人工智能的发展&#xff0c;我们可以借助ai绘画工具来探索艺术的奇妙世界了&#xff01;不过你是…

又双叕搞事?我拿着这份“满级”的JVM笔记,拼进了阿里

JVM JVM&#xff0c;一个熟悉又陌生的名词&#xff0c;从认识Java的第一天起&#xff0c;我们就会听到这个名字&#xff0c;在参加工作的前一两年&#xff0c;面试的时候还会经常被问到JDK&#xff0c;JRE&#xff0c;JVM这三者的区别。 JVM&#xff08;Java Virtual Machine…

汽车IVI中控开发中视频相关的一些知识点

前言: 视频最早的渊源来源于电视。做汽车仪表/IVI中控,尤其是IVI信息娱乐部分,都要涉及到视频这个知识点,各种概念很多,首先需要明确一条主线,那就是SDTV标清电视->HDTV高清电视->UHDTV超高清电视的一个发展脉络,BT601/656是SDTV标清电视接口,BT1120则对应HDTV高…

ShardingSphere

一、基本概念 1、什么是ShardingSphere 1、一套开源的分布式数据库中间件解决方案 2、有三个产品&#xff1a;Sharding-JDBC和Sharding-Proxy、Sharding-Sidecar 3、定位为关系型数据库中间件&#xff0c;合理在分布式环境下使用关系型数据库操作 2、分库分表 1什么是分库…

文物和古建筑防雷综合解决方案

文物和古建筑作为珍贵的历史遗产&#xff0c;需要受到专业的防雷保护&#xff0c;以保持其完整性和安全性。本文将介绍详细的文物和古建筑防雷方案和措施&#xff0c;包括避雷针安装、接地系统建设、监测技术和定期维护等。 引言&#xff1a; 文物和古建筑承载着珍贵的历史记忆…

防雷抗浪涌插排插座推荐,同为科技(TOWE)防雷桌面PDU安全可靠

同为科技TOWE双排防雷抗浪涌桌面PDU插座 随着夏天天气越来越热&#xff0c;强对流天气增多&#xff0c;雷雨天气频发。在雷电季节&#xff0c;通常影响家用电器安全的主要原因是由于雷电感应的侵入&#xff0c;特别是对绝缘强度低、过电压耐受力差的微电子产品影响甚大。而所谓…

JVM笔记(二)

JVM内存管理 在之前&#xff0c;我们了解了JVM的大致运作原理以及相关特性&#xff0c;这一章&#xff0c;我们首先会从内存管理说起。 在传统的C/C开发中&#xff0c;我们经常通过使用申请内存的方式来创建对象或是存放某些数据&#xff0c;但是这样也带来了一些额外的问题&…

一次XxlJob调度任务重复执行的问题排查

目录 东老师的问题1. 为什么会重复执行2. 为什么时间间隔改为1min就不会重复执行** 开始排查先看下任务配置 任务第一次执行排查执行类 》JobThreadJobThread的核心逻辑1.循环消费 一个阻塞队列 不断的去消费队列中TriggerParam 这个参数2.看下TriggerParam&#xff0c;这正是我…

硬件学习 软件 Cadence day10 查看网表导入进度,钻孔保护等一些操作

1. 查看网表导入状态。 2. 放置元器件 之前 画板框 3.放置元器件 4.把导入的DXF 文件变成板框 1.首先导入DXF文件 2. 点击按钮 3. 鼠标点击需要 调整为板框的地方 3.1 其中包括边框 3.2 固定的钻孔 5.给钻孔打上保护&#xff08;防止布线的时候区域错误&#xff0c;在固定的时…

12. AbstractQueuedSynchronizer之AQS

12.1 前置知识 ● 公平锁和非公平锁 ○ 公平锁&#xff1a;锁被释放以后&#xff0c;先申请的线程先得到锁。性能较差一些&#xff0c;因为公平锁为了保证时间上的绝对顺序&#xff0c;上下文切换更频繁 ○ 非公平锁&#xff1a;锁被释放以后&#xff0c;后申请的线程可能会先获…

第58讲:Python编程中最难以理解的递归函数核心概念以及应用案例

文章目录 1.递归函数的概念2.递归函数的使用2.1.案例一2.1.1.需求描述2.1.2.使用常规的循环来实现2.1.3.使用递归函数实现 2.2.案例二2.2.1.需求描述2.2.2.使用常规的循环来实现2.2.3.使用递归函数实现 3.使用递归函数计算阶乘3.1.阶乘的概念3.2.使用递归函数实现阶乘的算法3.3…

分布式Profinet IO模块

PROFINET IO模块是一种用于工业自动化控制系统中的设备控制模块。它使用以太网技术&#xff0c;在现场设备和处理器/控制器之间提供快速、精确和可靠的数据交换。PROFINET IO模块通常是面向过程的&#xff0c;可以用于监测和控制工业过程中的各种设备和参数&#xff0c;如传感器…