「がんばれない」けど「がんばりたい」

ITエンジニアの仕事のこと。AI、機械学習、ディープラーニング。地頭力。車のこと。

AudioUnitRender関数

AudioUnitRender関数の事。読むだけだと頭に入らない時間なので、 入力してみた。

AudioUnitRenderはその名のとおり AudioUnitのレンダリングを行う関数である。 ここで言うレンダリングとはAudioUnitが持つ処理機能を使用することである。 Remote Inputにおいては、マイク入力のデータを得る事を意味する。 AUGraphでRemoteInputとRemoteOutputを接続すると、 RemoteInputがマイク入力を得てそれをRemoteOutputに渡す、 という処理が自動的に行われていたのである。 この関数の典型的な使用例は、エフェクト用のAudioUnitの使用である。 たとえばiPodEQUnitでAudioUnitRenderを実行すれば イコライジングを実行した結果を得ることが出来る。 また、AUGraphはリアルタイムで使用するがAUdioUnitRenderを使えば、 ノンリアルタイムにAudioUnitを使うことも出来る。 AudioUnitRenderを実行する際には AudioQueueのオフラインレンダリングと同様に AudioTimeStampを渡す必要がある。 ただし、以降の例ではAudioUnitのコールバック関数内で AudioUnitRenderをよぶため、 コールバック関数の引数をそのまま渡すだけでよい。 AudioUnitのコールバック関数の引数と AudioUnitRenderの引数は第1引数以外は同じである。

===

<迷った…今のところの見解>

AUGraphでのコールバック設定方法としては ●AUGraphSetNodeInputCallbackと ●AUGraphAddRenderNotifyがあり、

それとは別にレンダリング結果?を取得する関数として AudioUnitRenderが用意されているというのが正しいのでは?