【发布时间】:2013-02-14 15:33:49
【问题描述】:
我正在构建的 Android 应用必须听音乐(在手机上播放或通过设备的麦克风拾取)然后根据音乐做一些事情。
所以我想做的是听音乐播放的速度/bpm,然后用我得到的影响背景颜色的东西做一些数学运算的应用程序。
我需要类似于Malcolm McRoberts asked for here 的东西——分析音乐然后做点什么。他说他可以使用Echo Nest 来实现他的目标,但他没有解释(目前)是如何实现的。
我需要与elucid135 asked for here 非常相似的东西——听每分钟的节拍 (bpm),然后根据它制作动画。但我的平台很不一样。
有任何 Android 想法吗?
也许有 Android 知识的人AudioTrack、MediaPlayer 或Audio Capture 可以提供一些意见。
编辑:
似乎没有人明白我的要求,所以我会尝试改写:
使用 Android,我想通过设备的麦克风录制音乐。然后我想分析已经录制的内容以找到录制的音乐的节拍。基于那个节拍,我希望在应用程序中发生一些事情。
我知道如何录制音乐。我正在寻找关于如何识别音乐节拍的建议。
希望能解决这个问题。
【问题讨论】:
-
这是一个非常广泛的问题,我们在这里解决具体问题。抛开这一点,您可能想查看
Visualizer-class。 -
@Lukas Knuth,不知道你为什么认为这个问题太宽泛了。我试图说明我问这个问题的原因以及我做了哪些研究,以便人们可以看到我做了我的部分。关键是我想听音乐的节奏/bpm(在手机上播放或被设备的麦克风拾取)。我以为我已经说得很清楚了。很抱歉您有其他感觉。
-
它很宽泛,因为你没有实现任何东西,你只是在问“怎么做?”。如果您有代码并遇到特定问题,我们可以提供帮助。
-
很多人问“怎么做”,这让我觉得在这里做这个很好。还有其他网站我应该问“如何做”问题吗?
-
Re: Visualizer-class: 我不是在寻找频率,因为它不是特定于音频中的鼓声之类的东西,我也不能使用采样率,因为它有与录制音频的时间有关 - 而不是当前播放的音频。所以我不能使用Visualizer类的getFft(byte[] fft)或者getSamplingRate()。
标签: android media-player audiotrack audio-capture