This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
midi_specification [2006/11/05 15:06] audiocommander added NRPNs |
midi_specification [2012/10/02 06:42] (current) cheater Reverting spam from lauraholden |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== MIDI Specifications ====== | ====== MIDI Specifications ====== | ||
+ | |||
+ | If you'd like a simplified explanation, see [[http://www.midibox.org/dokuwiki/simple_midi_specification|here]]... Otherwise this page contains some more technical info. | ||
[[MIDI]] is a standardized way for the communication between musical devices. It specifies the physical interface as well as the transmission protocol. There are different types of MIDI messages, for a full list please follow the links below. | [[MIDI]] is a standardized way for the communication between musical devices. It specifies the physical interface as well as the transmission protocol. There are different types of MIDI messages, for a full list please follow the links below. | ||
Line 35: | Line 37: | ||
F identifies a System Message which either addresses all listeners (there is no MIDI channel), or which addresses dedicated MIDI devices which are parsing for a SysEx (System Exclusive) stream. | F identifies a System Message which either addresses all listeners (there is no MIDI channel), or which addresses dedicated MIDI devices which are parsing for a SysEx (System Exclusive) stream. | ||
- | E.g., MIOS "feels addressed" on SysEx messages which are starting with 0xF0 0x00 0x00 0x7E 0x40, followed by data byte which selects the device (Device ID), followed by a command to the operating system (e.g. Code Upload). | + | E.g., MIOS "feels addressed" on [[SysEx]] messages which are starting with 0xF0 0x00 0x00 0x7E 0x40, followed by data byte which selects the device (Device ID), followed by a command to the operating system (e.g. Code Upload). |
- | SysEx messages should be finished with 0xF7, thereafter any other MIDI event can be sent again. | + | [[SysEx]] messages should be finished with 0xF7, thereafter any other MIDI event can be sent again. |
The last Status Bytes within the range of 0xF8..0xFF - also called "Realtime messages" - have (again) a special purpose, because it's allowed to send them at any time, even in between any other MIDI message without violating the protocol. | The last Status Bytes within the range of 0xF8..0xFF - also called "Realtime messages" - have (again) a special purpose, because it's allowed to send them at any time, even in between any other MIDI message without violating the protocol. | ||
Line 45: | Line 47: | ||
\\ | \\ | ||
\\ | \\ | ||
+ | |||
====== Programming Examples ====== | ====== Programming Examples ====== | ||
Line 125: | Line 128: | ||
Further informations: \\ | Further informations: \\ | ||
- | [[http://www.borg.com/~jglatt/tech/midispec.htm|Jglatt's Technical MIDI Specs Page]] or \\ | + | [[http://home.roadrunner.com/~jgglatt/tech/midispec.htm|Jglatt's Technical MIDI Specs Page]] or \\ |
[[http://www.midi.org/about-midi/table3.shtml|Table 3: Summary of Control Change Messages (Data Bytes)]] for further examples and explanations | [[http://www.midi.org/about-midi/table3.shtml|Table 3: Summary of Control Change Messages (Data Bytes)]] for further examples and explanations | ||
Line 143: | Line 146: | ||
More informations can be found online:\\ | More informations can be found online:\\ | ||
- | * [[http://www.borg.com/~jglatt|MIDI Technical Fanatic's Brainwashing Center]] <sup>must-read!</sup>\\ | + | * [[http://home.roadrunner.com/~jgglatt/|MIDI Technical Fanatic's Brainwashing Center]] <sup>must-read!</sup> [[http://web.archive.org/web/20070813201804/www.borg.com/~jglatt/|Archive]]\\ |
- | * [[http://www.borg.com/~jglatt/tech/midispec.htm|Jglatt's Technical MIDI Specs Page]]\\ | + | * [[http://home.roadrunner.com/~jgglatt/tech/midispec.htm|Jglatt's Technical MIDI Specs Page]] [[http://web.archive.org/web/20070820161159/http://www.borg.com/~jglatt/tech/midispec.htm|Archive]]\\ |
Line 157: | Line 160: | ||
* [[http://www.ascii.cl/conversion.htm|ASCII Conversion Table]]\\ | * [[http://www.ascii.cl/conversion.htm|ASCII Conversion Table]]\\ | ||
+ |