fbpx

Official MIDI Specifications

MIDI 2.0 Core Specifications Updated June 2023

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
  6. MIDI Clip File Specification (SMF format for UMP)
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.
This is a zip file which contains the 6 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
  6. MIDI Clip File Specification (Standard MIDI File format for UMP)
These 6 files are aso available for individual download on this page. 
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.
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. 

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.

The MIDI Capability Inquiry (MIDI-CI) specification defines mechanisms and a set of Universal System Exclusive messages used for Profile Configuration (and much more). However, MIDI-CI does not define the rules for Profile Specifications or devices that implement Profiles. This document, the Common Rules for MIDI-CI Profiles, complements MIDI-CI by defining a set of design rules for all Profile Specifications.

M2-103-UM_v1-1_Common_Rules_for_MIDI-CI_Property_Exchange

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.
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.

MIDI Clip File Specification defines a file format for MIDI sequences using the Universal MIDI Packet data format. MIDI 2.0 introduced the Universal MIDI Packet, a data format which supports all the original MIDI 1.0 Protocol messages as well as all MIDI 2.0 Protocol messages. The MIDI Clip File serves a role which is similar to the version 1 Standard MIDI File Type 0, with all data in a single sequence of Universal MIDI Packet messages. This MIDI Clip File Specification will have a complementary specification, the MIDI Container File specification which will be similar to the version 1 Standard MIDI File Type 1. The MIDI Container File will support the Universal MIDI Packet data format by containing one or more MIDI Clip Files, arranged in one or more tracks.