Midi
Midi (Musical Instruments Digital Interface, Musical_Instrument_Digital_Interface)
Hardware
Serielle Schnittstelle mit 31250 Baud. Msb first.
Der Anschlussstecker entspricht einem 5 poligem DIN-Stecker.
- Pin:
- Pin:
- Pin:
- Pin:
- Pin:
Midi-In
Eingang für Daten anderer Geräte.
Midi-Out
Ausgang für Daten des Gerätes.
Midi-Thru
Ausgang, der die Daten von Midi-In weiter gibt.
Midi-Modes
- Omni-Mode
Empfang von Daten von allen (logischen) Kanälen. - Poly-Mode
Empfang von Daten von einem ausgewählten Kanal. - Mono-Mode
Empfang von Daten auf mehreren Kanälen, jedoch monophon (nur eine Note pro Kanal). - Multi-Mode
Empfang von Daten auf mehreren Kanälen, jedoch polyphon.
Protokoll
Es werden Bytes mit den Werten 0 .. 255 gesendet.
Dabei unterscheidet man
- Datenbytes (Werte 0 .. 127)
- Statusbytes (Werte 128 .. 255)
Running Status Mode das Statusbyte muss nicht immer wieder erneut gesendet werden, sofern sich der letzte Befehl wiederholt.
Bei Werten größer als 255 werden MSB (most significant byte) und LSB (least significant byte) gesendet. Dabei entspricht der „kleinere Wert“ dem MSB und der „größere Wert“ dem LSB (Wertebereich: 14 Bit, 0 .. 16383).
Channel Voice Messages
Einstellungen abhängig von dem gewählten Midi Kanal [0..15dec] bzw. [0..Fhex].
Voran ein Statusbyte [128..239dec] bzw. [0x80..0xEFhex], gefolgt von einem oder zwei Wertebytes [0..127dec] bzw. [0x00..0x7Fhex].
Note off
| Message | Parameter |
|---|---|
| 0x8n | kk vv |
Note off beendet das Spielen einer Note auf Kanal n (= 0..Fhex) gefolgt von zwei Werten
kkTastennummer [0..127].vvGeschwindigkeit [0..127].
Note on
| Message | Parameter |
|---|---|
| 0x9n | kk vv |
Note on startet das Spielen einer Note auf Kanal n (= 0..Fhex) gefolgt von zwei Werten
kkTastennummer [0..127].vvGeschwindigkeit [0..127]. Dies entspricht der Anschlaggeschwindigkeit und hat in der Regel Einfluss auf die Lautstärke des Tons.
Ein wiederholtes senden mit Geschwindigkeit 0 (vv= 0) entspricht einem Note off.
0x90 0x3C 0x40 ...später... 0x80 0x3C 0x00
Spielt Note C' auf Kanal 0 (Note on) und beendet später mit Note off.
0x90 0x3C 0x40 ...später... 0x3C 0x00
Spielt Note C' auf Kanal 0 (Note on) und beendet später durch Note on mit der Geschwindigkeit (Lautstärke) 0.
Polyphon Pressure
| Message | Parameter |
|---|---|
| 0xAn | kk vv |
Beim Nachdrücken (polyphon aftertouch)
kkTastennummer [0..127].vvWert [0..127].
Control Change
| Message | Parameter |
|---|---|
| 0xBn | cc vv |
Senden und empfangen von Daten zu verschiedene Steuereinheiten (Controller).
vvWert
Program Change
| Message | Parameter |
|---|---|
| 0xCn | pp |
Ändern von Klängen und Effekte.
Channel Pressure
| Message | Parameter |
|---|---|
| 0xDn | vv |
Nachdrücken einer Taste (aftertouch) gilt als Wert für alle gedrückten Tasten pro Midi Kanal.
vv[0..127]
Pitch Bend
| Message | Parameter |
|---|---|
| 0xEn | ll mm |
Verändern von Tönen.
System Common Messages
Unabhängig vom Midi Kanal. Betreffen das Gerät im Allgemeinen.
System Exclusive
System Realtime Messages
Tabellen
Steuereinheit
| Wert | Beschreibung | ||
|---|---|---|---|
| dec | hex | ||
| Regler (MSB) | 0 | 0x00 | Bank Select MSB |
| 1 | 0x01 | Modulation | |
| 2 | 0x02 | Breath Controller | |
| 3 | 0x03 | nicht definiert | |
| 4 | 0x04 | Foot Pedal | |
| 5 | 0x05 | Portamento Time | |
| 6 | 0x06 | DataEntry MSB | |
| Regler (LSB) | |||
| Schalter | 64 | 0x40 | Sustain Pedal (Damper) |
| 65 | 0x41 | Portamento | |
| 66 | 0x42 | Sustenuto | |
| 67 | 0x43 | Soft Pedal | |
| 68 | 0x44 | nicht definiert | |
| 69 | 0x45 | Hold 2 | |
| 70 | 0x46 | nicht definiert | |
| 71 | 0x47 | Harmonic Content (XG) | |
| Channel Mode Messages | |||
Tastennummer
| Midi | Note |
|---|---|
| 0 | C,,, |
| 1 | Cis,,,/Des,,, |
| 2 | D,,, |
| 3 | Dis,,,/Es,,, |
| 4 | E,,, |
| 5 | F,,, |
| 6 | Fis,,,/Ges,,, |
| 7 | G,,, |
| 8 | Gis,,,/As,,, |
| 9 | A,,, |
| 10 | Ais,,,/B,,, |
| 11 | H,,, |
| 12 | C,, |
| 13 | Cis,,/Des,, |
| 14 | D,, |
| 15 | Dis,,/Es,, |
| 16 | E,, |
| 17 | F,, |
| 18 | Fis,,/Ges,, |
| 19 | G,, |
| 20 | Gis,,/As,, |
| 21 | A,, |
| 22 | Ais,,/B,, |
| 23 | H,, |
| 24 | C, |
| 25 | Cis,/Des, |
| 26 | D, |
| 27 | Dis,/Es, |
| 28 | E, |
| 29 | F, |
| 30 | Fis,/Ges, |
| 31 | G, |
| 32 | Gis,/As, |
| 33 | A, |
| 34 | Ais,/B, |
| 35 | H, |
Quellen
- [1] Midi Kompendium