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.

  1. Pin:
  2. Pin:
  3. Pin:
  4. Pin:
  5. 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

  1. kk Tastennummer [0..127].
  2. vv Geschwindigkeit [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

  1. kk Tastennummer [0..127].
  2. vv Geschwindigkeit [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)

  1. kk Tastennummer [0..127].
  2. vv Wert [0..127].

Control Change

Message Parameter
0xBn cc vv

Senden und empfangen von Daten zu verschiedene Steuereinheiten (Controller).

  1. vv Wert

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.

  1. 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