Musical Instrument Digital Interface (MIDI) is a type of control information used with synthesizers. Let’s explain this with an analogy: Your computer can send messages to a printer about how you want a page to look. The printer then takes care of converting this information to the actual “ink” on paper. With MIDI the synthesizer works much like a “musical printer”: the computer sends information to it, specifying which notes you want it to play, and it takes care of actually creating the audio. One of the advantages of this technique is that a recording made with for example a piano sound can be played back with a harpsichord, brass or guitar sound, just by changing settings on the synthesizer. General MIDI (abbreviated GM) is an additional specification for MIDI instruments. If an instrument or sound card is General MIDI compatible, it will have a common, wide ranging set of sounds built in (piano, bass, drums, brass, strings etc). If you create music with a General MIDI compatible instrument it can be played back on any other GM instrument and the music will sound more or less the same.
The General MIDI System is a universal set of specifications for sound generating devices. These specifications seek to allow for the creation of music files which is not limited to equipment by a particular manufacturer or to specific models. The General MIDI System defines things such as the minimum number of voices that should be supported, the MIDI messages that should be recognized, which sounds correspond to which Program Change numbers (GM Instruments), and the layout of rhythm sounds on the keyboard (GM Drum Kits). Thanks to these specifications, any device that is equipped with sound sources supporting the General MIDI System will be able to accurately reproduce General MIDI Scores (music files created for the General MIDI System), regardless of the manufacturer or model.
This is a variation of General MIDI introduced by Roland. It defines additional standard procedures for selecting alternate drum kits and sound variations, and for setting a number of other parameters in Roland GS compatible instruments.
This is a variation of General MIDI introduced by Yamaha. It defines additional standard procedures for selecting alternate drum kits and for setting a number of other parameters in Yamaha XG compatible instruments.
Standard MIDI files (SMF) provide a common file format used by most musical software and hardware devices to store song information including the title, track names, and most importantly what instruments to use and the sequence of musical events, such as notes and instrument control information needed to play back the song. This standardization allows one software package to create and save files that can later be loaded and edited by another completely different program, even on a different type of computer. Almost every software music sequencer is capable of loading and saving standard MIDI files.
A type 0 MIDI file has one track that contains all of the MIDI events for the entire song, including the song title, time signature, tempo and music events (see meta events).
A type 1 MIDI file should have two or more tracks. The first, by convention, contains song information such as the title, time signature, tempo, etc. The second and following tracks contain a title, musical event data, etc. specific to that track. This closely matches the organization of modern multi-track MIDI sequencers.
A type 2 MIDI file is sort of a combination of the other two types. It contains multiple tracks, but each track represents a different sequence which may not necessarily be played simultaneously. This is meant to be used to save drum patterns, or other multi-pattern music sequences. MidiKit does not handle this format!