iPhone:DSP / Fourier変換/周波数ドメインを実行するCPUパワー?
-
07-07-2019 - |
質問
MICオーディオを継続的に分析し(スニッパーや録音済みのサンプルだけでなく)、周波数グラフを表示し、オーディオの特定の側面を除外したい。 iPhoneはそのために十分強力ですか? GoogleとiPhoneの音声認識、Shazaamとその他の音楽認識アプリ、およびギターチューナーアプリがあることを考えると、答えはイエスだと思います。ただし、どのような制限に対処する必要があるかはわかりません。
誰でもこのエリアで遊んでいますか?
解決
AppleのサンプルコードaurioTouchにはFFTが実装されています。
他のヒント
私が見たある種の音楽/音声認識を行うアプリはインターネット接続を必要とするので、これらは音声で何らかの機能計算を行い、httpを介してこれらの機能を送信して認識を行う可能性が高いサーバー。
いずれにせよ、周波数グラフとフィルタリングは、十数年前に、より小さなCPUで以前に行われました。 iPhoneは問題ないはずです。
"十分に速い"求める周波数分解能と基本サンプルレートに対するあなた(または顧客)の期待の関数かもしれません。
N点FFTはN * log2(N)計算のオーダーであるため、十分なMIPSがない場合、Nを減らすことは譲歩の可能性がある領域です。
多くのアプリケーションでは、サンプルレートは交渉不可能ですが、もしそうなら、これは別の可能性になります。
FFTをライブで計算するアプリを作成しました
http://www.itunes.com/apps/oscope
GitHubでFFTのコードを見つけることができます(少し大雑把ですが)
http://github.com/alexbw/iPhoneFFT
Appleの新しいiPhone OS 4.0 SDKでは、「Accelerate」を使用してFFTの組み込み計算が可能です。ライブラリなので、アプリの機能の中心部分であれば、間違いなく新しいOSの使用を開始します。
Cで記述されたFFTコードをアプリに移植することはできません...浮動小数点演算を複雑にするサムコンパイラオプションがあります。アームモードにする必要があります