首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android实时音频分析

Android实时音频分析
EN

Stack Overflow用户
提问于 2011-09-13 15:54:39
回答 3查看 20.1K关注 0票数 14

我已经在网上搜索过这个了,但我还是有点困惑(我相信如果其他人想到这样的事情,他们肯定会这么做)。我首先要说的是,这不是为了家庭作业和/或利润。

我想创建一个应用程序,可以在你准备爆米花的时候听你的微波炉。当pops之间有一定的时间间隔(比如5-6秒)时,它将通过发出警报来工作。再说一遍,这只是一个让我忙碌的项目--而不是一个课程。

不管是哪种方式,我都很难弄清楚如何实时分析音频的摄入量。也就是说,我需要一种方法来记录"pop“发生的时间。这样你们就不会认为我没有对这件事做任何研究了,我已经检查了所以问题,并且广泛地搜索了AudioRecord函数列表。

我在想,我可能需要对读()的一个版本做些什么,然后每2秒左右将录制的音频与"pop“的录制音频进行比较(也就是说,如果70%或更多的byte[] audioData数组与弹出式声音相同,那么记录时间)。有Android音频输入经验的人能让我知道我至少在正确的轨道上吗?这不是我想让你为我编码任何东西的问题,而是一个问题,我是否在正确的轨道上,如果没有,我应该朝哪个方向前进。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-09-14 02:03:39

查看以下代码(忽略回放部分):实时播放麦克风发出的声音

基本上,我们的想法是,你必须得到每个16位样本的值(对应于当时的波动值)。使用采样率,您可以计算之间的峰值之间的体积时间。我觉得这能实现你想要的。

票数 6
EN

Stack Overflow用户

发布于 2011-10-05 12:59:01

我想我有更简单的方法。

您可以使用MediaRecorder的getMaxAmplitude方法。

每当你的录音机检测到一个大幅度的跳跃,你已经检测到一个玉米爆!

票数 9
EN

Stack Overflow用户

发布于 2013-05-26 21:40:08

这可能有点过分,但麻省理工学院媒体实验室有一个名为funf:http://code.google.com/p/funf-open-sensing-framework/的框架。

据我所见,他们已经为音频输入和一些分析(FFT等)创建了类,并保存到文件或上传,并处理电话上可用的大多数传感器。您也可以从他们编写的代码中获得灵感,我认为这是非常好的。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7404828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档