KARAOKE PLAYER SOFTWARE - Learn More
EXTRACT SOFTWARE RAR/ZIP/ETC - Learn More
MIDI FILE FORMATS & EXTENSIONS
Standard MIDI File (SMF) Format
MIDI messages (along with timing information) can be collected and stored in a computer file system, in what is commonly called a MIDI file, or more formally, a Standard MIDI File (SMF). The SMF specification was developed by, and is maintained by, the MIDI Manufacturers Association (MMA). MIDI files are typically created using computer-based sequencing software (or sometimes a hardware-based MIDI instrument or workstation) that organizes MIDI messages into one or more parallel "tracks" for independent recording and editing. In most sequencers, each track is assigned to a specific MIDI channel and/or a specific instrument patch; if the attached music synthesizer has a known instrument palette (for example because it conforms to the General MIDI standard), then the instrument for each track may be selected by name. Although most current MIDI sequencer software uses proprietary "session file" formats rather than SMF, almost all sequencers provide export or "Save As..." support for the SMF format.
An SMF consists of one header chunk and one or more track chunks. There exist three different SMF formats; the format of a given SMF is specified in its file header. A Format 0 file contains a single track and represents a single song performance. Format 1 may contain any number of tracks, enabling preservation of the sequencer track structure, and also represents a single song performance. Format 2 may have any number of tracks, each representing a separate song performance. Sequencers do not commonly support Format 2. Large collections of SMFs can be found on the web, most commonly with the extension .mid but occasionally with the .smf. These files are most frequently authored with the (rather dubious) assumption that they will be only ever be played on General MIDI players.
MIDI Karaoke File (.KAR) Format
MIDI-Karaoke (which uses the ".kar" file extension) files are an "unofficial" extension of MIDI files, used to add synchronized lyrics to standard MIDI files. SMF players play the music as they would a .mid file but do not display these lyrics unless they have specific support for .kar messages. These often display the lyrics synchronized with the music in "follow-the-bouncing-ball" fashion, essentially turning any PC into a karaoke machine. None of the MIDI-Karaoke file formats are maintained by any standardization body.
XMF File Formats
The MMA has also defined (and AMEI has approved) a new family of file formats, XMF (eXtensible Music File), some of which package SMF chunks with instrument data in DLS format (Downloadable Sounds, also an MMA/AMEI specification), to much the same effect as the MOD file format. The XMF container is a binary format (not XML-based, although the file extensions are similar). See the main article Extensible Music Format (XMF).
[RIFF-RMID File Format
On Microsoft Windows, the system itself uses proprietary RIFF-based MIDI files with the ".rmi" extension. Note, Standard MIDI Files are not RIFF-compliant. A RIFF-RMID file, however, is simply a Standard MIDI File wrapped in a RIFF (Resource Interchange File Format) chunk. For compatibility reasons many digital musicians overlook this format. One solution to this incompatibility is to extract the data part of the RIFF-RMID chunk, the result will be a regular Standard MIDI File. RIFF-RMID is not an official MMA/AMEI MIDI standard.
Extended RMID File Format
In recommended practice RP-29 (), the MMA defined a method for bundling one Standard MIDI file (SMF) image with one Downloadable Sounds (DLS) image using the RIFF container technology. However, this method was deprecated when the MMA introduced the Extensible Music Format (XMF), which because of its many additional features is generally preferred for MIDI-related resource bundling purposes going forwards.
Extended MIDI File (.XMI) Format
The XMI format is a proprietary extension of the SMF format introduced by the Miles Sound System, a middleware driver library targeted at PC games. XMI is not an official MMA/AMEI MIDI standard.
About the Various Midi Formats & Extensions