MIDI - Daten zum Mithören

Im geschichtlichen Abriß über MIDI wurde bereits erläutert, welche Komponenten ein Instrument aufweisen muss (MIDI-Interface), um für den MIDI-Betrieb geeignet zu sein. Ein wesentlicher Bestandteil sind hier die zu übermittelnden Daten, also die MIDI-Nachrichten (Midi-Messages). Diese Messages bestehen aus genormten Codes, vergleichbar mit anderen standardisierten Zeichensätzen wie z.B. dem Morse-Alphabet oder den ASCII-Codes. Mit Hilfe dieser Codes werden genau definierte Informationen, wie etwa das Drücken oder das Loslassen einer laste, übermittelt. Hierbei ist es wichtig zu wissen, dass diese Informationen nicht im Zusammenhang mit den Klängen eines Keyboards stehen. Es werden also keine Klangparameter gesendet. Durch das Drücken einer laste wird lediglich übermittelt, welche Taste mit welcher Velocity (Anschlagdynamik (-stärke)) betätigt wurde. Das Klangergebnis wird durch diesen Code nicht beeinflußt.

MIDI überträgt also vornehmlich, was auf einem Instrument gespielt wird, also die Tasten, Spielhilfen wie Handräder, Pitchbender, Fußpedale, Fußtaster usw. Diese Aktionen lassen sich als Zahlenwerte hervorragend erfassen und verarbeiten, zumal es sich hierbei um kleine Zahlenwerte, und somit um geringe Datenmengen, handelt. Dies ist sehr vorteilhaft, denn man muss wissen, das sich MIDI der seriellen Datenübertragung bedient, dass heißt, alle Daten werden nacheinander auf einer Datenleitung gesendet. Das empfangende Gerät verarbeitet diese Codes in der selben Reihenfolge, wie sie gesendet wurden. Dabei erkennt diese Gerät nicht, woher die Daten kommen. Das resultiert daraus, dass ein MIDI-Instrument die herkömmlichen MIDI- Daten (ausgenommen SysEx-Messages) ohne Identifizierungs-Code sendet. In diesem Fall ist es also gleichgültig, ob die Codes von einem anderen Keyboard, einem Computer oder einem Sequenzer kommen. Das Ergebnis ist immer das gleiche.

Damit man nun in der Lage ist, mehrere Geräte gleichzeitig zu steuern, ist es notwendig, die einzelnen Messages zu selektieren. Schließlich macht es wenig Sinn, wenn man von einer Einspieltastatur z.B. vier Geräte steuern kann, diese jedoch alle den gleichen Sound produzieren. Hierzu bedient man sich der MIDI-Kanäle. Es gibt davon 16 Stück. Mit ihrer Hilfe kann man z.B. Gerät 1 anweisen, nur auf Kanal 1 zu empfangen, Gerät 2 nur auf Kanal 2 usw. Stellt man gleichzeitig an jedem Gerät ein anderes Register ein, dann erklingt auf Tastendruck bereits ein kleines, vierstimmiges, Orchester.

Viele Instrumente (die meisten) sind heute in der Lage, mehrere Kanäle gleichzeitig zu empfangen. Man spricht hier vom sogenannten "Multi-Mode". Dieser ist immer dann erforderlich, wenn das gesamte Klangergebnis aus einem Gerät kommen soll, was z.B. bei Keyboards oft der Fall ist. Hierbei steuern die MIDI-Codes nicht nur die Spielebene selbst, sondern auch das ganze "Drumherum", wie z.B. die Register, die Lautstärke, das Panorama, die Modulation usw. Wie jedoch sehen diese Codes aus und was geschieht, wenn sie empfangen werden? Diesem Thema wollen wir ein eigenes Kapitel widmen.

Von Controllern, Codes, Events und anderen Feinheiten

Die MIDI-Messages (Codes) bestehen in erster Linie aus Events (Bild 3 zeigt ein paar Controller- Events), die alle Zahlenwerte zwischen "0" und "127" annehmen können. Diese sind grundlegend zu unterteilen in Controller-Events und Noten-Events. Die Noten-Events enthalten alle während des Spielens eingehenden Daten, wie Tonhöhe, Anschlagdynamik (Velocity), Tondauer (Notenwert), und den Zeitpunkt des Anschlagens (dies ist wichtig, da die Wiedergabe "zeit-korrekt" erfolgt). In einem eingespielten Song sind die meisten vorkommenden Events Noten-Events, da schließlich die musikalische Abhandlung aus ihnen besteht Bild 3 zeigt Controller-Events, die zur Parametersteuerung eines MIDI-Kanals benutzt werden. Zu beachten ist dabei die zeitverschobene Platzierung der einzelnen Events. Dies ist aus Gründen der seriellen Datenübertragung empfehlenswert, da es ansonsten zu Timing-Problemen kommen kann.

Controller-Events (Bild 3), die auch umgangssprachlich "Controller" genannt werden, sind hingegen die flexibelsten, aber auch die umfangreichsten, MIDI-Codes überhaupt. Es gibt hiervon 128 mit den unterschiedlichsten Funktionen. (Leider sind nicht alle genormt, was besonders die Benutzer von Sequenzer-Software oft ärgert. Je nach Gerät werden einige Controller unterschiedlich interpretiert, was manchmal zu sehr exotisch anmutenden Klangergebnissen führt.) Hier jedoch eine Liste der gebräuchlichsten und am meisten verbreiteten Controller.

Die in der Liste fehlenden Controller sind nicht eindeutig definiert und daher nur vereinzelten Instrumenten-Typen zuzuordnen. Sie sind also je nach Instrument unterschiedlich belegt. Wie jedoch ersichtlich, werden mit den vorhandenen Controllern bereits eine ganze Menge Funktionen abgedeckt. Während man z.B. mit Controller "07" die Lautstärke beeinflussen kann, verändert man mit Controller "08" die Stereo-Balance. Besondere Beachtung sollten die Controller "121", "32" und "00" finden. Sie sollten eigentlich in keiner Event-Liste eines MIDI- Kanals fehlen (siehe Bild 3).

Controller "121" setzt alle evtl. noch vorhandenen Controller-Werte (z.B. aus einem vorher gespielten Song) auf ihren Ursprungswert zurück. Das ist von größter Bedeutung, denn das Klang-Chaos wäre groß, wenn falsch gesetzte Controller die Register eines Songs beeinflussen. Die Ursprungswerte der Controller sind unterschiedlich. So hat z.B. Controller "00", Bank Select, den Ursprung "0", während Controller "08", Balance, den Ursprung "64" benötigt. Im unbeeinflußten Falle muss die Stereo-Balance exakt in der Mine liegen (64 ist hier die mathematische Mitte zwischen 0 und 127). Controller "32" und "00" steuern die Sound-Bänke bei Instrumenten, die über mehr als 128 Register verfügen.

Bei den Controllern ist auch noch ein genereller Unterschied zu machen. Es gibt "Continuous Controller" und "Switch Controller". "Continuous Controller" können alle Werte zwischen "0" und "127" nicht nur annehmen, sondern auch verarbeiten. Sie können also 128 mathematische Zustände definieren. "Switch Controller" hingegen dürfen nur mit den Werten "0" oder "127" belegt werden, da sie schaltende Funktionen besitzen, wie etwa das Ein- oder Ausschalten des Portamentos. Hier bedeutet "0" = 0ff und "127" = on.

Es gibt noch einige Event-Typen mehr wie z.B. Pitch-Bending, Affer-Touch, System-Exclusiv- Message usw. Einem dieser Events sollten wir noch besondere Beachtung schenken, dem Programm Change. Es handelt sich hierbei um einen der simpelsten aber auch wirkungsvollsten Events überhaupt. Mit ihm werden die gewünschten Register gewählt. Da der Programm Change, genau wie alle anderen Controller, 128 Zahlenwerte annehmen kann (0 - 127), erklärt dies, weshalb der GM-Modus über 128 Register verfügt. Es ist genau der Bereich, der mit dem Programm-Change abgedeckt werden kann.

Der GM-Modus

Ein paar Worte möchte ich an dieser Stelle auch noch über GM einbringen. GM (General Midi) ist nichts weiter als eine Standardisierung zwischen den Instrumenten-Herstellern. Sie gibt vor, welche Register sich auf welchem Programmplatz zu befinden haben. Z.B. 01 = Piano oder 49 = Strings. Dieser Standard bedient sich einer Registerauswahl von 128 Instrumenten (siehe "Programm Change"). Er bringt den Vorteil, dass programmierte Sequenzen auf nahezu allen GM-kompatiblen Geräten lauffähig sind. Da es einige Instrumente gibt, die ausschließlich über diese 128 Register verfügen, ist es wichtig, mit Hilfe der Controller "32" und "00" die Sound- Bank "1" einzustellen, auf welcher sich diese 128 Sounds befinden. Würde z.B. Bank "2" angewählt, so könnte es sein, dass bei Wiedergabe der Sequenz kein Ton aus dem Gerät kommt, weil Sounds auf einer Bank selektiert werden, die überhaupt nicht existiert.

Schlußworte

Man könnte an dieser Stelle sicher noch auf die Funktionen einzelner (zum Teil sehr wichtiger) Controller, den GM-Modus, den GS/GM-Modus oder die System exclusiven Daten (gerade hier ist einmal eingehende Aufklärung angesagt) eingehen. Das würde jedoch den Rahmen eines überschaubaren Artikels sprengen und bedarf daher einer gesonderten Niederschrift. Aber genau wie beim Erlernen eines Instruments gilt auch hier: Trockene Theorie allein bringt uns nicht weiter. Es gilt zu experimentieren. Also, das Pfund Kaffee bereitgestellt, 'ran an den Rechner (oder Sequenzer) und probieren, probieren, probieren. Viel Spaß dabei.


Rolf Hein
Aus: Atari Inside SH / 1996, Seite 28

Links

Copyright-Bestimmungen: siehe Über diese Seite