【发布时间】:2010-11-28 08:54:38
【问题描述】:
我想持续分析 MIC 音频(不仅仅是剪辑或预先录制的样本),并显示频率图并过滤掉音频的某些方面。 iPhone 是否足够强大?鉴于谷歌和 iPhone 语音识别、Shazaam 和其他音乐识别应用程序以及吉他调音器应用程序,我怀疑答案是肯定的。但是,我不知道我必须处理哪些限制。
有人在这个区域玩吗?
【问题讨论】:
标签: iphone audio signal-processing fft
我想持续分析 MIC 音频(不仅仅是剪辑或预先录制的样本),并显示频率图并过滤掉音频的某些方面。 iPhone 是否足够强大?鉴于谷歌和 iPhone 语音识别、Shazaam 和其他音乐识别应用程序以及吉他调音器应用程序,我怀疑答案是肯定的。但是,我不知道我必须处理哪些限制。
有人在这个区域玩吗?
【问题讨论】:
标签: iphone audio signal-processing fft
我制作了一个实时计算 FFT 的应用
http://www.itunes.com/apps/oscope
你可以在 GitHub 上找到我的 FFT 代码(虽然有点粗糙)
http://github.com/alexbw/iPhoneFFT
Apple 的新 iPhone OS 4.0 SDK 允许使用“Accelerate”库对 FFT 进行内置计算,因此如果它是您应用功能的核心部分,我肯定会开始使用新操作系统。
【讨论】:
“足够快”可能取决于您(或您的客户)对您正在寻找的频率分辨率和基本采样率的期望。
N 点 FFT 的计算量级为 N*log2(N),因此如果您没有足够的 MIPS,减少 N 是您潜在的让步领域。
在许多应用中,采样率是不可协商的,但如果是,这将是另一种可能性。
【讨论】:
您不能只将用 C 编写的 FFT 代码移植到您的应用程序中……拇指编译器选项会使浮点运算复杂化。您需要将其置于手臂模式
【讨论】:
Apple 的示例代码 aurioTouch 有一个 FFT 实现。
【讨论】:
我见过的进行某种音乐/语音识别的应用程序需要互联网连接,因此很可能这些只是对音频进行某种特征计算并通过 http 发送这些特征以在服务器。
无论如何,十几年前在较小的 CPU 上已经完成了频率图和过滤。 iPhone应该没问题。
【讨论】: