MIDI (Musical Instrument Digital Interface) is a means by which a computer can control an electronic instrument (i.e. a soundcard, an external synthesizer or sound module, an electronic piano, or any electronic instrument which can 'understand' MIDI). A computer file contains codes which tell the instrument everything it has to know regarding the performance of a musical composition - which note to play, which sounds to use, which effects to use, how loud etc. A program, either a sequencer or a special player program, transmits this information, and controls the timing.
Much very effective music has been produced in this manner, and stored on computer files. The music can then be recorded on tape or CD, or performed live. The quality of the final result is totally dependant upon the quality of the MIDI sequence, AND the quality of sound of the instrument (synthesizer, sound module etc.) used. In terms of computers, one of the major advantages of this system is that a great deal of music can be stored in a relatively small amount of disk space.
How, one might ask, can one send MIDI music to others on the internet ? This problem is solved by the development of the Standard MIDI File (SMF), and General MIDI (GM). The SMF is a standardized file structure, usually with the extension (.mid), which contains all the MIDI data necessary for the electronic instrument to interpret. There are many programs out there that can read and interpret SMF's (e.g. Microsoft's Media Player). GM is a standardized sequence of MIDI patches (i.e. sounds), which many sound sources can interpret (e.g. Patch #1 in GM is Acoustic Grand Piano). Therefore, when the SMF specifies any patch number, all GM synthesizers will reference the same patch.
What are the disadvantages of MIDI ? SMF's can be sent out to thousands, or millions, of computers and synthesizers around the world. These machines are not equivalent in quality. For example, a clarinet may sound totally different when produced on different synthesizers, although both instruments claim that this is the clarinet patch. Therefore, the results in sound will differ widely when different machines are driving the same SMF's. Of course, the quality of one's speaker system will also affect the resulting sound, although this has nothing particularly to do with MIDI.
The limitation of GM is the fact that the instrument list is restricted to a fixed number of available sounds. Although the number of sounds available seems like quite a lot (128, plus another 128 percussion sounds), in the case of most standard instruments, there is a restriction of one sound per instrument. Some of these sounds may be unsatisfactory, but only the sounds within the GM set can be used. When not working with GM, it is possible to find and use a much wider range of sounds, with more than one patch per instrument. However, that's the trade-off involved with standardization.
Glossary of Terms| Channel | There are 16 MIDI channels available per synthesizer. Each Program Change, Control Change etc., is linked to a particular channel. Several Tracks may reference the same channel number, and, therefore, use the same sound. |
| Control Change | This refers to setting or re-setting the value of any given Controller for a specific Channel. |
| Controller | Each instrument (soundcard, sound module etc.) recognizes a specified number of Controllers. Each Control Change affects a specific Channel, and may modify the sound (volume, pan etc.) or be a more general instruction (select bank, reset all controllers etc.). |
| Drum Kit | In GM, Channel 10 is reserved for a Drum Kit (i.e. all manner of percussion sounds). It works differently from the other channels, in that each note (or key) specifies a different percussion instrument. A Program Change on Channel 10 would specify a different Drum Kit. |
| Patch | A particular sound, as specified by Program Change.Different synthesizers use different techniques to create the Patch. In a WaveTable device, the sound is a digitized 'snapshot' of the real sound. |
| Pitchbend | A re-tuning of a given pitch either sharp or flat. This can be done on a continuously changing basis to achieve a bending of a note, or a sliding up or down (glissando). The normal range of a pitchbend is 2 semitones, but this can be expanded using RPN. |
| Preset | See Patch |
| Program Change | This refers to specifying a new Patch on any given Track, for any given Channel. |
| Sequence | When used as a noun, a Sequence refers to the MIDI data that comprises a whole piece of music. When used as a verb, it refers to the process of creating the MIDI data. The term 'Sequencer' usually refers to the type of computer program one uses to create MIDI sequences. |
| Track | Simply a way to organize the music to be presented through MIDI. Generally speaking, each Track could represent a different instrumental part (Polyphony), but not necessarily a unique instrumental sound. It may also contain other types of data. Several musical parts could also be contained on a single track. The number of musical parts a synthesizer can handle varies according to its hardware capability (32, 64 etc.) |
| Velocity | This actually refers to the loudness or softness of any sound in a range of 1-127. The term Velocity literally refers to the speed with which a key is depressed, and this information is sent to the internal computer on the instrument. |
| WaveTable | This refers to a synthesizer or sound module, in which the sounds are sampled; that is, they are digitized sound waves created directly from the actual sound. |
| No. | Description | Remarks | Value |
| 0 | Bank select | Different sets of sounds are stored in different banks | 0-127 |
| 1 | Modulation | This refers to Amplitude Modulation - a form of vibrato | 0-127 |
| 6, 38 | Data Entry | Some controllers require further input - 6=MSB, 38=LSB | 0-127 |
| 7 | Master Volume | This can control the volume, either static or changing, over and above the effect of velocity | 0-127 |
| 10 | Pan | This affects the Left/Right location of the sound. Can also be continuously changed. | 0-127 |
| 11 | Expression | The effect is the same as Master Volume. Usually used in a changing fashion. | 0-127 |
| 64 | Damper Pedal | This is a sustaining pedal. It is most useful when used with an electronic piano. | 0,127 | 67 | Soft Pedal | This is a soft pedal. It is most useful when used with an electronic piano. | 0,127 |
| 91 | Reverb Depth | This controls the amount of Reverb on a particular channel. Synthesizers also provide for a variety of Reverb sources. | 0-127 |
| 93 | Chorus Depth | This controls the amount of Chorus on a particular channel. Synthesizers also provide for a variety of Chorus sources. | 0-127 |
| 98 | NRPN LSB | Non-Registered-Parameter-Number (least significant byte). Requires additional Data Entry (Controllers 6,38). Can be used to modify existing Patches. | 0-127 |
| 99 | NRPN MSB | Non-Registered-Parameter-Number (most significant byte). Requires additional Data Entry (Controllers 6,38). Can be used to modify existing Patches. | 127 |
| 100 | RPN LSB | Registered-Parameter-Number (least significant byte). Requires additional Data Entry (Controllers 6,38). Mostly used to expand Pitchbend range. | 0 |
| 101 | RPN MSB | Registered-Parameter-Number (most significant byte). Requires additional Data Entry (Controllers 6,38). Mostly used to expand Pitchbend range. | 0 |
| 120 | All Sounds Off | Turns all sounds off for specified channel. | 0 |
| 121 | Reset All Controllers | Will reset Controllers to their default values. May not affect ALL controllers (e.g. 7, 10, 91, 93). | 0 |
| Category | Prog# | Preset | Prog# | Preset | Prog# | Preset | Prog# | Preset |
| Piano> | 1 | Acoustic Grand Piano | 2 | Bright Acoustic Piano | 3 | Electric Grand Piano | 4 | Honky-tonk Piano |
| 5 | Electric Piano 1 | 6 | Electric Piano 2 | 7 | Harpsichord | 8 | Clavi | |
| Chromatic Percussion> | 9 | Celesta | 10 | Glockenspiel | 11 | Music Box | 12 | Vibraphone |
| 13 | Marimba | 14 | Xylophone | 15 | Tubular Bells | 16 | Dulcimer | |
| Organ> | 17 | Drawbar Organ | 18 | Percussive Organ | 19 | Rock Organ | 20 | Church Organ |
| 21 | Reed Organ | 22 | Accordian | 23 | Harmonica | 24 | Tango Accordian | |
| Guitar> | 25 | Acoustic Guitar (nylon) | 26 | Acoustic Guitar (steel) | 27 | Electric Guitar (jazz) | 28 | Electric Guitar (clean) |
| 29 | Electric Guitar (muted) | 30 | Overdriven Guitar | 31 | Distortion Guitar | 32 | Guitar Harmonics | |
| Bass> | 33 | Acoustic Bass | 34 | Electric Bass (finger) | 35 | Electric Bass (pick) | 36 | Fretless Bass |
| 37 | Slap Bass 1 | 38 | Slap Bass 2 | 39 | Synth Bass 1 | 40 | Synth Bass 2 | |
| Strings/ orchestra> | 41 | Violin | 42 | Viola | 43 | Cello | 44 | Contrabass |
| 45 | Tremolo Strings | 46 | Pizzicato Strings | 47 | Orchestral Harp | 48 | Timpani | |
| Ensemble> | 49 | String Ensemble 1 | 50 | String Ensemble 2 | 51 | SynthStrings 1 | 52 | SynthStrings2 |
| 53 | Choir Aahs | 54 | Voice Oohs | 55 | Synth Voice | 56 | Orchestra Hit | |
| Brass> | 57 | Trumpet | 58 | Trombone | 59 | Tuba | 60 | Muted Trumpet |
| 61 | French Horn | 62 | Brass Section | 63 | SynthBrass 1 | 64 | SynthBrass 2 | |
| Reed> | 65 | Soprano Sax | 66 | Alto Sax | 67 | Tenor Sax | 68 | Baritone Sax |
| 69 | Oboe | 70 | English Horn | 71 | Bassoon | 72 | Clarinet | |
| Pipe> | 73 | Piccolo | 74 | Flute | 75 | Recorder | 76 | Pan Flute |
| 77 | Blown Bottle | 78 | Shakuhachi | 79 | Whistle | 80 | Ocarina | |
| Synth lead> | 81 | Lead 1 (square) | 82 | Lead 2 (sawtooth) | 83 | Lead 3 (calliope) | 84 | Lead 4 (chiff) |
| 85 | Lead 5 (charang) | 86 | Lead 6 (voice) | 87 | Lead 7 (fifths) | 88 | Lead 8 (bass + lead) | |
| Synth pad etc.> | 89 | Pad 1 (new age) | 90 | Pad 2 (warm) | 91 | Pad 3 (polysynth) | 92 | Pad 4 (choir) |
| 93 | Pad 5 (bowed) | 94 | Pad 6 (metallic) | 95 | Pad 7 (halo) | 96 | Pad 8 (sweep) | |
| Synth SFX> | 97 | FX 1 (rain) | 98 | FX 2 (soundtrack) | 99 | FX 3 (crystal) | 100 | FX 4 (atmosphere) |
| 101 | FX 5 (brightness) | 102 | FX 6 (goblins) | 103 | FX 7 (echoes) | 104 | FX 8 (sci-fi) | |
| Ethnic> | 105 | Sitar | 106 | Banjo | 107 | Shamisen | 108 | Koto |
| 109 | Kalimba | 110 | Bagpipe | 111 | Fiddle | 112 | Shanai | |
| Percussive> | 113 | Tinkle Bell | 114 | Agogo | 115 | Steel Drums | 116 | Woodblock |
| 117 | Taiko Drum | 118 | Melodic Tom | 119 | Synth Drum | 120 | Reverse Cymbal | |
| SFX> | 121 | Guitar Fret Noise | 122 | Breath Noise | 123 | Seashore | 124 | Bird Tweet |
| 125 | Telephone Ring | 126 | Helicopter | 127 | Applause | 128 | Gunshot |
| Octave | Note | Note Number | Instrument |
| 1> | Eb | 27 | High Q |
| E | 28 | Slap | |
| F | 29> | Scratch Push | |
| F# | 30 | Scratch Pull | |
| G | 31 | Sticks | |
| Ab | 32 | Square Click | |
| A | 33 | Metronome Click | |
| Bb | 34 | Metronome Bell | |
| B | 35 | Kick Drum 2 | |
| 2 | C | 36 | Kick Drum 1 |
| C# | 37 | Side Stick | |
| D | 38 | Snare Drum 1 | |
| Eb | 39 | Hand Clap | |
| E | 40 | Snare Drum 2 | |
| F | 41 | Low Tom 2 | |
| F# | 42 | Closed Hi-Hat | |
| G | 43 | Low Tom 1 | |
| Ab | 44 | Pedal Hi-Hat | |
| A | 45 | Mid Tom 2 | |
| Bb | 46 | Open Hi-Hat | |
| B | 47 | Mid Tom 1 | |
| 3 | C | 48 | High Tom 2 |
| C# | 49 | Crash Cymbal 1 | |
| D | 50 | High Tom 1 | |
| Eb | 51 | Ride Cymbal 1 | |
| E | 52 | Chinese Cymbal | |
| F | 53 | Ride Bell | |
| F# | 54 | Tambourine | |
| G | 55 | Splash Cymbal | |
| Ab | 56 | Cowbell | |
| A | 57 | Crash Cymbal 2 | |
| Bb | 58 | Vibra Slap | |
| B | 59 | Ride Cymbal 2 | |
| 4 | C | 60 | High Bongo |
| C# | 61 | Low Bongo | |
| D | 62 | Mute High Conga | |
| Eb | 63 | Open High Conga | |
| E | 64 | Low Conga | |
| F | 65 | High Timbale | |
| F# | 66 | Low Timbale | |
| G | 67 | High Agogo | |
| Ab | 68 | Low Agogo | |
| A | 69 | Casaba | |
| Bb | 70 | Maracas | |
| B | 71 | Short High Whistle | |
| 5 | C | 72 | Long Low Whistle |
| C# | 73 | Short Guiro | |
| D | 74 | Long Guiro | |
| Eb | 75 | Claves | |
| E | 76 | High Wood Block | |
| F | 77 | Low Wood Block | |
| F# | 78 | Muted Cuica | |
| G | 79 | Open Cuica | |
| Ab | 80 | Mute Triangle | |
| A | 81 | Open Triangle | |
| Bb | 82 | Shaker | |
| B | 83 | Jingle Bell | |
| 6 | C | 84 | Belltree |
| C# | 85 | Castanets | |
| D | 86 | Mute Surdo | |
| Eb | 87 | Open Surdo |
MP3 is a format for creating a digital recording, similar to a CD. This would eliminate the problem inherent in MIDI, where the sound one hears is totally dependant on equipment on each hearer's computer (the soundboard or external synthesizer or other instrument attached to the computer).
Of course, the ideal situation is to simply create a CD type file, which is called a Wave (.wav) file. A Wave file can be created from a MIDI file, or a live performance, or from any kind of a sound source. The problem with this is simply the practical one of space. Wave files occupy huge amounts of space, and if you were to try to store a number of Wave files on your hard disk, it would be filled up before long. Also, it would take forever to upload it to the Internet, or to download it from the Internet onto your computer.
MP3 (.mp3) is a sort of compromise. It is a compression of a Wave file, eliminating aspects of the sound that apparently can't be heard anyhow. And it only occupies about one tenth of the space of a Wave file, but is still many times larger than a MIDI file. The size of .mp3 and .wav files are strictly dependant upon the length of the music, whereas the size of a .mid file is also dependant upon its complexity (number of tracks, number of notes etc.). Here are two examples to display relative sizes (in bytes):
| A MIDI File | Its MP3 File | Its Wave File |
| 86,016> | 3,933,959 | 43,384,832 |
| 45,056 | 4,382,848 | 48,332,846 |
A rule of thumb to estimate the size of an MP3 file, is that it takes about one Meg of disk space for each minute of sound.