A MIDI File is a file with an extension that ends in .mid, it is a file that contains a sequence of MIDI events. Events in MIDI are commands that instruct MIDI devices what to do, example of MIDI events are Note On, Note Off, Program Change, and Control Change.
MIDI has nothing to do with the actual sound reproduction, the receiver would be the one to reproduce the sound, and because the music is handled by the computer in the form of encoded messages rather than an actual rendered sound, it is possible to change the sound from say a piano to a guitar to a sax. This phenomenon won't be possible without MIDI.
MIDI does not communicate audio and has nothing to do with audio reproduction. It is digitally encoded information that tells the receiver how to recreate, playback, and alter sounds.
Because of this, MIDI isn't restricted to a specific sound, you can alter the sound with your sequence, in short, you can use a piano keyboard to send a MIDI message and play a guitar sound on the receiving end.
There are two categories of MIDI, one is the...
Standard MIDI Files
The standard MIDI File is the accepted format for communicating MIDI messages, the file type is stored with a .mid or .smf extension and it is used to distribute MIDI data, songs, tracks, tempo information, and time signature to others.
The Standard MIDI files can support both single and multichannel sequence data and can be loaded into, edited, and then directly saved from almost any sequencer program such as a DAW or standalone software program.
Depending on how your DAW works, the exporting can come in two flavors:
- Type 0: This can be used if you want all tracks in a sequence to be merged into a single MIDI track. Each note has a channel number attached to them, though, the data would have no definitive track assignment.
- Type 1: This can be used if you don't want all tracks in a sequence to be merged, it would retain its original track information structure and can be imported into another sequencer type with its basic track information and assignments left intact.
General MIDI
The General MIDI is different from the standard MIDI in that it was created to reduce the differences in how MIDI works in several programs.
General MIDI assigns a specific instrument patch to each of the 128 available program change numbers.
Since all electronic instruments that conform to the GM format must use these patch assignments, placing GM program change commands at the header of each track will automatically instruct the sequence to play with its originally intended sounds and general song settings. In this way, no matter what sequencer and system setup is used to play the file back, as long as the receiving instrument conforms to the GM spec, the sequence will be heard using its intended instrumentation.
You can learn more about General MIDI in the Reference book below.
Now, let's look at the commonly asked questions about MIDI:
Is a MIDI File an Audio File
No, a MIDI File is not an audio file. An audio file stores an actual audio representation of a sound in an encoded audio file format, while a MIDI File is digitally encoded information that tells the receiver how to recreate, playback, and alter sounds.
The sound reproduction that comes out of a MIDI file might change depending on how the receiver is reproducing the sound, while an audio file is intact, it doesn't change.
Is a MIDI File The Same as MP3
No. MP3 is an audio file format that stores audio representation in a compressed way, while a MIDI File is digitally encoded information that tells the receiver how to recreate, playback, and alter sounds. The difference is the sound reproduction that comes out of a MIDI file can be altered to play a different instrument entirely, on the other hand, an MP3 file is intact, and it can't be changed.
Reference
You can learn more about MIDI in general in the following book: