banner MIDI Nachrichten
banner
Zum Beginn des Abschnittes Inhaltsverzeichnis
  Zum Beginn dieses Abschnittes Übersicht
Zum Beginn dieses Abschnittes Channel Messages
Zum Beginn des Abschnittes Tabelle der Channel Messages
  Zum Beginn dieses Abschnittes Control Changes
Zum Beginn des Abschnittes Tabelle der Control Changes
Zum Beginn des Abschnittes MIDI in der Praxis
Zum Beginn des Abschnittes MIDI Sequenzer
Zum Beginn des Abschnittes MIDI Hardware
Zum Beginn des Abschnittes Software-Merkmale
Zum Beginn des Abschnittes Klang-Zuordnung
Zum Beginn des Abschnittes Drum-Zuordnung
Zum Beginn des Abschnittes Noten-Zuordnung
Zum Beginn des Abschnittes Zahlensysteme
Zum Beginn des Abschnittes System Messages
Zum Beginn des Abschnittes SysEx-Informationen
Zum Beginn des Abschnittes Manufacturer-IDs
Zum Beginn des Abschnittes MIDI Implementation V 3.0
line_274.gif (217 Byte) tab_s036.gif (46 Byte)
    
pkt_q14.gif (157 Byte) Übersicht
 
Definition

Neben dem oben erwähnten MIDI-Befehl „Note On“ gibt es eine Vielzahl von weiteren MIDI-Befehlstypen mit unterschiedlichen Funktionen, wobei Kanalnachrichten zur Steuerung eines bestimmten, der definierten Adressierung entsprechenden einzelnen Gerätes dienen und Systemnachrichten ohne Berücksichtigung einer Kanalnummer an den ganzen MIDI-Verbund geschickt und von allen angeschlossenen MIDI-Geräten empfangen werden.

Controller

Der weitaus umfangreichere Teil der MIDI-Nachrichten sind die für Steuerungsaufgaben vorgesehenen Controller Messages, eine Untergruppe der Channel Voice Messages.

Zum Beginn dieser Seite
line_274.gif (217 Byte) tab_s036.gif (46 Byte)
    
pkt_q14.gif (157 Byte) Channel Messages
 
Tabelle In der separaten Tabelle sind alle Channel Messages im Detail aufgelistet.
Note On/Off

Beim Einschalten einer Note folgt nach dem Statusbyte mit dem Note-On-Befehl und Kanal-Information (9nH) ein Byte mit der Notennummer und ein weiteres mit der Anschlagstärke.

Ebenfalls besteht beim Abschalten einer Note (Note-Off = 8nH) die Möglichkeit, eine Note Off Velocity zu definieren, die jedoch nur von wenigen Geräten ausgewertet wird.

Key Pressure

Der polyphone Aftertouch, oft auch als Key Pressure bezeichnet, bewirkt nach Anschlagen eines Akkordes durch verstärkten Tastendruck eine Modulation einzelne Töne und kann ebenfalls nur von wenigen Geräten empfangen werden.

Auch hier folgen dem Statusbyte AnH (1010nnn) zwei Datenbytes für Notennummer und Druckstärke.

Program Change

Program Change-Messages sind sehr einfach aufgebaut und bestehen einfach aus dem Statusbyte CnH gefolgt von einem Datenbyte mit dem Wert des auszuwählenden Klangprogrammes oder Speicherplatzes.

Mit dem Befehl CBH 04H wird beispielsweise das Programm auf dem MIDI-Kanal 12 ausgewählt.

Bank Select

Der Bereich von 128 möglichen Klängen kann durch Voranstellen eines Bank Select Befehls erweitert werden. In GS-kompatiblen Systemen setzen sich Program Change Befehle aus einem Bank Select-Befehl (BnH 00H xxH) gefolgt von einem Program Change-Befehl (CnH xxH) zusammen. Wird ein Program Change ohne Bank Select empfangen, wird der Klang lediglich in der aktiven Bank gewechselt, ein Bank Select ohne Program Change wird zwischengespeichert und erst beim nächsten Program-Change mit ausgeführt.

Zur Vermeidung von Fehlfunktionen sollten daher immer beide Befehle übermittelt werden. Detaillierte Informationen zur Verwendung von Bank Select finden Sie im Abschnitt über Controller Meldungen.

Channel Pressure

Monophonic Aftertouch (DnH) benötigt als einstimmiger Aftertouch benötigt ebenfalls lediglich ein Statusbyte und ein Datenbyte, da im Gegensatz zum Polyphonen Aftertouch durch den Druck auf die Tastatur nur eine Modulation ausgelöst werden kann und die Art der ausgelösten Modulation (z.B. Vibrato, Tremolo oder Wah-Wah) nicht definiert ist.

Der Befehl DFH 40H erzeugt beispielsweise monophonen Aftertouch mittlerer Intensität auf MIDI-Kanal 16.

Pitch Bending

Pitch Bending (EnH) ist ein traditioneller Synthesizereffekt bei dem durch Betätigung eines entsprechenden Reglers (z.B. Bender, Rad, Wheel oder Joystick) die Tonhöhe um einen beliebigen Wert nach unten oder oben verschoben werden kann. Je nach Hersteller und Gerät erfolgen diese Änderungen jedoch nicht einheitlich.

Es werden zur Definition der Werte zwar immer zwei Datenbytes benutzt, die allerdings normal oder hochauflösend interpretiert werden können, wodurch unterschiedliche Maximalwerte zur Verfügung stehen. Mit 16384 ergibt sich der größte Wertebereich wenn von beiden Datenbytes jeweils alle sieben zur Verfügung stehenden Bits genutzt werden, bei Geräten allerdings, die lediglich ein MSB-Bit nutzen ist die Auflösung mit maximal 256 Werten sehr viel geringer, sodass sich bei langsam ausgeführten Pitch Bendings die einzelnen Abstufungen unschön bemerkbar machen.

 

Bei der folgenden binären Darstellung steht „n“ für den Midikanal und „x“ bezeichnet die für das Pitch Bending verfügbaren Daten-Bits

8-Bit-Pitch Bending     1110 nnnn 000000x 0xxxxxxx

 

14-Bit-Pitch Bending    1110 nnnn 0xxxxxxx 0xxxxxxx

Als Kompromiss verwenden einige Hersteller auch eine 9-Bit Auflösung.

Zum Beginn dieser Seite
line_274.gif (217 Byte) tab_s036.gif (46 Byte)
    
pkt_q14.gif (157 Byte) Control Changes
 
Tabelle In der separaten Aufstellung sind alle Control Changes detailliert dargestellt.
Format

Bei Controller-Befehlen (BnH) folgt nach dem Statusbyte die Controllernummer als erstes Datenbyte, gefolgt von einem zweiten Datenbyte, das die Intensität des gewählten Controllers bestimmt. Sogenannte Switch Controller, die nur die Werte 0 oder 127 annehmen können haben schaltende Funktionen, wie etwa das Ein- oder Ausschalten von Portamento (Controller 65) oder Haltepedal (Controller 64).

Kombination

Für den Fall, dass 128 Werte nicht ausreichen besteht die Möglichkeit, bestimmte Controller zu kombinieren.

Zur allgemeinen Dateneingabe stehen die beiden Controller 06 (Data Entry MSB) und 38 (Data Entry LSB) zur Verfügung und damit lassen sich dann 16384 Werte (128 x 128) erzeugen.

 

Soll der Data Entry Wert 139 gesendet werden, wozu der Controller 06 nicht ausreicht, wird zuerst Controller 06 mit dem Wert 1 (steht für 128, da Controller 06 in Verbindung mit Controller 38 einem Vielfachen des normalen Wertebereichs entspricht) gefolgt von Controller 38 mit dem Wert 11 (128 + 11 = 139) gesendet.

Jedes Mal, wenn man einem MSB-Controller einen LSB-Controller nachgesendet, wird automatisch von der normalen Auflösung in die hochauflösende umgeschaltet, wobei die Controller 32 bis 63 als die LSB-Controller der MSB-Controller 00 bis 31 anzusehen sind.

Auxillery Messages

Die Controller 120 bis 127, auch Auxiliary Messages genannt, besitzen Funktionen, die zusätzliche Möglichkeiten eröffnen, so kann man beispielsweise durch Senden von All Notes Off (BnH 7BH 00H) sämtliche klingenden Noten eines MIDI-Kanals abschalten, um etwaige Notenhänger zu beenden.

Mode Messages

Mit den Controllern 124 bis 127, den sogenannten Mode Messages, können die verschiedenen MIDI-Modes einzelner Geräte umgeschaltet werden, was  heutzutage eher selten erforderlich ist, da nahezu alle Geräte automatisch im Multi Mode (Omni Off/Poly On) arbeiten.

RPN/NRPN Controller

Bei RPN/NRPN-Controllern handelt es sich um erweiterte Control Changes, wobei jeweils zwei dieser Controller (99/98 und 101/100) ein MSB/LSB Pärchen ergeben, mit dem ausschließlich der zu verändernde Parameter bestimmt wird und die Werteänderung selbst dabei durch Data Entry (CC 06) übertragen wird. Während RPN-Controller (Registered Parameter Numbers) allgemein gültig sind, werden NRPN-Controller (Non Registered Parameter Numbers) lediglich im ROLAND GS-System verbindlich vorgeschrieben.

Außer für den Parameter Master Fine Tuning, der mit zwei Data Entry Bytes übertragen wird, nutzt man normalerweise bei RPN/NRPN-Controllern das Data Entry LSB nicht und es genügt zur Werteeingabe Controller 06, wobei der RPN-Reset unter anderem dazu dient, Controller 06 keine Funktion zuzuweisen und daher nach jeder RPN/NRPN-Meldung gesendet werden sollte, um weiteres unbeabsichtigtes Verändern des Parameters zu verhindern.

RPN

Registered Parameter Number (RPN)

Tabelle der wichtigsten RPN-Controller:

 
CC101 CC100 Parameter
00H 00H Pitch Bend Sensitivity
00H 01H Master Fine Tuning
00H 02H Master Coarse Tuning
7FH 7FH RPN/NRPN Reset
NRPN

Non Registered Parameter Number (NRPN)

Tabelle der wichtigsten NRPN-Controller:

 
CC99 CC98 Parameter
01H 08H Vibrato Rate
01H 09H Vibrato Depth
01H 0AH Vibrato Delay
01H 20H TVF Cutoff Frequency
01H 21H TVF Resonance
01H 63H TVA/TVF Env. Attack Time
01H 64H TVA/TVF Env. Decay Time
01H 66H TVA/TVF Env. Release Time
18H rrH Pitch Coarse
1AH rrH TVA Level (Drum)
1CH rrH Panorama (Drum)
1DH rrH Reverb Send (Drum)
1EH rrH Chorus Send (Drum
 

Dabei steht rrH für die Notennummer des zu verändernden Schlagzeuginstruments innerhalb eines Drumkits.

Bank Select

Bank Select Controller zur Umschaltung von Soundbänken stellen eine Bereichserweiterung für Programm-Changes dar und werden unmittelbar vor einem Program Change Befehl übertragen. Um beispielsweise den Sound Nummer 130 eines GS-Gerätes anzuwählen, muss BnH 00H 01H CnH 01H übertragen werden, wobei ähnlich wie beim Data Entry Controller als Bank Select Befehl im Normalfall der MSB-Controller (Controller 00) genutzt wird und lediglich bei Instrumente mit mehr als 16384 Klängen der Controller 32 (Bank Select LSB) zur Klanganwahl erforderlich ist.

Oftmals werden für eine bessere Übersicht jedoch beide Controller benutzt und beispielsweise mit Controller 00 das Speichermedium (User- bzw. Preset-Speicher, RAM-Card oder Harddisk), mit Controller 32 die einzelnen Bänke innerhalb der jeweiligen Speicherbereiche und mit dem Program Change dann einzelne Klänge der betreffenden Bank ausgewählt.

XG-Modus

Im XG-Modus wird mit den DataRange-Werten des Controllers 0 (Bank Select MSB) der Speicherbereich ausgewählt, dabei stehen 0 für Normal Voice, 63 für User Voice, 64 für SFX Voice, 126 für SFX Kit und 127 für Drum Kit. Mit dem LSB-Controller 32 wird dann innerhalb der selektierten Bank der entsprechende Klang ausgewählt.

Zum Beginn dieser Seite
E-Mail an musik-steiermarkZur Homepage von musik-steiermarkEine Ebene höherZurück in der selben EbeneVorwärts in der selben Ebene

Letzte Änderung am 19. Oktober 2005
Copyright © 1997-2005 musik-steiermark
Alle Rechte vorbehalten

Information über musik-steiermark