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.

For current information, contact the MMA at the address or phone numbers listed here.

MIDI Manufacturers Association
PO Box 3173
La Habra, CA 90632-3173
Phone: (310) 947-8689
Fax: (310) 947-4569

To enable MIDI files to be a viable format for representing music in multimedia computing, Windows follows the General MIDI System Level 1 specification. We also provide some additional MIDI authoring guidelines:

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
Unix Manual Pages
Delphi Examples