The MIDI Specification

This page links to possibly somewhat outdated, but fundamentally-accurate MIDI specification information. The MIDI Manufacturer’s Association still thinks it’s a good idea to charge $56US for a copy of the spec … and it’s still a only a dead-tree edition.So we continue to host these pages to provide at least a modicum of information on the protocol free of charge. Maky of the tabular documents have been left in their pristine all-fixed-width form, because anything else is really hard to read (and edit).

  •  Bob McQueer’s MIDI Primer is a good introduction to the MIDI spec, covering most of what was implemented at around the mid-1980′s, as it mentions the DX-7′s peculiarities and mentions a number of now-defunct synth manufacturers. Speculations about MIDI and direct control of synthesis were very much on people’s minds at the time; however, the explosion of different architectures that occurred soon after (not to mention General MIDI) made this pretty much a moot point.
  • A fiendishly-detailed version of the MIDI spec
  • The MIDI BNF grammar does a good job of summarizing the protocol from 50,000 feet, but doesn’t say much about real-world implementations.
  • MIDI controller numbers
  • MIDI status bytes
  • MIDI note numbers
  • Standard MIDI File (SMF) specification 0.6 hosted here; programmers may find this introduction more useful. This appears to be a copy of the 1.1 MMA spec document (pdf).
  • MIDI timecode standard
  • MIDI sample dump standard
  • General MIDI: proposed spec (hosted here); detailed 2.0 spec also available