MIDI 2.0 - "Back to the future"

Umberto Sorbo

After more than 30 years from its birth, MIDI 1.0 is finally updated to its 2.0 version! While the final specification has not yet been publicly released, some interesting features have still been announced.


A "prototyping" phase is now opening, during which the companies of Midi Association they will test the new specification and propose any changes, to arrive at its final version in a year.
MIDI 2.0 is based on three basic principles: bidirectionality, back compatibility, expandability of the MIDI 1.0 When possible.
Let's see in detail all the news.

New Posts

There are also new types of messages and higher bit resolution than the existing ones.
A new MIDI message, said Universal Packet, can contain MIDI 1.0 channel voice messages or MIDI 2.0 channel voice messages, systems exclusive, a new system exclusive format and 3 new message types that add functionality to both MIDI 1.0 and MIDI 2.0.

Midi 2.0 and Midi 1.0 table

Cables and connectors

We started with the legendary DIN 5 connector then and over the years we have seen new cables and connectors up to USB.
MIDI 1.0 was a transport-level “agnostic” protocol.

What does the future have to offer? It is clear that MIDI 2.0 points to USB as the first target and everything will be based on the new message "Universal Packet".
So is it possible that MIDI 2.0 works on transport protocols other than those of MIDI 1.0? Apparently not, unless new specs are released.

Timing

Il timing of MIDI 2.0 messages should be more reliable, in fact the new message of "Jitter Timestamp”(The latter is the variation of one or more parameters of an electrical signal that can create errors in the waveform of the same).
With the Jitter Timestamp message it will be possible to record a performance with a more precise timing or send messages to devices that have less than perfect circuitry.

Resolution

Can MIDI 2.0 provide more resolution?

Yes, MIDI 1.0 messages are usually a 7 bit (14 bits is possible but not widely implemented because there are only 128 control change messages).
In MIDI 2.0, as we saw earlier, velocity is a 16 bit and we have 128 control change messages, 16.384 controllers, 16.384 assignable controllers, Poly / channel pressure and Pitch Bend are 32-bit.

Microtonal control and the use of non-western scales will be easier as it is possible to directly control each individual note.

16 Groups of 16 Channels

MIDI has 16 groups / ports and each group / port has 16 channels. On each group the devices can choose to use MIDI 1.0 or 2.0 (it is not possible to use them simultaneously in the same group).

MIDI-CI: The Midi Capability Inquire

The auto-configuration of the devices has been given great importance, the name of this part of the specification is called TELL ME “The Midi Capability Inquire ”, that is the possibility of dialoguing in a more standardized way than what happens today.
With MIDI 1.0 to fully utilize the features of a MIDI Device, you need software / hardware that implements all its often proprietary specifications.
With the use of Profile and Property, MIDI-CI allows devices to question themselves to understand what they can do and how.

MIDI-CI: Profile

Everything is based on the concept of "Profile", it is a set of rules that defines how two devices must interact to exchange data.
Each profile has a set of data (properties defined in the relative specifications) that can be managed or not by the device.
A procedure is defined to exchange the type of communication protocol and the number of profiles managed and in the event that a device does not respond, it is assumed that it is a MIDI 1.0 device

MIDI-CI- Profile

MIDI-CI: Property

Properties allow the exchange of MIDI device properties, such as the product name, settings, patches and other data.
This allows to standardize hardware and software in a simpler way avoiding the proliferation of proprietary solutions.

Example

A Sequencer that uses MIDI-CI is able to obtain the list of patches, whatever the connected keyboard, even if it does not know its make and model.

Profile example for Arduino

As part ofArduino Day 2019 that I organized with the group "Music Maker Lab”, I implemented the MIDI CI with Arduino, to understand if the specification was usable for the creation of a MIDI 2.0 device, or if there were still parts to be completed.
Although the profile specifications have not yet been published yet, I tried to define one for an Arduino board.
The purpose of this profile was to allow a system (for example a computer or another board) to know the characteristics of the board: name, LEDs, connected peripherals, etc.
I therefore defined as property the name of the board, how many LEDs it has and their status.
Using the procedures and commands described in the specification, I was perfectly successful in the "discovery" of the properties offered and in the set/reset of them.

Example of "profile" for Arduino

Conclusions

The specifications of Midi 2.0 are not yet defined, but there is a very interesting specification that will allow you to better exploit software and hardware, obtaining a stronger interaction between the devices.
Technically, a firmware update will be enough to switch to Midi 2.0 and where not possible with a software solution, some “boxes” will certainly be available that will act as a translator to and from the new music protocol!

Happy midi everyone!

Ing. Umberto Sorbo

MIDI – back to the future

After more than 30 years MIDI 1.0 is finally updated to its 2.0 version!

Although the final specification has not yet been publicly released, some interesting features have been announced.

A “prototyping” phase is now opening, during which the Midi Association companies will test the new specification and propose any changes, to arrive in one year to its final version.

MIDI 2.0 is based on three basic principles: bidirectionality, backwards compatibility, MIDI 1.0 expandability whenever possible.

Let's see all the news in detail.

New Posts

There are also new types of messages and greater bit resolution of existing ones.

A new MIDI message, called Universal Packet, can contain MIDI 1.0 channel voice messages or MIDI 2.0 channel voice messages, exclusive systems, a new exclusive system format and 3 new message types that add functionality to both MIDI 1.0 and MIDI 2.0

Cables and Connectors

We started from the mythical DIN 5 connector then and over the years we have seen new cables and connectors up to the USB.
MIDI 1.0 was an “agnostic” protocol at the transport level.

What does the future have to offer? It is clear that MIDI 2.0 points to USB as the first target and everything will be based on the new message “Universal Packet”.
So is it possible that MIDI 2.0 will work on transport protocols other than those of MIDI 1.0? Apparently not, unless new specifications are released.


Timing

The timing of MIDI 2.0 messages should be more reliable, in fact the new “Jitter Timestamp” message has been introduced (the latter is the variation of one or more parameters of an electrical signal that can create errors in the signal waveform).
With the Jitter Timestamp message it will be possible to record a performance with a more precise timing or send messages to a device that has not perfect circuitry.


Resolution

Can MIDI 2.0 provide more resolution?

Yes, MIDI 1.0 messages are usually 7-bit (14 bit is possible but not widely implemented because there are only 128 control change messages).
In MIDI 2.0, as we have seen before, the velocity is 16 bits and we have 128 control change messages, 16,384 controllers, 16,384 assignable controllers, Poly / channel pressure and Pitch Bend are 32 bits.

The microtonal control and the use of non-western scales will be easier as it is possible to directly control every single note.

16 groups / 16 channels

MIDI has 16 groups/ports and each group/port has 16 channels. On each group the devices can choose to use MIDI 1.0 or 2.0 (it is not possible to use them simultaneously in the same group).

MIDI-CI: The Midi Capability Inquire

Great importance has been given to the self-configuration of the devices, the name of this part of the specification is called MIDI-CI “The Midi Capability Inquire”, which is the possibility to dialogue in a more standardized way than is the case today.
To fully utilize the features of a MIDI device with MIDI 1.0, you need software / hardware that implements all its often proprietary specifications.
With the use of Profile and Property, MIDI-CI allows devices to question themselves to understand what they can do and how.

MIDI-CI: Profiles

Everything is based on the concept of “Profile”, it is a set of rules that defines how two devices must interact to exchange data.
Each profile has a set of data (property defined in the relevant specifications) that can be managed or not by the device.
A procedure is defined to exchange the type of communication protocol and the number of profiles managed and in the event that a device does not respond, it is assumed that it is a MIDI 1.0 device.

MIDI-CI: Property

Properties allow the exchange of properties of MIDI devices, for example the product name, settings, patches and other data.
This makes it easier to standardize hardware and software by avoiding the proliferation of proprietary solutions.

example

A Sequencer that uses MIDI-CI is able to obtain the list of patches, whatever the connected keyboard, even if it does not know the brand and model

Profile for Arduino

As part of the Arduino Day 2019 that I organized with the “Music Maker Lab” group, I implemented MIDI CI with Arduino, to see if the specification could be used to create a MIDI 2.0 device, or if there were still some parts to complete.
Even though the profile specifications have not yet been published, I tried to define one for an Arduino board.
The purpose of this profile was to allow a system (for example a computer or another board) to know the characteristics of the board: name, LEDs, connected peripherals, etc.
I have therefore defined as the property the name of the board, how many LEDs it has and their status.
Using the procedures and the commands described by the specification I succeeded perfectly in the “discovery” of the property offered and in the set / reset of them.

Conclusion

The Midi 2.0 specifications are not yet defined, but there is a very interesting specification that will allow to better exploit software and hardware, obtaining a stronger interaction between the devices.
Technically a firmware update will be enough to switch to Midi 2.0 and where not possible with a software solution, there will surely be some “box” that will act as a translator to and from the new musical protocol!

Share this article!
Follow:
Musician and Electronic Engineer. He began his musical studies with the piano and then studied the cello at the Conservatory of San Pietro a Majella. He dedicated himself to chamber music. Over the years, he has performed in various ensembles and managed his own 20-member youth orchestra, with which he conducted around 80 concerts in five years, from Rome to southern Italy. This experience enriched his understanding of musical performance and orchestral management. As a composer, he has had the pleasure of creating soundtracks for films and music for art installations, enriching visual and multimedia projects with original and evocative scores. His expertise in music technologies has led to collaborations with major companies in the industry, where he has contributed to the development and refinement of several products. He is dedicated to exploring the synergy between creativity and artificial intelligence, examining how these technologies can interact and enrich the musical landscape.
No comments