我希望能够实时分析MIC音频(不仅仅是片段或预先录制的样本),并显示频率图并过滤掉音频的某些方面。iPhone是否足够强大?考虑到Google和iPhone语音识别、Shazaam和其他音乐识别应用程序以及吉他调音器应用程序的存在,我认为答案是肯定的。但是,我不知道我将要处理哪些限制。有人在这个领域玩过吗?
我看到的需要进行音乐/语音识别的应用程序都需要互联网连接,因此很可能只是在音频上进行某种特征计算,并通过http发送这些特征以在服务器上进行识别。
无论如何,频率图和过滤已经在十年前的较低CPU上完成。iPhone应该没有问题。
苹果的示例代码aurioTouch中有FFT实现。
http://www.itunes.com/apps/oscope
你可以在GitHub上找到我的FFT代码(尽管它有点粗糙)
http://github.com/alexbw/iPhoneFFT
苹果的新iPhone OS 4.0 SDK允许使用“Accelerate”库进行内置FFT计算,因此如果它是您应用程序功能的核心部分,我肯定会开始使用新的操作系统。
你不能只是将用C编写的FFT代码移植到你的应用程序中...这里有一个使浮点运算复杂化的thumb编译器选项。你需要将其放入arm模式。