MIDI Sequencers and Standard MIDI Files
MIDI messages are received and processed by a MIDI synthesizer in real time.
When the synthesizer receives a MIDI "note on" message it plays the appropriate
sound. When the corresponding "note off" message is received, the synthesizer
turns the note off.
A D V E R T I S E M E N T
If the source of the MIDI data is a musical instrument
keyboard, then this data is being generated in real time. When a key is pressed
on the keyboard, a "note on" message is generated in real time. In these real
time applications, there is no need for timing information to be sent along with
the MIDI messages.
However, if the MIDI data is to be stored as a data file, and/or edited using
a sequencer, then some form of "time-stamping" for the MIDI messages is
required. The Standard MIDI Files specification provides a standardized method
for handling time-stamped MIDI data. This standardized file format for
time-stamped MIDI data allows different applications, such as sequencers,
scoring packages, and multimedia presentation software, to share MIDI data
The specification for Standard MIDI Files defines three formats for MIDI
files. MIDI sequencers can generally manage multiple MIDI data streams, or
"tracks". Standard MIDI files using Format 0 store all of the MIDI sequence data
in a single track. Format 1 files store MIDI data as a collection of tracks.
Format 2 files can store several independent patterns. Format 2 is generally not
used by MIDI sequencers for musical applications. Most sophisticated MIDI
sequencers can read either Format 0 or Format 1 Standard MIDI Files. Format 0
files may be smaller, and thus conserve storage space. They may also be
transferred using slightly less system bandwidth than Format 1 files. However,
Format 1 files may be viewed and edited more directly, and are therefore