Hello,
I’m Christophe from Haken audio. We received a mail about this discussion and you are right it deserve some explanation (and probably a sentence rewriting on our web site).
The sentence " The MSB/LSB pair can be sent in either order (MSB first or LSB first) ." is a shortcut to explain the glitches, but you are right it may be misleading. Midi says this:
If 128 steps of resolution is sufficient the second byte (LSB) of the data value can be omitted. If both the MSB and LSB are sent initially, a subsequent fine adjustment only requires the sending of the LSB. The MSB does not have to be retransmitted. If a subsequent major adjustment is necessary the MSB must be transmitted again. When an MSB is received, the receiver should set its concept of the LSB to zero.
And for a lot (but not all) of the other (non CC) 14 bits information it is LSB-first …
So what we initially wanted to point is the risk of glitches mainly due to the" When an MSB is received, the receiver should set its concept of the LSB to zero. " (if the following LSB is 126 you will definitely get a pretty “nice” glitch).
Also this extract from the MIDI spec is saying that it is mainly MSB-first, where most other uses of 14 bits are LSB-First (so you have both depending on what you do, but it is not a choice, just not fully consistent across the spec).
For NRPN, it is a bit different (but probably out of scope here):
3. After the reception of Non-Registered (or Registered) Parameter Numbers has been enabled, the receiver should wait until it receives both the LSB and MSB for a parameter number to ensure that it is operating on the correct parameter.
4. The receiver should be able to respond accordingly if the transmitter sends only an LSB or MSB to change the parameter number. However, since the transmitter can’t know when reception was enabled on the receiver which will be waiting for both the LSB and MSB (at least initially), it is recommended that the LSB and MSB be sent each time a new parameter number is selected.
The sentence " It is permissible to send only MSB or only LSB. " is fully true
But you are right and we will replace, " The MSB/LSB pair can be sent in either order (MSB first or LSB first). " by something like " The LSB has to be reset on MSB reception (which is possibly resulting in glitches) "
Christophe