MIDI (Musical Instrument Digital Interface) is a protocol used to allow music hardware, software and other equipment to communicate with each other.
MIDI is a widely-used protocol which can transmit note, controller, program, timing and vendor/hardware musical instrument specific (so called system exclusive/SysEx) information. The MIDI protocol can be used to allow your software to communicate with other MIDI-compatible software or hardware.
Some useful resources on the MIDI protocol:
- The MIDI Association
- The MIDI Technical Fanatic's Brainwashing Center (silly title, but one of the best-written MIDI resources on the web)
- Overview of MIDI Message Types
- MIDI File Format Specification
- MIDI note/number frequency table
- MIDI Wikipedia Entry