iOS でシンプルな EQ オーディオ ユニット (低、中、高の 3 バンド) を作成する方法を知っている人はいますか? AU Graph に iPod EQ Audio Unit を追加する方法を知っています。しかし、それはプリセットへのアクセスしか与えず、EQ を適切に制御する必要があります。
いくつかのチュートリアルや説明を探しましたが、運がありません。
ありがとう。
アンドレ
iOS でシンプルな EQ オーディオ ユニット (低、中、高の 3 バンド) を作成する方法を知っている人はいますか? AU Graph に iPod EQ Audio Unit を追加する方法を知っています。しかし、それはプリセットへのアクセスしか与えず、EQ を適切に制御する必要があります。
いくつかのチュートリアルや説明を探しましたが、運がありません。
ありがとう。
アンドレ
The iPhone doesn't exactly support custom AudioUnits. Or, more precisely, it doesn't allow you to register an AudioUnit's identifier so you could load it in an AUGraph. You can, however, register a render callback, get raw PCM data, and process it accordingly. This is how I've implemented effect processing in the iPhone.
私のNVDSP ライブラリを使用することを強くお勧めします。これにより、iOS でイコライザーを作成するために必要なフィルターを含む、簡単なオーディオ DSP が可能になります: https://github.com/bartolsthoorn/NVDSP
この問題と、iOS でイコライゼーションを機能させる方法について、2 つのブログ エントリを書きました。libsox ライブラリ (クロス コンパイル) を使用します。
最初の投稿では、libsox のビルド方法について説明しています: http://uberblo.gs/2011/04/iosiphoneos-equalizer-with-libsox-making-it-a-framework
2 つ目は、その使用方法を説明しています: http://uberblo.gs/2011/04/iosiphoneos-equalizer-with-libsox-doing-effects
それがあなたを助けたなら、答えを上げてください!ありがとう!
ここで話すサンプルコードで使用されているのと同じクラスを使用して実装できますが、コールバック関数で計算を行うために必要なピーク電力値や平均電力値などのプロパティを生成する場合にのみ機能します。
この古いMotorola AN2110 アプリケーション ノートでは、完全に制御可能な独自の 10 バンド イコライザーを作成する方法について説明しています (10 バンドのリアルタイム オーディオ IIR フィルターは、iPod Touch の ARM CPU の 10% をはるかに下回る消費になります)。これを AU グラフと統合する方法については不明ですが、このタイプの EQ は PCM Audio Queue バッファ コールバックに簡単に統合できます。