How to Obtain MIDI Specifications

Last reviewed: December 4, 1995
Article ID: Q140203
The information in this article applies to:
  • Microsoft Windows Software Development Kit (SDK) version 3.1
  • Microsoft Win32 Software Development Kit (SDK) version 3.5
  • Microsoft Win32s version 1.2

SUMMARY

The Musical Instrument Digital Interface (MIDI) specifications are published by and copyrighted material of the MIDI Manufacturers Association (MMA). Certain of these specifications are useful to Windows developers who author MIDI files for playback or who write software to record MIDI data or play it back without relying on Windows MCI support. However, the specifications are not available from Microsoft. They must be obtained from the MMA or its distributors.

As of November 1995, the MMA provides all MIDI specifications (including several more specialized ones not listed in this article) in a single document. It may be obtained by ordering item #3535 from the Mix Bookshelf, which can be contacted at 800-233-9604. For current information and other questions, please contact the MMA at the following address or phone numbers:

MIDI Manufacturers Association PO Box 3173 La Habra, CA 90632-3173

voice: 310-947-8689 fax: 310-947-4569

MORE INFORMATION

Following are several of the specifications that are of the greatest general interest to multimedia application developers. The term "low-level MIDI" refers to the midiXXX functions, as opposed to MCI services.

Knowledge of these specifications is not necessary to implement playback of MIDI files using MCI services because the MCI driver shields applications from these details.

MIDI Detailed Specification (for Low-Level MIDI Development)

The MIDI Detailed Specification explains the MIDI hardware and software protocols and is of interest to developers of multimedia applications that implement MIDI support using low-level MIDI APIs to record, edit, or play MIDI 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 different hardware platforms. This is useful to developers writing applications that read and parse disk files containing MIDI data or that write MIDI data files to disk.

General MIDI System - Level 1 (for MIDI File Authoring)

The General MIDI (GM) specification defines a minimum MIDI configuration of a "General MIDI System" consisting of a certain class of MIDI playback devices. It 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 that are authored to the GM specification should generally sound like they were intended to sound no matter which GM-compatible device they are played on.


Additional reference words: IMA 3.10 4.00 3.50
KBCategory: kbmm kbprg
KBSubcategory: MMMidi


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: December 4, 1995
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.