On Fri, 3 Sep 2021, Will Godfrey wrote:
I've been trying to get hold of information on
MIDI-2. So far I've only got
overviews and limited data format info. But one thing I saw today was
definitely a YES! moment.
For years, I've been battling against DAWs and sequencers that insist on
generating bank messages when none were sent, and then almost always set it to
It is somewhat spelled out for (n)rpn... sending any one byte out of the
two (MSB LSB) should just affect that one part of the value. But then they
go and say: best practice is to always send a full four event message. So
assume the same with program/bank. However, consider that from the start
of segment of recorded material the bank and program values have to be
initialized to something. So 0/0 it would be. So the controller (keyboard
or whatever) sends a program change when asked and that gets recorded to
the segment. Now on playback, the program message is sent but for best
practice the bank is also sent.
The MIDI-1 spec was never 100% clear on that, but the
one says exactly what I've maintained all along. When sending a program change,
bank change is optional! It is perfectly valid to want to change instrument on
the same bank, and indeed all the hardware synths I've ever owned work in this
Really this does not help at all. Optional just means the DAW/Sequencer
may or may not send the bank at the same time as program. There is still
the problem that if the DAW chooses to optionally send the bank and
program, the bank will be whatever the default value is unless it is set
otherwise. Really, best practice is that the musician sets both bank and
program as the first events in a segment.
I can't think of a better way even though my "master keyboard", an old
DX7, only sends on channel 0 (or 1) and only seems to understand program
change and no banks. Assume for a minutr that the DAW/Sequencer does not
send a bank unless there is a bank event recorded. The musician moves on
to another project and sets the synth bank for that. Then when going back
to work on the first project the bank is still miss-set. Better for the
musician to make sure both bank and program are properly set. It is great
that MIDI allows products from various manufactures to operate together,
not so great that some controllers always send bank and others do not
because it is optional.
What MIDI 2.0 does offer, is ability for the DAW to find out from the
synth information like bank that may be useful. MIDI 2.0 is bidirectional
not only physically but as a protocol as well.