Computer Music (MUSC 216)
MIDI Resources

The Music Instrument Digital Interface (MIDI) is a protocol defined in 1989 by the International MIDI Association. The MIDI Specification 1.0 has undergone several updates since that time, but it essentially remains the same. The original specification is a technical description which may be difficult for the novice to read and understand. However, many great MIDI WEB sites exist which demystify the MIDI Spec. Here are just a few:

Indiana University Site
Borg's MIDI Spec (This guy has an offbeat sense of humor. But, it's a GREAT SITE. ENJOY!!)
Borg's "MIDI is the language of the gods" (Wow! Is this guy weird..)
Dave Smith, the Father of MIDI
David's MIDI Spec
Original MIDI Spec 1.0
Harmony Central's MIDI Spec
MIDI Spec in French
MIDI Spec in Portuguese
Statement on XMidi (a new MIDI standard)

General MIDI (GM):

General MIDI 1
General MIDI Program Map using numbers 0-127
General MIDI Program Map using numbers 1-128
General MIDI Percussion Sounds Map for MIDI Channel 10

Standard MIDI File Format (SMF):

Outline of the Standard MIDI File Structure (Stanford Univ.)
Standard MIDI Files 1.0
Standard MIDI File (SMF) Format (Borg's MIDI site -- who is this guy, anyway??)
Standard MIDI File Spec (Marc Clay)
Standard MIDI Files (The Sonic Spot)
Parsing MIDI Files with Java (Sun Microsystems)

Some other useful information related to MIDI:

About MIDI
Tutorial on MIDI and Music Synthesis (GREAT!)
MIDI Timeline (a short history of MIDI)
MIDI Commands
Common Control Change Numbers
Running Status
Summary of MIDI Note Numbers for Different Octaves on the Piano Keyboard
Summary of MIDI Control Change #'s
Summary of MIDI Channel Voice, Channel Mode, System Common, and System Real-time Messages

Hardware Projects:

John's Port-Powered Midi Interface for Older Macintosh Computers with RS422 Ports
John's Port-Powered Midi Interface for PC Soundcards

Hexadecimal Hell:

Decimal - Hexadecimal - Binary Conversion Table 1
Decimal - Hexadecimal - Binary Conversion Table 2

Decimal - Hexadecimal Conversion Procedure

Hexadecimal Conversion Tutorial 1

Summary of MIDI Status & Data Bytes
Midi Note Number to Equal Temperament Semitone to Hertz (Hz) Conversion Table
MIDI Data Format by Binary, Decimal, and Hexadecimal


Sound & MIDI Software For Linux

Main Page