AFAICS the MIDI 2 protocol doesn't provide an easy way to reset all per-note controllers. "Reset all controllers" explicitly isn't allowed to do this, and the per-note management message can reset a single note only.
I think any MIDI playback system will want to reset all per-note controllers before playing anything. You don't want any per-note pitch bends change the melody π
A naΓ―ve approach would be to send 16 channels times 128 notes = 2048 per-note management messages. That doesn't seem right?
Hi,
We just had a MIDI Association technical planning meeting last week to prioritize what we plan to work on next and that very item was one of the things that we discussed.
Thanks for the feedback as it is important to get input from the whole MIDI community.
Isn't the time honoured and only way of resetting all controllers by issuing the GM System On SysEx message?
It's always worked satisfactorily on all MIDI equipment I've owned to date, although not so sure about things like VSTi's.
Is this Sysex not allowed under MIDI 2?
Is this Sysex not allowed under MIDI 2?
It is, but that is only useful if you want to reset absolutely everything. If you only want to reset all per-note controllers in a single channel, there is currently no single message to do so.
Isn't the time honoured and only way of resetting all controllers by issuing the GM System On SysEx message?
That's not really the best way to reset channel controllers, unless you really want the full General MIDI function. The best way is to send a Reset All Controllers message (Control Change #121). Sending a GM System On performs other functions at the same time. It is best to use that only when you really want GM, with it's specific sound set, drums on CH.10, etc.
I expect that the MIDI Association will release the spec for resetting all Per-Note Controllers later this year. As pointed out above, it is on our list of priorities.
Chair of MIDI 2.0 Working Group