====== Midi ====== Midi (//Musical Instruments Digital Interface//, [[wpde>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 - ''kk'' [[#Tastennummer]] [0..127]. - ''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 - ''kk'' [[#Tastennummer]] [0..127]. - ''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//) - ''kk'' [[#Tastennummer]] [0..127]. - ''vv'' Wert [0..127]. === Control Change === ^ Message ^ Parameter ^ | 0xBn | ''cc'' ''vv'' | Senden und empfangen von Daten zu verschiedene Steuereinheiten (//Controller//). - ''cc'' [[#Steuereinheit]] - ''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. - ''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] [[http://www.zem-college.de/midi/index.htm|Midi Kompendium]]