CoreAudioとAVFoundationについて質問があります。CoreAudioとAVFoundationの間のパフォーマンス
私はAUGraphとAudioUnitでCoreAudioを使用してプロオーディオアプリケーションを構築しました。
本当に素晴らしいと思われるAVFoundationフレームワークに切り替えたいと思います。しかし、私はパフォーマンスについて心配しているので、もう少し詳しく知りたいです。
私のコアオーディオレンダリングコールバックでは、44100kHzのサンプルレートで512サンプルを処理できるので、コールバックは10msごとに呼び出されるため、簡単に高速化できると思います。
AVFoundationでは、レンダリングコールバックはAVAudioNodeのTapです。そして、私はbufferSizeパラメータがthe requested size of the incoming buffers in sample frames. Supported range is [100, 400] ms.
であるというコメントを読んでいます。それで、それぞれの呼び出しで4410未満のサンプルを処理することはできないでしょうか?
制限はObjective-Cの制約(メッセージ呼び出し、ロックなど)に由来していますか?
リアルタイムDSPプロセスに影響を与えませんか?
ありがとう、@ hotpaw2!私はいつもあなたの質の高い答えに感謝します。 これは私が探していたものであり、素晴らしい解決策であるようです。私はAUAudioUnitのサブクラス化についてはしなかった。 AVAudioPlayerNode - > MyCustomAUを使用すると、AVAudioPlayerNodeのサンプルを高速に取得/変更する正しい方法は、AVAudioPlayerNode - > MyCustomAUのようになります。レンダリングコールバック) - > OtherAVAudioUnit。確かに、MacOS 10.13以降でAudioUnitを入手することは可能です。 – DEADBEEF
前のコメントのソース[Apple Documentation](https://developer.apple.com/documentation/avfoundation)/avaudionode/2866396-auaudiounit) – DEADBEEF
AUAudioUnitサブクラスは、macOS 10.12で動作するiOSシミュレータ内で動作するコードで動作するようです。それが何を意味するのか想像してみてください。 – hotpaw2