3 ms·
I know that this article is meant for the general masses, but it's rather misinformed in nearly every sentence it utters regarding MIDI 1.0. That's a shame. I
by SeanLuke 5y ago
I know that this article is meant for the general masses, but it's rather misinformed in nearly every sentence it utters regarding MIDI 1.0. That's a shame.
I'm pretty bummed out about MIDI 2.0's prospects. The protocol has been very slow to come out, and its design is ugly, overcomplex, lumbering, and kitchen sink. It is nothing like its predecessor. MIDI 1.0 was pushed by a single person with a small coterie of contributors, and has the design elegance and simplicity of such. But MIDI 2.0 has been wasting away for years in a large committee, and reeks of it.
MIDI has only a few, fairly easily dealt with problems:
- It's too slow and has a fixed rate.
- Its time sychronization mechanism is primitive.
- Its data model is too low resolution both in value and parameter space, and workarounds (NRPN etc.) unacceptably trade off speed to fix this. The model also does not define constraints, such as min/max values or categorical labels for values.
- Its parameters are global rather than per-note (resulting in workarounds like MPE).
- Its escape mechanism (Sysex) is too flexible and leaves too many nonstandard design choices to the manufacturer. Because the CC/NRPN data model is bad, manufacturers often have resorted to layering custom and proprietary protocols on top of sysex, many of which are very, very badly designed, and all of which are different from one another. Indeed, some manufacturers have lately treated their corner of MIDI Sysex as a trade secret, using non-documented protocols (ahem Arturia) or profoundly stupid and lazy sysex protocol designs (I'm looking at you, Roli).
This stuff is easy to fix. But 2.0 goes far further, dumping in two-way communication protocol options, device queries, ties to existing, non-peer-to-peer protocols (USB) and lots of data models that do not appear to be separable from the basic stuff. What a hairball. Will anyone want to implement this?
- romwell 5y agoYes to all of this. MPE is good enough.