This article was previously published under Q140203
This article has been archived. It is offered "as is" and will no longer be updated.
The Musical Instrument Digital Interface (MIDI) specifications arepublished by and copyrighted material of the MIDI Manufacturers Association(MMA). Certain of these specifications are useful to Windows developers whoauthor MIDI files for playback or who write software to record MIDI data orplay it back without relying on Windows MCI support. However, thespecifications are not available from Microsoft. They must be obtained fromthe MMA or its distributors.
As of November 1995, the MMA provides all MIDI specifications (includingseveral more specialized ones not listed in this article) in a singledocument. It may be obtained by ordering item #3535 from the Mix Bookshelf,which can be contacted at 800-233-9604. For current information and otherquestions, please contact the MMA at the following address or phonenumbers:
MIDI Manufacturers Association PO Box 3173 La Habra, CA 90632-3173
voice: 310-947-8689 fax: 310-947-4569
Following are several of the specifications that are of the greatestgeneral interest to multimedia application developers. The term "low-levelMIDI" refers to the midiXXX functions, as opposed to MCI services.
Knowledge of these specifications is not necessary to implement playback ofMIDI files using MCI services because the MCI driver shields applicationsfrom these details.
The MIDI Detailed Specification explains the MIDI hardware and softwareprotocols and is of interest to developers of multimedia applications thatimplement MIDI support using low-level MIDI APIs to record, edit, or playMIDI data.
Standard MIDI Files 1.0 (for Low-Level MIDI Development)
The Standard MIDI Files specification defines a way to interchange time-stamped MIDI data between different applications on the same or differenthardware platforms. This is useful to developers writing applications thatread and parse disk files containing MIDI data or that write MIDI datafiles to disk.
General MIDI System - Level 1 (for MIDI File Authoring)
The General MIDI (GM) specification defines a minimum MIDI configuration ofa "General MIDI System" consisting of a certain class of MIDI playbackdevices. It is of interest to multimedia developers who author MIDI files.Most PC sound cards and MIDI synthesizers manufactured today are compatiblewith the GM specification. MIDI files that are authored to the GMspecification should generally sound like they were intended to sound nomatter which GM-compatible device they are played on.