Official MIDI Specifications

Core

These documents make up the MIDI 2.0 Core Specifications.
  1. MIDI 2.0 Specification Overview
  2. MIDI Capability Inquiry (MIDI-CI)
  3. Common Rules for MIDI-CI Profiles
  4. Common Rules for MIDI-CI Property Exchange
  5. Universal MIDI Packet (UMP) Format and MIDI 2.0 Protocol

There are specifications that build on the core MIDI 2.0 specifications. These define further capabilities in MIDI 2.0 for specific applications and various device types.

They are currently split into three branches.

  • Protocol Negotiation: choice of Protocol between Devices.
  • Profile Configuration: use auto-configuration Profiles.
  • Property Exchange: Get & Set Device Property Data using JSON.
This is a zip file which contains the 5 documents which make up the MIDI 2.0 Core Specifications.
  1. MIDI 2.0 Specification Overview
  2. MIDI Capability Inquiry (MIDI-CI)
  3. Common Rules for MIDI-CI Profiles
  4. Common Rules for MIDI-CI Property Exchange
  5. Universal MIDI Packet (UMP) Format and MIDI 2.0 Protocol
These 5 files are aso available for individual download on this page.
M2-100-U_v1-0_MIDI_2-0_Specification_Overview

This document defines the specific collection of MMA/AMEI specifications that collectively comprise the core MIDI 2.0 Specification and introduces the includes fundamental concepts of MIDI 2.0. The document also defines minimum requirements for Devices to claim MIDI 2.0 compatibility.
M2-101-UM_v1-1_MIDI-CI_Specification
MIDI-CI defines an architecture that allows Devices with bidirectional communication to agree to use extended MIDI capabilities beyond those defined in MIDI 1.0, while carefully protecting backward compatibility. MIDI-CI features “fall back” mechanisms so that if a Device does not support new features MIDI continues to work as defined by MIDI 1.0. Goals of MIDI-CI design:
Fully backward compatible: supports continued MIDI 1.0 functionality for any Devices that do not recognize extended MIDI features enabled by MIDI-CI.
  1. Allow easy configuration between MIDI-CI Devices.
  2. Sender can know the capabilities of a Receiver.
  3. Sender and Receiver can negotiate auto-configuration details
  4. Define method for negotiating choice of Protocol between Devices.
  5. Define method for using Profiles.
  6. Define method for Discovering, Getting, and Setting a wide range of Device Properties. 
M2-102-U_v1-0_Common_Rules_for_MIDI-CI_Profiles
MIDI-CI allows devices to communicate their capabilities to each other. Devices can use that capabilities information to self-configure their MIDI connections and related settings. Profiles are a beneficial component in enabling intelligent auto-configuration.

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. In addition to defining response to MIDI messages, a Profile may optionally also define other device functionality requirements. This definition also then implies MIDI implementation of a sender or in some cases may require a defined MIDI implementation of a sender.
M2-103-UM_v1-0_Common_Rules_for_MIDI-CI_PE

Property Exchange is a set of MIDI-CI messages used to access a wide range of properties in MIDI devices. The exchange of properties takes place between a MIDI-CI Initiator and a MIDI-CI Responder.

This Common Rules for Property Exchange document provides a complement to the MIDI-CI specification by defining details of the Property Exchange mechanism and rules for the data payload in MIDI-CI Property Exchange messages. Further Property Exchange specifications define schemas and various data payloads that use the rules in MIDI-CI and this document to achieve specific tasks.
M2-104-UM_v1-0_UMP_and_MIDI_2-0_Protocol_Specification
This Specification defines two major extensions to the MIDI 1.0 Protocol:
  • Universal MIDI Packet (UMP) Format
    UMP can contain all MIDI 1.0 Protocol messages and all MIDI 2.0 Protocol messages in a single, common container definition with a payload format which is intended to be usable in (or easily adaptable for) any standardized or proprietary data transport.
  • MIDI 2.0 Protocol
    The MIDI 2.0 Protocol is an extension of the MIDI 1.0 Protocol. Architectural concepts and semantics remain the same as MIDI 1.0. Compatibility for translation to/from the MIDI 1.0 Protocol is given high priority in the design of the MIDI 2.0 Protocol.