Есть ли способ отправлять и получать MIDI-сообщения на Java без создания объектов MidiMessage?Java MIDI без MidiMessage
Я работал над прототипом прототипа рабочей станции реального времени с высокой степенью производительности, и одним из критериев дизайна является то, что обычное воспроизведение инструментов и обработка сигналов обычно не выделяют никаких объектов: объекты выделяются только тогда, когда пользователь меняет настройки. (Я хочу как можно меньше сократить паузы в сборке мусора.)
Очевидно, что выделение объекта MidiMessage для каждого отдельного мелкодисперсного MIDI-события является противоположностью философии, которой я хотел следовать. Пакет javax.sound.sampled позволяет мне обрабатывать дискретизированный звук без выделения, но до сих пор мне не удалось найти способ использовать MIDI в Java без выделения множества объектов.
Есть ли способ для меня просто читать байты с MIDI-устройства в буфер, а не получать объекты MidiMessage? MIDI-сообщения довольно легко декодировать, поэтому я счастлив пойти без «помощи», предлагаемой классом MidiMessage (который, поскольку вам все равно нужно декодировать байты в сообщении, в любом случае не очень помогает).
Да, я думаю, что это могло бы работать для передачи MIDI-сообщений. Когда я их получаю, у меня нет контроля над тем, как выделяются объекты MidiMessage. – Doradus