Capability Inquiry is, in our opinion, the key to the mass adoption of MIDI 2.0 and is described in the official docs
MIDI-CI – MIDI Capability Inquiry
MIDI-CI is used to discover information about the MIDI features found on each Function Block, Group, and/or MIDI Channel of a Device. MIDI-CI includes queries for three major areas of MIDI functionality:
- Profile Configuration: Profiles define specific implementations of a set of MIDI messages chosen to suit a particular instrument, Device type, or to accomplish a particular task. Two Devices that conform to the same Profile will generally have greater interoperability between them than Devices using MIDI without Profiles. Profiles increase interoperability and ease of use while reducing the amount of manual configuration of Devices by users.
- Property Exchange is used to Inquire, Get, and Set many properties including but not limited to Device configuration settings, a list of controllers and resolution, a list of patches with names and other metadata, manufacturer, model number, and version. All data is expressed using JSON key:value properties inside System Exclusive messages.
- Process Inquiry allows discovery of the current state of properties which are controllable by MIDI Messages in a device including:
• Values controlled by System Messages
• Values controlled by Channel Controller Messages
• Values controlled by Note Data Messages
You want to send MIDI to a device? Does it support panning? What precision is supported for the data? 7 bit, 14 bit, 16 bit? What is the data range allowed? How should the data be formatted?
MIDI 2.0 allows each device to query the other to determine what functionality is available and to get info about how to use that functionality.
An important aspect of CI is that manufacturers will generally be able to add MIDI 2.0 CI support to their existing instruments (that support MIDI 1.0) even though they don't plan to upgrade those instruments to support MIDI 2.0 itself.
This will allow other devices to 'programmatically' determine just what features those MIDI 1.0 devices have, what precisions support for various functions and how to properly format commands and data to operate them.
So MIDI 2.0 isn't just about 'more precision' but is about being able to better automate a network of devices and have the details taken care of.
There is a whole subset of development going on defining a set of 'profiles'. A profile is a set of maps that define functionality and how to use it. Here is just a short list of some profiles being developed
M2-113-UM 1-0 Default Control Change Mapping Profile
M2-118-UM GM Function Block Profile
M2-119-UM GM Single Channel Profile
M2-120-UM MPE Profile
M2-121-UM Drawbar Organ Profile
M2-122-UM Rotary Speaker Profile
M2-123-UM MIDI-CI Profile for Note On Selection of Orchestral Articulation
So a capability inquiry can ask a device if it supports the 'MPE Profile' and if you do it will know exactly how to communicate that info and data to that device.
To be sure there will be a lot of kinks to be worked out that can only be discovered as more and more MIDI 2.0 devices get deployed.
But the beauty of CI is that updates and fixes only require software updates.
You should expect big things as MIDI 2.0 becomes more available.