2009-09-15 16 views
8

私は継続的にMICオーディオを分析したいだけです(スニッファや録音済みのサンプルだけでなく)。周波数グラフを表示し、オーディオの特定の側面をフィルタリングします。 iPhoneはそれに十分強力ですか? GoogleとiPhoneの音声認識、Shazaamや他の音楽認識アプリ、ギターチューナーアプリがあれば答えはイエスだと思う。しかし、私はどのような限界に対処しなければならないのか分かりません。iPhone:DSP /フーリエ変換/周波数領域を行うCPUパワー?

誰でもこのエリアで遊んでいますか?

答えて

3

アップルのサンプルコードaurioTouchにはFFT実装があります。

+1

ありがとうございます。 うわー。それらの開発者はコメントを聞いたことがありますか?誰もが彼らのC + +のobj - cのポートを行っていますか?それは重要ではありませんが、読みやすくするかもしれません。 – mahboudz

+0

vDSPとFFTがAccelerate.frameworkを追加したos4の一部になりました – slf

3

私が見たアプリでは、音楽/音声認識にはインターネット接続が必要なので、音声での機能計算や、これらの機能をhttpで認識して送信する可能性が高いですサーバー上で

いずれにしても、頻度グラフとフィルタリングは、これまで12年ほど前の小さなCPUで行われていました。 iPhoneは問題ありません。

0

C言語で書かれたFFTコードをアプリケーションに移植することはできません。浮動小数点演算を複雑にするサムコンパイラオプションがあります。アームモードにする必要があります

+0

上記のコードはすでにiPhone向けに書かれています。 – mahboudz

2

「十分に速い」とは、あなたが探している周波数分解能と基本サンプルレートの期待値の関数です。

NポイントFFTはN * log2(N)回の計算であるため、十分なMIPSがない場合、Nを減らすことは潜在的な譲歩領域です。

多くのアプリケーションでは、サンプルレートは交渉可能ではありませんが、そうであった場合は別の可能性があります。

+0

サンプリングレートは、私が探している最高周波数の2倍でなければなりません。 – mahboudz

+1

修正してください。周波数領域のビン間の間隔は、FFTのポイント数(N)の関数であり、ナイキスト周波数は常にトップ(サンプルレートの半分)になります。 – Overdrive

1

私はFFTライブ

http://www.itunes.com/apps/oscope

を計算アプリを作った(それは少し荒いですが)あなたは

http://github.com/alexbw/iPhoneFFT

をGitHubの上のFFTのための私のコードを見つけることができますAppleの新しいですiPhone OS 4.0 SDKでは、「Accelerate」ライブラリを使用してFFTの組み込み演算を行うことができるため、新しいOSがアプリケーションの機能の中心的部分である場合は、間違いなく新しいOSで作業を開始します。

+0

CoreAudioのリストでoscopeについて言及しました。 App Storeでそれを取得するためのおめでとう! – mahboudz

+0

ありがとう!これらのサンプリングレートの制限に関する深刻な不満は、iPhoneはまだオーディオ分析のための素晴らしいプラットフォームです。 – alexbw

関連する問題