Keyboards_MIDI  
|||||
MIDI
Musical Instruments Digital Interface
 
Controller
Controller sind eine sehr wichtige Ergänzung des MIDI-Standards. Sie ermöglichen es, in Echtzeit Einfluss auf Parameter und Funktionen zu nehmen - zum Spielen von Instrumenten ist das ohne Frage ein wichtiger Aspekt, denn je vielseitiger die Möglichkeiten der Steuerung sind, desto ausdrucksstärker kann ein Klang gespielt werden. Das "Spielen" von Instrumenten ist dabei allerdings ein weiter Begriff, denn im Bereich der Elektronischen Musik hat das sicher andere Bedeutung als beim Musizieren mit einem Digitalpiano.
Sind beim Digitalpiano lediglich die Anschlagdynamik und das Zusammenspiel der Pedale zu berücksichtigen, hat die Klangkomposition den Anspruch, jeden Klangverlauf bis ins kleinste Detail zu kontrollieren.
Im MIDI-Protokoll sind 128 Controller-Nummern vorgesehen, von denen längst nicht alle mit festen Funktionen belegt sind. Jedoch kann man manche Spielhilfen der Synthesizer intern auf eine andere Controller-Nummer umstellen und diese so übertragen. Diese Fähigkeit ist die Voraussetzung dafür, den oben erwähnten Filter-Sweep mit einem Sequenzer aufzuzeichnen oder von einem externen MIDI-Controller zu steuern.
Es gibt drei Typen von Controllern: 7-Bit-Continuous-Controller, 14-Bit-Continuous-Controller und Controller Switches (Schalter). Ein Continuous Controller steuert einen Geräteparameter, der in vielen Schritten (quasi kontinuierlich) verändert werden soll.
Ein einzelnes Daten Byte besitzt 7 Bit für den zu sendenden Parameter und kann einen Parameter mit einer Auflösung von 128 Schritten übertragen. Bei 14-Bit-Controllern ist eine wesentlich höhere Auflösung (128 x 128 = 16.384 Schritte) möglich. Dies wird möglich, durch die Verwendung zweier Controller, wobei einer den "Grobwert" und der andere den "Feinwert" bestimmt, in diesem Fall ist die Rede von MSB und LSB.
Eine weitere Form von Controller-Kombinationen kommen bei GS- und XG-Systemen zum Einsatz. Hier allerdings werden drei Controller-Nummern benötigt, die zur Anwahl und Editierung von Klang- und System-Parametern der Klangerzeuger dienen. Hier spricht man von NRPN- und RPN-Controllern.
Manche Geräteparameter kennen nur zwei Zustände, nämlich Ein oder Aus (z.B. der Portamento-Schalter). Zu ihrer Kontrolle über MIDI steht dennoch ein ganzes Daten-Byte zur Verfügung. Hier gilt die Regel: Sendet man einen Wert zwischen 0 und 63, so wird dies als Aus interpretiert. Ein Daten-Byte mit einem Wert zwischen 64 und 127 schaltet die gesteuerte Funktion ein.
Der Gebrauch vieler Continuous Controller erzeugt ein deutlich erhöhtes Datenaufkommen. Dreht man ein Filter-Poti einmal bis zum Maximalwert, hat man auf einen Schlag 128 Werte erzeugt. Übertragen auf ein Arrangement, das aus vielen Tracks besteht, können jede Menge Regelvorgänge parallel ablaufen (insbesondere bei elektronischer Musik) , was einen MIDI-Bus schnell überlasten kann. Daher ist hier also ein wenig Vorsicht geboten.
Control-Change-Daten setzen sich aus drei Daten-Bytes zusammen, einem Status-Byte und zwei Daten-Bytes.
Das Status-Byte enthält die Information, dass es sich um eine Control-Change-Nachricht handelt, und den MIDI-Kanal, auf dem die Nachricht übermittelt wird. Das zweite Byte überträgt die Controller-Nummer (0 bis 127), das dritte Byte den Wert des zu steuernden Parameters (0 bis 127). Um die MIDI-Daten zu reduzieren unterstützen mir Ausnahme einiger älterer Synthesizer alle Geräte den so genannten Running Mode, bei dem das Status-Byte unterdrückt wird, solange die gleiche MIDI-Events aufeinander folgen.