2017-03-20 21 views
7

私はMacアプリでMIDIメッセージを聞いて、既存のAVAudioUnit楽器から音符を再生するのに使います。AVAudioUnitでCoreMIDI入力を使用する

仮説:私は私のAVAudioUnitのAUAudioUnit(scheduleMIDIEventBlock経由)から取得することができます(MIDIClientRefとMIDIInputPortCreateWithBlockを経由して)私のCoreMIDIクライアントに関連付けられMIDIReadBlockとAUScheduleMIDIEventBlock間のブリッジを作成する必要があります。これは、私が生のMIDIデータをぶち壊しているので、私はオーディオユニットがCoreMIDIで使いやすいMIDI抽象化をサポートしなければならないと感じています。しかし、関連する例は見つかりませんこれの。おそらくAV/AUAudioUnitにMIDIOutputPortCreateを使用する方法がありますか?

私が探しているのは、MIDI入力をオーディオユニット(理想的にはSwift 3を使用しています)に直接配管する作業例ですが、比較的最近の関連リソースを知っていれば、それらのリンクも共有してください。これらのAPIのドキュメンテーションの希薄さはかなりイライラです。ありがとう!

答えて

0

受信したパケットをMIDIReadBlockループに入れます。各パケットのMIDIステータスに基づいて、audioUnitに適切なデバイスイベント(ノートオンなど)を送信します。

osstatus = MusicDeviceMIDIEvent(audioUnit, midiCmd... 
関連する問題