MIDI 2.0
As a Sysex ID or Corporate Member, you’ll have access to more details and specs. Learn more on our Membership page.
MIDI 2.0 is an extension of MIDI 1.0. It does not replace MIDI 1.0 but builds on the core principles, architecture, and semantics of MIDI 1.0.
A foundational architecture for MIDI 2.0 expansion is defined by the MIDI Capability Inquiry (MIDI-CI) specification. MIDI-CI allows Devices with bidirectional communication to agree to use extended MIDI capabilities beyond those already defined in MIDI 1.0, while carefully protecting backward compatibility.
MIDI 2.0 is not a stand-alone specification. Manufacturers and developers must have a thorough understanding of MIDI 1.0 in order to implement MIDI 2.0.
MIDI 2.0 Core Specifications
- MIDI 2.0 Specification Overview
- MIDI Capability Inquiry (MIDI-CI)
- Common Rules for MIDI-CI Profiles
- Common Rules for MIDI-CI Property Exchange
- Universal MIDI Packet (UMP) Format an MIDI 2.0 Protocol
- MIDI Clip File Specification (SMF format for UMP)
Protocol
Property Exchange
Property Exchange is part of the MIDI Capability Inquiry (MIDI-CI) specification and MIDI 2.0. Property Exchange is a method for getting and setting various data, called Resources, between two Devices. Resources are exchanged inside two payload fields of System Exclusive Messages defined by MIDI-CI, the Header Data field and Property Data field. This document defines only the contents of the Header Data and Property Data fields. For information on how to transmit and receive these Resource payloads inside MIDI-CI System Exclusive messages, see the MIDI Capability Inquiry specification and Common Rules for MIDI-CI Property Exchange specification.
Profiles
A Profile is a defined set of rules for how a MIDI receiver device implementing the Profile shall respond to a chosen set of MIDI messages to achieve a particular purpose or to suit a particular application.
Past Versions of MIDI 2.0 Specifications
Found here are past revisions of MIDI 2.0 specifications. Some of these, such as MIDI-CI v1.1, may be useful for checking backward compatibility.