This page provides a simple introduction to MIDI 2.0. MIDI 2.0 is an updated version of MIDI that allows more detailed control and better communication between devices. It extends the original MIDI standard by increasing resolution and adding new features for more expressive performance. Even if you are new to MIDI, this page will help you understand the basic ideas of MIDI 2.0 and how it improves on the previous version.
According to the MIDI Association website, the core specifications for MIDI 2.0 were adopted by AMEI and The MIDI Association in January 2020. So, what exactly is MIDI 2.0? The MIDI Association explains it as follows: “MIDI 2.0 is an extension of MIDI 1.0. It does not replace MIDI 1.0, but builds on its core principles, architecture, and semantics.”
What, then, has been significantly expanded? First, you should read the "MIDI 2.0 Specification Overview Version 1.1", which can be downloaded from this link. The document “5. Minimum Compatibility Requirements of MIDI 2.0” in the MIDI 2.0 Specification Overview Version 1.1 states: “Any device that claims MIDI 2.0 compatibility shall implement either A, B, or both, as shown below.”
A. MIDI-CI* to at least its minimum requirements, including discovery mechanisms, plus any one or more of the following features:
B. The UMP Data Format** to at least its minimum requirements, including discovery mechanisms, plus any one or more of the following features:
I find the UMP data format (B) easier to understand than (A), so let’s take a look at the following item: “MIDI 2.0 Channel Voice Messages defined in the Universal MIDI Packet (UMP) format and MIDI 2.0 Protocol.”
Channel Voice Messages are MIDI messages such as Note On, Note Off, and Control Change. These messages are extended in MIDI 2.0 using the Universal MIDI Packet (UMP) format.
The Universal MIDI Packet (UMP) format can be downloaded from this link. Let’s take a look at the “M2-104-UM: UMP and MIDI 2.0 Protocol Version 1.1” specification to see how MIDI has been extended, as shown below.
Also, The discovery mechanisms can be implemented using ALSA. Here is a simple example of how I implemented them.
MIDI 2.0 expands velocity to 16 bits and adds new information called Attributes (8-bit type and 16-bit value).
Same as Note Off, MIDI 2.0 expands velocity to 16 bits and adds new information called Attributes (8-bit type and 16-bit value).
In this message, the pressure value is simply expanded to 32 bits.
In this message, same as above, the control value is simply expanded to 32 bits.
MIDI1.0 program change allows you to set a wide range of sounds' number by combining program change messages with two control change messages called bank select LSB and MSB. MIDI 2.0 combines these two bank selects into one message. The number of selectable programs has not increased.
In this message, the pressure value is simply expanded to 32 bits.
MIDI 1.0 has Pitch Bend Value precision of 14 bits, while MIDI 2.0 extends this to 32 bits.
This section introduces products that are compatible with MIDI 2.0 as of December 2024.
this product is compatible with MIDI2.0 channel voice messages. The homepage states the following:
"The latest A-88MKII system software (Version 2.0 and later) provides support for MIDI 2.0, unlocking advanced real-time expressive capabilities with the keyboard and panel knobs."
this product is compatible with MIDI2.0 channel voice messages. The homepage states the following:
"MONTAGE M OS v2.0 implements high resolution data for note velocity, polyphonic and channel aftertouch, Super Knob, pitch bend, modulation, assignable knobs/sliders, foot controllers and sustain."
Unlike the two above, this model complies with "Minimum Compatibility Requirements of MIDI 2.0", item A, "Any Property Data exchange by MIDI-CI Property Exchange messages."
"Keystage utilizes MIDI-CI Property Exchange messages to communicate with other devices. It retrieves information such as which Control Change (CC) parameters should be linked and the appropriate names to display for each parameter.
Compatible with MIDI2.0 channel voice messages(Unconfirmed)
Compatible with MIDI2.0 channel voice messages(Unconfirmed)