有没有办法听取Android中音频播放的速度/ bpm?

时间:2013-02-28 12:30:36

标签: android media-player audiotrack audio-capture

我正在构建的Android应用程序必须听音乐(通过手机播放或通过设备的麦克风拾取)然后根据音乐执行某些操作

所以我想做的是听取音乐播放的节奏/ bpm ,然后用我的影响背景颜色做一些数学该应用程序。

我需要类似于Malcolm McRoberts asked for here的东西 - 分析音乐然后做点什么。他说他能够使用Echo Nest来实现他的目标,但他并没有解释如何(还)。

我需要一些与elucid135 asked for here非常相似的东西 - 听每分钟节拍(bpm),然后根据它做动画。但我的平台非常不同。

任何 Android 想法?

也许知道Android AudioTrackMediaPlayerAudio Capture的人可以提供一些意见。

修改

似乎没有人得到我所要求的东西,所以我会试着改写:

使用Android,我想通过设备的麦克风录制音乐。然后我想分析录制的内容以找到录制的音乐节拍。基于这个节拍,我希望在应用程序中发生的事情。

我知道如何录制音乐。我正在寻找的是如何识别音乐节拍的建议。

希望能够解决它。

2 个答案:

答案 0 :(得分:2)

“必须听音乐”
...... “要么在电话上播放”
不行,Android不支持。

... “或通过设备的麦克风拾取”
在某些情况下会工作(即在低噪音环境下使用扬声器时),但质量会非常糟糕。

另一种选择是使用Visualizer类从会话0(全局输出混合)中获取音频数据。音频的质量非常差,但它可能足以用于BPM计算,即使音乐被路由到耳机也能正常工作。

答案 1 :(得分:0)

我正在研究类似的问题。尝试研究TarsosDSP link。它是一个基于java的音频信号处理库,它提供了可以识别节拍的类,然后可以用它来确定速度,它适用于Android。