iPhone 上的节奏(声音变化)检测

Posted

技术标签:

【中文标题】iPhone 上的节奏(声音变化)检测【英文标题】:Rhythm (sound change) detection on iPhone 【发布时间】:2011-09-08 10:55:39 【问题描述】:

对不起我的英语不好

我有一些 aif 或 MP3 曲调可以在 iPhone 上大声播放, 我需要做一些“声音变化”检测,

我将用于一些可视化(跳跃的人或其他)

如何在 iPhone 上做到“简单”或如何做到“好”?

我应该做 fft 之类的,还是其他的?

我当时看过一些声音可视化,但它们都是 似乎不太好(他们的反应似乎不太清楚 音乐变化)。

谢谢

【问题讨论】:

【参考方案1】:

您目前使用什么进行播放?我会使用音频队列或音频单元 - 两者都可以让您在音频样本传递到硬件时访问它们的缓冲区。此时,需要检测高于某个阈值的声音峰值,您可以通过多种不同的方式进行检测。

FFT 对您没有帮助,因为您感兴趣的是声音的时域波形(随时间变化的幅度)而不是其频域特征(不同时间窗口中不同频率的相对强度)。

【讨论】:

不会 FFT,例如,对 20 毫秒的音频部分进行,为我提供了更多关于“声音变化”的信息,而不是简单的幅度(我担心这可能不太有用)? ?? 它肯定会提供有关“声音变化”的更多信息,但如果您感兴趣的是音量变化,则无用。如果每次有低音或其他东西时都想要动画,那么 FFT 会很棒。但是,如果您只想在有“打击”(贝司、军鼓等)时使用它,那么振幅将是您的最佳选择。 简单的 wav (aiff) 幅度,没有任何频率,会有用吗?我不知道,但有疑问 如果您对音量的变化感兴趣,这将很有用,就像我给出的打击乐示例一样。

以上是关于iPhone 上的节奏(声音变化)检测的主要内容,如果未能解决你的问题,请参考以下文章

iPhone AVAudioRecorder,AudioQueueServices,检测到声音时如何自动录制音频

检测耳机是不是插入 iPhone

iPhone 上的 AVAudioPlayer 声音意外停止循环:如何调试?

如何让 FlashPro CC HTML5 Canvas 导出与 iPad/iPhone 上的声音一起使用

iPhone推送通知声音,“语音通知”

如何检测iphone应用程序状态变化? [关闭]