私は、1つの信号にまとめられた複数のセンサー信号をオーディオ入力を通じてiPhoneに取り込む手段を開発しています。私はいくつかのことを実行する必要があります。iPhoneでオーディオユニットのストリームを分割する
- は些細な フィルタチェーンを通じて 入力信号からこれらの信号を復調し、その後 さらに処理するために、独自の信号経路ダウン出力各 - リアルタイムでなければなりません。
- 信号の超音波処理されたバージョンを再生することができます。
- 各信号を ネットワーク接続にストリームします。好ましくは リアルタイムです。
- 各信号をPCM ファイルに保存します。リアルタイムである必要はありません。
このプロセスでシグナルチェーンを概念的に理解する助けが必要です。私はAudio Unitsを使ってデザインをスケッチし始めました。まず、オーディオユニットを選んで低レベルになったのですか?これはAudio Queue Servicesで実装可能でしょうか?それにもかかわらず、私は変調された信号が入ってきた(まだ復調していない)点に到達しており、それをリアルタイムで超音波処理しており、超音波信号を出力に戻しています。この信号を信号チェーンの2つの別々のセクションに分割するために、私は、リモートI/Oユニットの出力をマルチチャンネルミキサーユニット上の2つの別々の入力バスにルーティングし、超音波処理/書き込み処理マルチチャネルミキサーユニットのコールバックでディスクの書き込み/ネットワークへの書き込み。
しかし、これはリアルタイムスレッドの処理量が大きすぎますか?私は本当にこれを達成できるでしょうか、あるいは機能の一部をオフラインにする必要がありますか?次に、I/Oユニットの入力エレメントの出力をマルチチャンネルミキサーユニットの別々の入力エレメントにルーティングすることは可能ですか?そうでない場合は、マルチチャンネルストリームの説明を指定し、原点を分割できますか?
私は私がする必要がないことを聞いていますAudio Unitsに一歩踏み込んでみましょうか?まあねえ、少なくとも私はそれを学んだことが楽しかった! しかし、これらのツールの1つを取得に使用している場合は、できるだけ早くオフラインで処理し、スピーカー/ファイル/ネットワークにプッシュするか、誤解していますか? – GarlicFries
また、このリアルタイムのすべてを行うことができれば、5または6チャンネルのストリームを指定し、オリジナルのモノラル信号をそれらのストリームに分割するという考えがありますか? – GarlicFries
最低の待ち時間でオーディオユニットのみが必要です。それ以外の場合は、十分なデータをキューに入れ、バックグラウンドスレッドで処理してください。 – hotpaw2