MIDI Controlled Sample-Based Synthesizer

Amir Hirsch and Andrew Leiserson


Sampling  |  MIDI  |  Interpolation  |  Filtering

The Musical Instrument Digital Interface is a standard for interfacing electronic music equipment. MIDI is primarily concerned with transmitting note data, in the form of note on and note off events. Messages are also included for transmitting other instrument parameters. System messages are included for beat indication, to synchronize different studio equipment to the same tempo, and song position, to control a sequencer playing back pre-recorded MIDI events.

The schematic for the MIDI interface is shown below.



The protocol is a serial protocol using a current-loop transmission received through an optocoupler. When the current is on, the output transistor in the optocoupler brings the output to ground. The bit framing is the same as RS-232. A low logic level is defined as current on. Data is sent in 8 bit bytes with no parity. The bitrate is 31.25 kilobits per second. The framing is shown below.



The MIDI data format is oriented around status and data bytes. Status messages are those with the high bit set. The standard defines seven status messages that are associated with a particular channel, communicated in the 4 lowest bits of the status byte. Status bytes in the range F0 to FF hex are not associated with a specific channel. See the USENET MIDI Primer for more information on MIDI messages.