There are several types of data that are common to most MIDI song file formats. The data is the same as what a musician would need in order to perform a song from sheet music. For example, when viewing a musical score, we encounter the title of the song, copyright information and composer. This same data is stored in a MIDI song file. In addition, there are meter, or time signature, and tempo, as well as the names of the various instruments designated to play the music. Some of the data that define the actual music when playing a MIDI song file include the notes played, varying note intensity or accent, the use of pedal in keyboard parts, volume and pan. In other words, a MIDI song file contains a very expressive range of parameters for defining a musical performance. So, the major differences between the MIDI song file types concern the manner in which the music data is stored.
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. We could compare this to lining up multiple music events in a single row or track. Thus, a MIDI device capable of handling Type 0 MIDI song files must read this information-packed single track, sort and interpret the data, then separate it into multiple MIDI channels to be sounded out or "performed" by a MIDI-enabled music player. Type 0 files are small, compact and are convenient for use with wireless devices.
A type 1 MIDI file has two or more tracks. The first track contains the common items that need to be expressed only once for each song, such as the title, composer, copyright, starting meter or time signature and starting tempo. The other tracks contain the actual music, divided by instrument type and music events, such as melody, harmony and rhythm tracks. Like the instrumental parts of a band or orchestra, these music events are contained on separate tracks but sound simultaneously and blend to make music when the file is heard through a MIDI player. Having data on separate and distinct tracks makes composing and arranging music with a MIDI editor or sequencer much easier. A sequencer is a software program that uses a graphical interface for creating and editing multi-track MIDI songs.
A type 2 MIDI file has been described as a combination of Type 0 and Type 1 files. We might think of it as being like several Type 0 files combined into one. In other words, it has multiple tracks, but each track represents a different song or sequence, which normally is played alone. TAhink of a Type 2 MIDI song file as an archive of different songs. Although the average MIDI musician does not use this format often, it has been used for drum machines since this format is useful for storing a variety of rhythm styles and drum kits in one conveniently compact file. A drum machine or other MIDI device for interpreting and playing percussion patterns may select a track from the "archive" and play it on demand.
Perhaps the best known of the MIDI derivatives is the so-called "karaoke" song file. This is a MIDI file, which is like a Type 1 MIDI song file except that it contains lyrics on one of the tracks. Many MIDI sequencers include the ability to add lyrics. The lyrics are synchronized with the melody and rhythm and can be displayed on a video screen while the song is playing. Karaoke files usually have a file extension of KAR and play on software-based karaoke players.