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 上的 AVAudioPlayer 声音意外停止循环:如何调试?