The Complete MIDI 1.0 Detailed Specification is for developers, musicians, hobbyists, technicians, or just about anyone who wants to know about the inner workings of MIDI, and includes sections on the following topics:
- MIDI 1.0
- General MIDI 1 (including GM Developer Guidelines)
- Standard MIDI Files
- MIDI Show Control
- MIDI Machine Control
- MIDI Time Code
The document also includes a tutorial on music synthesis and MIDI for those who may be unfamiliar with musical instrument design.
Document Revision History
Though the MIDI Specification is still called "MIDI 1.0" there have been many enhancements and updates made by MMA since the original specification was written in 1982. Besides new MIDI messages for Machine Control and Show Control applications, there have also been improvements to the "basic" protocol for musical instruments, adding features such as Bank Select, All Sound Off, and other new controller commands.
Until 1995 there were five separate documents: the "Detailed MIDI
Specification Document Version 4.2" (including MIDI Time Code) ,
"MIDI Show Control" (aka "MSC"), "MIDI Machine
Control" (aka "MMC"), "Standard MIDI Files"
(aka "SMF", and "General MIDI Level 1" (aka
"GM"). Version 95.1 of The Complete MIDI 1.0 Detailed
Specification integrated these documents and fixed some minor errors in the various documents.
» Version 95.2 - September 1995
- Added text for redefinition of Device-ID proposal (MMA-0015)
- Rewrote Universal SysEx ID description which was unclear
- Moved EOF message (MMA-0011) from p44 into Sample Dump Standard Generic Handshaking Messages (P35-36)
- Rewrote File Dump Handshaking Flags (p42-44) so as not to duplicate Sample Dump text on same message
- Replaced all names referring to the Device ID message with the correct name "<Device ID>"
- Moved MIDI Implementation Chart from back of section to before Tables
- Rewrote the notes to Table 7 (SysEx Messages) to be more clear
- Updated Table of Manufacturer ID's
» Version 96.1 - March 1996:
- Changed Table 7 (SysEx Messages) to include reference to Universal SysEx messages and correct ID assignments
- Fixed omission on Page 35 re: number of Generic Handshaking Messages
- Added clarifications to SMF text on MIDI timing
- Updated MSC Specification to version 1.1
» Version 96.1 Second Edition - November 2001:
- Added GM1 Developer Guidelines (second revision, 1998), previously available only as a free download
» Version 96.1 Third Edition (PDF) - May 2014:
- This document is identical to the 2001 printed version with
some minor corrections and reformatting for publication as a PDF.
It includes a summary list of Addenda similar to the one below.
The "96.1 Third Edition" PDF will be available to
download in the near future.
MIDI 1.0 Specification Addenda
The following changes/additions were approved by MMA/AMEI since the
These changes/additions were made to the SMF Specification
The General MIDI Specification was updated to Level 2, and a General MIDI
version for cell phones was also developed. See the GM
section of this website for more details.
Note: In addition to the above, MMA has since
following additional Specifications and Recommended Practice documents which
are available separately:
Please visit our Specifications page for
links to all current MMA Specifications and Recommended Practices.