2

MidiMessage オブジェクトを作成せずに Java で MIDI メッセージを送受信する方法はありますか?

私は一種の概念実証用の高性能リアルタイム ミュージック ワークステーション プロトタイプに取り組んできました。設計基準の 1 つは、通常の楽器の演奏と信号処理では一般にオブジェクトを割り当てないことです。オブジェクトは割り当てられるだけです。ユーザーが設定を変更したとき。(ガベージ コレクションの一時停止の必要性をできるだけ減らしたい。)

明らかに、細かい粒度の MIDI イベントごとに MidiMessage オブジェクトを割り当てることは、私が従いたかった哲学とは正反対です。javax.sound.sampled パッケージを使用すると、割り当てなしでサンプリングされたサウンドを処理できますが、これまでのところ、大量のオブジェクトを割り当てずに Java で MIDI を使用する方法を見つけることができませんでした。

MidiMessage オブジェクトを受信する代わりに、MIDI デバイスからバッファにバイトを読み込む方法はありますか? MIDI メッセージは非常に簡単にデコードできるので、MidiMessage クラスが提供する「ヘルプ」がなくても問題ありません (メッセージ内のバイトをデコードする必要があるため、あまり役に立ちません)。

4

1 に答える 1