The MIDI 1.0 Specification
The MIDI 1.0 specification, reprinted in full.
Following a meeting of interested manufacturers in Anaheim in January 1983, Sequential Circuits Inc. and Roland (the latter also representing Yamaha, Korg and Kawai) have drawn up this basic specification for the Musical Instrument Digital Interface. It includes hardware, suggested part numbers and so on. The spec reprinted below is dated October 1983, and is the basis for all MIDI-equipped machines produced after that date. Dave Smith, President of Sequential Circuits, has assured us that he sees no need for, and will actively discourage any revision of the spec, to allow time for any initial teething troubles to be sorted out.
MIDI is the acronym for Musical Instrumental Digital Interface. MIDI enables synthesisers, sequencers, home computers, rhythm machines, etc. to be interconnected through a standard interface. Each MIDI-equipped instrument usually contains a receiver and a transmitter. Some instruments may contain only a receiver or transmitter. The receiver receives messages in MIDI format and executes MIDI commands. It consists of an optoisolator, Universal Asynchronous Receiver-Transmitter (UART), and other hardware needed to perform the intended functions. The transmitter originates messages in MIDI format, and transmits them by way of a UART and line driver.
The MIDI standard hardware and data format are defined in this specification. Note that Status and Data bytes are given in binary, numbers followed by an "H" are in hexadecimal, and all other numbers are in decimal.
The interface operates at 31.25 (+/-1%) Kbaud, asynchronous, with a start bit, eight data bits (D0 to D7), and stop bit. This makes a total of 10 bits for a period of 320 microseconds per serial byte.
Circuit: See Figure 1. 5mA current loop type. Logical 0 is current ON. One output shall drive one and only one input. The receiver shall be optoisolated and require less than 5mA to turn on. Sharp PC-900 and HP 6N138 opto-isolators have been found acceptable. Other high-speed optoisolators may be satisfactory. Rise and fall times should be less than 2 microseconds.
Connectors: DIN five-pin (180°) female panel mount receptacle. An example is the Switchcraft 57GB5F. The connectors shall be labelled 'MIDI IN' and 'MIDI OUT'. Note that pins 1 and 3 are not used, and should be left unconnected in the receiver and transmitter.
Cables shall have a maximum length of 50 feet (15 metres), and shall be terminated on each end by a corresponding five-pin DIN male plug, such as the Switchcraft 05GM5M. The cable shall be a shielded twisted pair, with the shield connected to pin 2 at both ends.
A 'MIDI THRU' output may be provided if needed, which provides a direct copy of data coming in MIDI IN. For very long chain lengths (more than three instruments), higher-speed optoisolators must be used to avoid additive rise/fall time errors which affect pulse width duty cycle.
Synthesisers contain sound generation elements called voices. Voice assignment is the algorithmic process of routing Note On/Off data from the keyboard to the voices so that the musical notes are correctly played with accurate timing.
When MIDI is implemented, the relationship between the 16 available MIDI channels and the synthesiser's voice assignment must be defined. Several Mode messages are available for this purpose. They are Omni (On/Off), Poly, and Mono. Poly and Mono are mutually exclusive, ie. Poly Select disables Mono, and vice versa. Omni, when on, enables the receiver to receive Voice messages in all Voice Channels without discrimination. When Omni is off, the receiver will accept Voice messages from only the selected Voice Channel(s). Mono, when on, restricts the assignment of Voices to just one voice per Voice Channel (Monophonic.) When Mono is off (=Poly On), any number of voices may be allocated by the Receiver's normal voice assignment algorithm (Polyphonic).
For a receiver assigned to Basic Channel "N," the four possible modes arising from the two Mode messages are:
|1||On||Poly||Voice messages are received from all Voice Channels and assigned to voices polyphonically.|
|2||On||Mono||Voice messages are received from all Voice Channels, and control only one voice, monophonically.|
|3||Off||Poly||Voice messages are received in Voice Channel N only, and are assigned to voices polyphonically.|
|4||Off||Mono||Voice messages are received in Voice Channels N thru N+M-1, and assigned monophonically to voices 1 thru M, respectively. The number of voices M is specified by the third byte of the Mono Mode Message.|
|1||On||Poly||All voice messages are transmitted in Channel N.|
|2||On||Mono||Voice messages for one voice are sent in Channel N for step time.|
|3||Off||Poly||Voice messages for all voices are sent in Channel N for step time.|
|4||Off||Mono||Voice messages for voices 1 thru M are transmitted in Voice Channels N thru N + M-1, respectively. (Single voice per channel).|
MIDI Supplement - Part One
mu:zines is the result of thousands of hours of effort, and will require many thousands more going forward to reach our goals of getting all this content online.
If you value this resource, you can support this project - it really helps!