The Complete MIDI 1.0 Detailed Specification is the definitive book on MIDI 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 (including MIDI Time Code), MIDI Show Control, MIDI Machine Control, Standard MIDI Files, and General MIDI. The version of the Detailed MIDI specification prior to 1995 was version 4.2. Version 95.1 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 (1996), previously available only as a free download
MIDI 1.0 Detailed Specification Addenda
The next edition (schedule TBD) will include all changes/additions approved by MMA/AMEI since the last publication, including:
The SMF Specification is included in the Complete MIDI document and will also be available
as a free download (schedule TBD). The download version includes these additions:
The MIDI Tuning Specification in the Complete MIDI document has been updated as it appears here.
The updated specification includes these additions:
The General MIDI Specification has been updated to Level 2, and a General MIDI Lite
version has been developed for mobile MIDI devices (such as cell phones).