Creating MIDI Files
The Musical Instrument Digital Interface (MIDI) specifications are published by and are copyrighted material of the MIDI Manufacturers Association (MMA). The following list describes the specifications which are of the greatest general interest:
MIDI Detailed Specification
The MIDI Detailed Specification explains the MIDI hardware and software protocols. This is useful to those developing multimedia applications which implement MIDI support by using MIDI functions to record, edit, and/or play MIDI data.
Standard MIDI Files 1.0
The Standard MIDI Files specification defines a way to interchange time-stamped MIDI data between different applications on the same or different hardware platforms. This is useful to developers writing applications that read and parse disk files containing MIDI data and/or write MIDI data files to disk.
General MIDI System - Level 1
The General MIDI (GM) specification defines a minimum MIDI configuration of a "General MIDI System". This system consists of a specific class of MIDI playback devices and is of interest to multimedia developers who author MIDI files. Most PC sound cards and MIDI synthesizers manufactured today are compatible with the GM specification. MIDI files which are authored to the GM specification should generally sound as they were intended to sound, no matter which GM-compatible device they are played on.
To enable MIDI files to be a viable format for representing music in multimedia computing, Windows follows the General MIDI System Level 1 specification. The following topics provide additional MIDI authoring guidelines: