Home Learn About MIDI About Us Specifications Career Center Public Forum Store

The Complete MIDI 1.0 Detailed Specification

Order Printed Document

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) - TBD:

  • 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 [post 1996]

Please visit our Specifications page for links to all current MMA Specifications and Recommended Practices.

Order Now: "Complete MIDI 1.0 Detailed Specification" Document (96.1 Second Edition)


All materials, graphics, and text copyright © 1995-2015 MIDI Manufacturers Association Incorporated.
Use is prohibited without written permission.