Lichtsteuerung mit MIDI-Sequencer,
          am Beispiel "Cubasis" , "Quartz Audio Master"
und dem guten alten "LogicFun"

Dieser Text gilt gleichermassen für die "MIDI/DMX-512 Control Box" als auch unverändert für den "MIDI/DMX-512 Generator" und den DMX-Teil des "MIDI/DMX-512 GenIO" von Cinetix. Zusammenfassend werden diese Geräte im nachfolgenden Text als "MIDI/DMX Box" bezeichnet.

Die MIDI/DMX Box von Cinetix wird primär mit einfachen MIDI-Kanalnachrichten gesteuert. Zusammen mit einem MIDI-Sequencer kann hiermit also ohne Probleme eine recht komplexe Lichtsteuerung programmiert werden. Da bei Bedarf nur ein MIDI-Kanal beansprucht wird und relativ wenig MIDI-Befehle zur Lichtsteuerung notwendig sind, kann diese Lichtsteuerung in Sound-Arrangements integriert werden.

Im Folgenden beschreiben wir die Programmierung einer solchen Lichtsteuerung für die Programme "Cubasis VST" von Steinberg, "Quartz AudioMaster" von Digital Sound Planet und "LogicFun" von ehemals eMagic, von dem aber noch etliche Exemplare existieren dürften. Die Programmiertechniken sind übertragbar auf die neueren und komplexeren Produkte dieser Firmen sowie sinngemäß auf viele andere MIDI-Sequencer.
Von "Quartz" gibt es eine recht ausgereifte Freeware Version, deren einziger gravierender Nachteil für die hier besprochenen Anwendungen darin besteht, dass dort das "Controller" Fenster zum visuellen Editieren von CONTROL CHANGE und PITCH BEND Befehlen nicht verfügbar ist. MIDI-Befehle ausser NOTE ON lassen sich praktisch nur im Event-Editor bearbeiten und lokalisieren. Allerdings sind auch die kommerziellen Versionen von "Quartz" in dieser Hinsicht eher dürftig.
Wir haben ausserdem in diesem Zusammenhang die Sequencer "JAZZ++" (Windows Version), "Sweet Sixteen" und "Anvil Studio" getestet und würden diese weniger empfehlen.

Es werden nur die speziell für die Programmierung der Lichtsteuerung notwendigen Schritte detailliert beschrieben und sehr einfache einführende Beispiele gegeben. Grundsätzliche Kenntnis der Programme wird vorausgesetzt.

Aus systematischen Gründen werden die Steuerbefehle im Manual der MIDI/DMX Box vorwiegend im Hexadezimalformat beschrieben. Die hier betrachteten Sequencer- Programme verstehen jedoch nur Eingaben im Dezimalformat. Daher werden hier alle Zahlen im Dezimalformat dargestellt. Die Umrechnung vom Hexadezimalsystem ins Dezimalformat und umgekehrt ist aber nicht so schwierig, wie manche denken.

Codierungstechnische Grundlagen

Für eine Lichtsteuerung (d.h. ohne Feedback von der MIDI/DMX Box zum PC) werden folgende 5 MIDI-Nachrichtentypen verwendet:
  • CONTROL CHANGE bzw. alternativ auch NOTE ON,
  • POLY KEY PRESSURE (teilweise auch als "Polyphonic Aftertouch" bezeichnet)
  • PITCH CHANGE (oft auch als "Pitchwheel Change" oder einfach als "Pitch Change" bezeichnet).
  • (PROGRAM CHANGE wird eingesetzt zum Speichern und Laden von Presets sowie zum Einstellen verschiedner Systemparameter. Auf diese sehr nützlichen Eigenschaften wird in dieser kurzen Anleitung jedoch nicht weiter eingegangen.)
NOTE ON Nachrichten lassen sich in allen Sequencer-Programmen am leichtesten bearbeiten, haben jedoch den prinzipiellen Nachteil, dass am Ende jeder Note entweder ein NOTE OFF oder ein NOTE ON mit Velocity=0 kommt. "Cubasis" sendet z.B. nach Ablauf der Notendauer automatisch eine NOTE OFF Nachricht, "Quartz" und "LogicFun" senden dagegen automatisch eine zweite NOTE ON Nachricht mit Anschlagstärke 0. Die MIDI/DMX Box ist unempfindlich für NOTE OFF Befehle. Die MIDI/DMX Box kann mit einem PROGRAM CHANGE Befehl (Datenbyte=121, Details siehe Manual) so konfiguriert werden, dass sie NOTE ON Befehle mit Velocity=0 ignoriert.

Jede dieser Nachrichten (ausser Program Change) besteht aus 3 Bytes: zuerst wird das Statusbyte gesendet (welches den Nachrichtentyp und den MIDI-Kanal beschreibt), dann das erste Datenbyte (in Cubasis mit "Wert1" bezeichnet, in Quartz mit "Val1" und in LogicFun mit "Num") und schließlich das zweite Datenbyte (in Cubasis mit "Wert2" bezeichnet, in Quartz mit "Val2" und in LogicFun mit "Val").

Das Statusbyte brauchen wir bei der hier anstehenden Programmierung nicht explizit zu berücksichtigen, weil es bereits durch die im Sequencer ohnehin vorzunehmenden Einstellungen und Eintragungen (siehe unten) bestimmt wird und automatisch vom Sequencer richtig gesendet wird.

Die beiden Datenbytes können entsprechend dem MIDI-Standard nur im 7-Bit Format übertragen werden, das höchstwertige Bit ist grundsätzlich gleich 0. DMX-Datenkanäle werden jedoch im 8-Bit Format eingestellt. Ausserdem erfordert das DMX-Format bis zu 10 Bit lange Adressen. Es ist also technisch unmöglich, mit einem elementar konstruierten MIDI-Befehlstyp eine vollständige DMX-Steuerung zu realisieren.

Für kleinere Lichtinstallationen mit bis zu 127 DMX-Kanälen bietet sich die Steuerung der MIDI/DMX Box mit einer CONTROL CHANGE oder NOTE ON Nachricht an:

Im ersten Datenbyte wird der mit dem Befehl anzusprechende DMX-Kanal codiert. Der Wert 0 ist verboten.

Praktisch heisst das: In "Wert1" (Cubasis) bzw. "Val1" (Quartz) "Num"(LogicFun) wird einfach der mit dem Befehl anzusprechende DMX-Kanal als Dezimalzahl eingetragen.

Im zweiten Datenbyte "Wert2" (Cubasis) bzw. "Val2" (Quartz) oder "Val" (LogicFun) ist die in diesem DMX-Kanal einzustellende (End-)Helligkeit im 7-Bit Format codiert. Um mit den 128 per MIDI einstellbaren Werten alle 256 DMX-Werte einzustellen, wird der MIDI-Wert in der MIDI/DMX Box mal 2 genommen.
Dabei gilt folgende Ausnahme: der MIDI-Wert 127 wird in den DMX-Wert 255 umgewandelt, weil manche DMX-Geräte unbedingt diesen Maximalwert benötigen.

Um z.B. eine DMX-Helligkeit von 40% zu erreichen, ist beim DMX-Dimmer ein Wert von dezimal 0,4 mal 255 =102 (=hex66) einzustellen. Per MIDI-Befehl ist dazu also als 2. Datenbyte 51 (=hex33) zu programmieren.

Allgemein gilt die Rechenformel für das 2. MIDI-Datenbyte:
2.Datenbyte = gewünschte DMX-Helligkeit in Prozent mal 255 geteilt durch 200

Der beim Teilen entstehende Rest wird ignoriert, d.h. es wird immer nach unten abgerundet.

Automatisch ausgeführte Blenden:

Gerade bei der Ansteuerung durch nicht speziell für Lichtsteuerung konzipierte Anwenderprogramme ist es sehr von Vorteil, dass für jeden DMX-Kanal ein kompletter Blendvorgang mit lediglich 2-3 MIDI-Befehlen ausgelöst und durchgeführt werden kann (max. 24 Fade-Prozesse gleichzeitig). Dazu gibt es in der MIDI/DMX Box ein spezielles Blendzeit- Register, das mit einem POLY KEY PRESSURE Befehl beschrieben wird:

Der Grobwert der Blendzeit in Sekunden wird als erstes Datenbyte gesendet (Maximalwert = 31 Sekunden). Im 2. Datenbyte können dazu noch Zehntelsekunden addiert werden (0 bis 9).

Nach dem Einschalten bzw. Reset der Box ist immer die Blendzeit 0 eingestellt. (DMX-Wert Einstellungen mit Blendzeit=0 belegen keine Fader-Resource!)

Bei jedem Einstellbefehl für die DMX-Helligkeit eines beliebigen DMX-Kanals wird der beim Eintreffen des Einstellbefehls im Blendzeit Register eingetragene Wert in eine eigene Dimmerstruktur kopiert (und dort anschliessend in Echtzeit abgearbeitet). Unmittelbar nach dem Kopieren kann das Blendzeit- Register für den nächsten Blendbefehl modifiziert werden. Um mehrere DMX-Offsets mit unterschiedlichen Zeiten zu blenden, muss also nicht das Ende eines laufenden Blendvorgangs abgewartet werden.

Um den vollen Bereich von 512 DMX-Kanälen zu nutzen, sind in der MIDI/DMX Box zwei verschiedene Verfahren vorgesehen.
Am einfachsten anwendbar ist die Steuerung auf zusätzlich reservierten MIDI-Kanälen:

  • Wird ein CONTROL CHANGE oder NOTE ON Befehl auf dem MIDI-Kanal gegeben, der um eins höher ist als der am Codierschalter eingestellte, so wird 128 addiert zum im ersten MIDI-Datenbyte eingetragenen DMX-Kanal (d.h. adressierbar DMX-Kanäle 128 bis 255). Eintrag 0 ist hier zulässig. Im zweiten MIDI-Datenbyte wird der DMX-Wert im 7-Bit Format angegeben wie oben beschrieben.

  • Wird ein CONTROL CHANGE oder NOTE ON Befehl auf dem MIDI-Kanal gegeben, der um zwei höher ist als der am Codierschalter eingestellte, so wird 256 addiert zum im ersten MIDI-Datenbyte eingetragenen DMX-Kanal (d.h. adressierbar DMX-Kanäle 256 bis 383).

  • Wird ein CONTROL CHANGE oder NOTE ON Befehl auf dem MIDI-Kanal gegeben, der um drei höher ist als der am Codierschalter eingestellte, so wird 384 addiert zum im ersten MIDI-Datenbyte eingetragenen DMX-Kanal (d.h. adressierbar DMX-Kanäle 384 bis 511).

  • Wird ein CONTROL CHANGE oder NOTE ON Befehl auf dem MIDI-Kanal gegeben, der um vier höher ist als der am Codierschalter eingestellte, so wird 512 addiert zum im ersten MIDI-Datenbyte eingetragenen DMX-Kanal (d.h. hier darf nur der Wert 0 eingetragen sein zur Adressierung des DMX-Kanals Nr.512).
Zu beachten ist, dass die MIDI/DMX Box somit stets 5 MIDI-Kanäle belegt, auch wenn nur 127 DMX-Kanäle angesprochen werden sollen. D.h. wenn auf diesen Kanälen gleichzeitig Musikdaten gesendet werden, wird es zu Fehlinterpretationen kommen.
Um möglichst unproblematisch zusammenzuarbeiten mit komplexer Musik-Programmierung, reagiert die MIDI/DMX Box bei bestimmten Einstellungen des Codierschalters exklusiv auf den eingestellten Kanal:
  • MIDI/DMX Control Box:
            Codierschalter Stellung F = MIDI Kanal 15 und
            Codierschalter Stellung 0 = MIDI Kanal 16
  • MIDI/DMX Generator:
            Codierschalter Stellung D = MIDI Kanal 13,
            Codierschalter Stellung E = MIDI Kanal 14 und
            Codierschalter Stellung F = MIDI Kanal 15
  • MIDI/DMX GenIO:
            Codierschalter Stellung D = MIDI Kanal 13 und
            Codierschalter Stellung E = MIDI Kanal 14

Wenn nur ein MIDI-Kanal zur Verfügung steht, ist ein alternatives Programmierschema implementiert, bei dem mittels einer POLY KEY PRESSURE Nachricht alle 512 DMX-Kanäle adressiert werden (dabei wird noch keine Veränderung der gesendeten DMX-Daten vorgenommen) und mit einer zusätzlichen PITCH CHANGE der so adressierte DMX-Kanal mit 8 Bit Genauigkeit eingestellt werden kann.

Dabei denkt man sich am besten den Bereich 1 bis 512 aufgeteilt in fünf Blöcke. Das erste MIDI-Datenbyte gibt die Basisadresse des angesprochenen DMX-Kanalblocks an. Das zweite MIDI-Datenbyte enthält den anzusprechenden MIDI-Kanal als Offset zum Basiskanal.

  • Wenn das erste Datenbyte =80 (hex50) ist, werden die DMX-Kanäle 1 bis 127 angesprochen. (Zweites Datenbyte=0 ist unzulässig)
  • Wenn das erste Datenbyte =81 (hex51) ist, werden die DMX-Kanäle 128 bis 255 angesprochen. Das zweite MIDI-Datenbyte wird berechnet mit der Formel (Kanal-128).
  • Wenn das erste Datenbyte =82 (hex52) ist, werden die DMX-Kanäle 256 bis 383 angesprochen. Das zweite MIDI-Datenbyte wird berechnet mit der Formel (Kanal-256).
  • Wenn das erste Datenbyte =83 (hex53) ist, werden die DMX-Kanäle 384 bis 511 angesprochen. Das zweite MIDI-Datenbyte wird berechnet mit der Formel (Kanal-384).
  • Wenn das erste Datenbyte =84 (hex54) ist, wird allein der DMX-Kanal 512 angesprochen. Das zweite MIDI-Datenbyte muss =0 sein.

Die Einstellung der DMX-Helligkeit am zuvor adressierten DMX Kanal mit voller 8 Bit Genauigkeit wird mit einer PITCH CHANGE Nachricht durchgeführt.

  • Soll ein DMX-Helligkeitswert mit 8 Bit Genauigkeit (Bereich 0 bis 255) eingestellt werden, dann wird zum Einstellen gerader Helligkeitswerte eine 0 im ersten Datenbyte eingetragen, zum Einstellen ungerader Helligkeitswerte wird eine 1 im ersten Datenbyte eingetragen.
    D.h. der DMX-Wert wird berechnet, indem das zweite Datenbyte mal 2 genommen und das erste Datenbyte dazu addiert wird.
Bevor wir nun die Umsetzung dieser Programmierbefehle auf den Sequencer- Programmen besprechen, sei noch die Einstellung der DMX-Zykluslänge erwähnt. Nach dem Einschalten bzw. Reset der MIDI/DMX Box umfasst der DMX-Zyklus 64 Bytes. Das ist einerseits ausreichend für kleinere Installationen, andererseits wird die DMX-Wiederholrate beim Abarbeiten aller 512 Offsets bereits sehr langsam.
Die explizite Einstellung des DMX-Zyklus wird bei der MIDI/DMX-Box folgendermassen durchgeführt: Zuerst wird der maximal zu sendende DMX-Kanal adressiert mit einem der oben beschriebenen Befehle, z.B. mit dem POLY KEY PRESSURE Befehl. Dann wird mit einem zusätzlichen POLY KEY PRESSURE Befehl, bei dem beide Datenbytes = 127 sind, die Zykluslänge auf diesen Wert eingestellt.

In der Praxis ist es jedoch nicht notwendig, bei der MIDI/DMX Box die Zykluslänge explizit einzustellen. Sobald ein Wert in einen DMX-Kanal über 64 eingetragen wird, korrigiert sich die Zykluslänge automatisch entsprechend nach oben. Falls gewünscht, kann also mit einem ersten Befehlssatz DMX-Kanal 512 auf 0 eingestellt werden und es werden sofort DMX-Daten für alle 512 Dimmer gesendet.

Praktische Programmierung mit "Cubasis VST"

  • Vorab sollte natürlich die MIDI/DMX-Box an den MIDI-Ausgang des PC angeschlossen sein, die Stromversorgung eingeschaltet, der richtige MIDI-Kanal eingestellt sein und ein funktionsfähiger DMX-Dimmer mit Lampe und/oder wenn vorhanden ein DMX-Tester angeschlossen und auf Funktion getestet sein.

  • Als erster Schritt müssen 5 MIDI-Kanäle exklusiv für die Lichtsteuerung reserviert werden (bzw. nur einer bei entsprechender Stellung des Codierschalters). Details siehe Manual. Wenn man z.B. Spur 1 belegt, ist automatisch MIDI-Kanal 1 voreingestellt. Als Ausgang muss für diese Spuren ein PC-seitig funktionsfähig installierter MIDI-Ausgang selektiert werden.

  • Für diese Spur(en) muss ein "Part" ausreichdender Länge erzeugt werden (Menu "Struktur"). Für einen ersten Versuch eignet sich gut eine 5 Sekunden lange Sequenz. Mit der linken Maustaste kann der "Part" verschoben werden. Mit der rechten Maustaste wird eine Toolbox geöffnet. Mit dem dort vorhandenen Bleistift-Tool kann die Länge des Part modifiziert werden. Auf dem "Transportfeld" sollte zum Testen Endlos-Loop eingestellt werden. Auf der Skala ganz oben auf dem Bildschirm können die Anfangs- und Endpunkte des Transport-Loop mit der linken bzw. rechten Maustaste verschoben werden. "Click" sollte zur besseren Übersichtlichkeit ausgeschaltet werden.

  • Die folgenden Arbeiten finden im "Listen-Editor" statt, der mit dem Menu "Bearbeiten" geöffnet wird. Vorher muss darauf geachtet werden, dass der erzeugte Part auch aktiv ist. Im Hauptbildschirm (ggf. Listeneditor schliessen) muss der Part schwarz mit roter Umrandung erscheinen. Andernfalls mit der Maus reinklicken.

  • Als erstes wird dort der einzufügende MIDI-Nachrichtentyp ausgewählt (oben auf dem Bildschirm zweites Popup Menu in der unteren Reihe, voreingestellt ist dort "Einfg.Note"). Hier wird nun zuerst "Einfg. CtrlChange" ausgewählt.

  • Dann wird mit der rechten Maustaste die Toolbox geöffnet und das Bleistift-Tool gewählt.

  • Nun bewegt man den Mauszeiger im rechten Bildschirmteil zum Zeitpunkt, an dem an ein Event setzen möchte (innerhalb der vorher definierten Part-Zeitachse!) und klickt mit der rechten Taste in eines der Rechtecke. Dort wird im rechten Bildschirmteil eine schwarze Markierung gesetzt, in der linken Bildschirmhälfte entsteht ein neuer, blau unterlegter Zeileneintrag. Die Einträge sind zeitlich sortiert, d.h. wenn es bereits vorher hier Einträge gab, wird der neue Eintrag in der richtigen zeitlichen Abfolge in die Liste eingetragen. Der Text unter "Status" beschreibt die MIDI-typische Bezeichnung dieses Controllers, ist aber für unsere Belange unwesentlich.

  • Durch Doppelklick auf den automatisch erzeugten Eintrag unter "Wert1" öffnet sich ein Schreibfeld, in das der - wie oben beschrieben - berechnete Wert des ersten Datenbytes als Dezimalzahl eingetragen wird. Dabei ändert sich der Text bei "Status", was aber für uns keine Bedeutung hat.

  • Durch Doppelklick auf den automatisch erzeugten Eintrag unter "Wert2" öffnet sich ein Schreibfeld, in das der - wie oben beschrieben - berechnete Wert des zweiten Datenbytes als Dezimalzahl eingetragen wird.

  • Wir wollen versuchsweise DMX-Kanal 1 auf halbe Helligkeit schalten. Dazu wird bei "Wert1" eine 1 eingetragen und bei "Wert2" eine 63 (Berechnungsgrundlagen siehe oben).

  • Dann im Transportfeld die grüne Play-Taste anklicken. Wenn nun der Zeiger der Zeitachse über das so erzeugte Event läuft, sollte die am DMX-Dimmer angeschlossene Lampe hell werden. Kurz vor Erreichen des Events leuchtet im Transportfeld von Cubasis bei "Out" eine grüne Bargraph-Simulation auf.
    Wenn der Loop neu startet springt der Zeitachsen-Zeiger auf den Anfang des Parts zurück. Dabei wird automatisch für ddas zuletzt aktivierte Event auf einen Standardwert eingestellt, d.h. für den Controller wird der Wert1=0 gesendet, d.h. die Lampe geht aus. Weiss jemand, wie man das abschalten kann? Auf jeden Fall hat man so ein einfaches Blinklicht programmiert.

  • Nun wird ein neues "PolyPress" Event knapp vor dem bereits bestehenden erzeugt und dort Wert1=2 und Wert2=0 eingegeben. Damit ist ein Blendvorgang von 2 Sekunden erzeugt worden, den man praktisch testen kann.

  • Um das Experiment zu vervollständigen, wird nun etwas mehr als 2 Sekunden nach dem zuerst eingetragenen Event ein Event des Typs "PolyPress" installiert, mit dem wie oben beschrieben, nach einer alternativen Methode ein DMX-Dimmer adressiert wird. Um DMX-Dimmer Nr.1 zu adressieren, muss bei "Wert1" eine 80 eingetragen werden. Allerdings wird daraufhin angezeigt "G#-4" was die Musiker-spezifische Bezeichnung der MIDI-Note Nr. 80 ist (siehe Tabelle ganz unten). Ausserdem wird bei bei "Wert2" eine 1 eingetragen.

  • Unmittelbar danach auf der Zeitachse wird nun ein "PitchBend" Event erzeugt mit Wert1=0 und Wert2=25 (zum Beispiel). Damit wird der DMX-Dimmer auf den Wert 50 (ca 20%) zurückgefahren. PitchBend wird wie oben für den Controller beschrieben von Cubasis beim Loopen automatisch auf 64 initialisiert. Für eine sauber laufende Installation muss man sich passende Abhilfen für diese Seiteneffekte ausdenken, z.B. kurz vor Ende der Installation nicht angeschlossene Lampen ansteuern, die dann beim Loopen mit Dummy-Daten angesteuert werden.

  • Schliesslich kann man vor diesen beiden Events noch das Blendzeitregister verändern, z.B. auf den Wert 0 Sekunden.

  • Damit ist das Handwerkszeug erarbeitet, um längere und komplexere Lichtsteuerungen mit der MIDI/DMX Box zu programmieren.


Praktische Programmierung mit "Quartz AudioMaster"

  • Vorab sollte die MIDI/DMX-Box an den MIDI-Ausgang des PC angeschlossen sein, die Stromversorgung eingeschaltet, der richtige MIDI-Kanal eingestellt sein und ein funktionsfähiger DMX-Dimmer mit Lampe und/oder wenn vorhanden ein DMX-Tester angeschlossen und auf Funktion getestet sein.
    Im Menu "Options -- MIDI Devices" muss ein auf dem PC hardwareseitig installiertes MIDI Interface ausgewählt werden.

  • Als erster Schritt müssen 5 MIDI-Kanäle exklusiv für die Lichtsteuerung reserviert werden (bzw. nur einer bei entsprechender Stellung des Codierschalters). Details siehe Manual. Es bietet sich an, hierfür die Spuren MIDI01 bis MIDI05 (die ersten 5 MIDI-Spuren) zu nehmen. Wenn man nur Licht steuern will, kann man die anderen Spuren löschen.

  • Um für diese Spur(en) aktive MIDI-Spueren zu erzeugen, muss man mit der rechten Maustaste das Werkeug-Fenster öffnen und mit Doppelklick das Bleistift Symbol auswählen. Damit kann man sich die gewünschten Spuren in das "Tracks" Fenster legen und mit dem Pfeil-Symbol aus dem Werkzeugkasten aktivieren. Leider ist das Verfahren nicht besonders intensiv, so dass man zu Anfang wohl etwas üben bzw. die Hilfedatei zur Rate ziehen muss. Aktive Spuren sind dunkelrot eingefärbt. Für einen ersten Versuch eignet sich gut eine 5 Sekunden lange Sequenz. Im "Control" Fenster sollte sollte zum Testen "LOOP" aktiviert und "CLICK" deaktiviert werden.

  • Die folgenden Arbeiten finden im "Event-Editor" statt, der als Unterpunkt des Menu "Windows" geöffnet wird. Der Editor bearbeitet immer die aktive Spur. Das korrekte Öffnen des Editors ist zu Anfang etwas tricky, sowohl oben als unten muss "Events" angehakt sein.

  • Als erstes wird dort mit "ADD" ein Eintrag erstellt. Damit wird der Dialog "MIDI Event" geöffnet.
    Mit "Position" wird der Zeitpunkt des Events festgelegt. Die Zeitachse ist musikermässig geeicht in "Bars", "Beats" und "Clock Ticks". Die damit verbundene Abspielgeschwindigkeit wird im "Control Windows" bei "TEMPO" justiert: TEMP=120, MEAS 1 2 ergibt in etwa eine in Sekunden geeichte Timeline. Die untere POSITIONS-Anzeige im "Control Window" ist aber in Timecode-Sekunden geeicht.
    Mit "Event" wird der MIDI-Befehlstyp ausgewählt, mit "Chan" der MIDI-Kanal und mit "Val1" und "Val2" die Datenbytes. Bei NOTE ON Events kann man leider keine Zahlenwerte für "Val1" eingeben, sondern muss stattdessen die entsprechenden Notenbezeichnungen herausfinden. Bei unserer Testversion von "Quartz" ist aufgefallen, dass "Quartz" die Velocity jeder Note eins niedriger ausgibt als im Editor eingestellt. Ansonsten ist der Event-Editor sehr handlich und intuitiv aufgebaut. Die Spalte "Duration" ist für unsere Anwendungen uninteressant, man kann die automatisch eingetragenen Werte übernehmen.

  • Wir wollen versuchsweise nach 2 Sekunden DMX-Kanal 1 mit Hilfe eines CONTROL CHANGE Befehls auf halbe Helligkeit schalten. Dazu öffnen wir mit "ADD" das Fenster "MIDI Event", wählen "Contrl", Chan =1, Val2 =1, Val2=64. In "Position" wird in der ersten Spalte 3 eingetragen (Achtung, die Timeline beginnt bei 1!), bei "Beats" muss die vorgegebene 1 übernommen werden.

  • Dann im "Control Window" die Play-Taste anklicken. Wenn nun der Zeiger der Zeitachse über das so erzeugte Event läft, sollte die am DMX-Dimmer angeschlossene Lampe hell werden. Beim Erreichen des Events springt im Transportfenster die Schrift "Ausgang" kurz um auf die gesendete MIDI-Nachricht.

  • Nun wird ein neues "Poly Key Pressure" Event knapp vor dem bereits bestehenden erzeugt und dort Val1=2 und Val2=0 eingegeben. Damit ist ein Blendvorgang von 2 Sekunden erzeugt worden, den man praktisch testen kann.

  • Um das Experiment zu vervollständigen, wird nun etwas mehr als 2 Sekunden nach dem zuerst eingetragenen Event ein Event des Typs "KeyPr" installiert, mit dem wie oben beschrieben, nach einer alternativen Methode ein DMX-Dimmer adressiert wird. Um DMX-Dimmer Nr.1 zu adressieren, muss bei "Val1" der Wert 80 eingetragen werden. Das ist nicht direkt möglich, 80 entspricht der Eintrag "G#4" was die Musiker-spezifische Bezeichnung der MIDI-Note Nr. 80 ist. Eine Tabelle der Notenbezeichnungen mit den dazu gehörigen MIDI-Notenwerten siehe unten. Ferner wird bei bei "Val2" eine 1 eingetragen.

  • Unmittelbar danach auf der Zeitachse wird nun ein "PBend" Event erzeugt mit Val1=0 und Val2=25 (zum Beispiel). Damit wird der DMX-Dimmer auf den Wert 50 (ca 20%) zurückgefahren. Anders als "Cubasis" scheint "Quartz" beim Loopen keine Parameter zu "neutralisieren".

  • Schliesslich kann man vor diesen beiden Events noch das Blendzeit- Register verändern, z.B. auf den Wert 0.

  • Wenn NOTE ON Nachrichten gesendet werden, springt der Bargraph auf dem entsprechenden Mixer-Kanal kurz auf die eingestellte Velocity. Ansonsten gibt es leider keine LED-Simulation oder was ähnliches, womit gesendete MIDI-Events auf dem Bildschirm signalisiert werden.

  • Damit ist das Handwerkszeug erarbeitet, um längere und komplexere Lichtsteuerungen mit "Quartz AudioMaster" und der MIDI/DMX Box zu programmieren.


Praktische Programmierung mit "LogicFun"

  • Vorab sollte die MIDI/DMX-Box an den MIDI-Ausgang des PC angeschlossen sein, die Stromversorgung eingeschaltet, der richtige MIDI-Kanal eingestellt sein und ein funktionsfähiger DMX-Dimmer mit Lampe und/oder wenn vorhanden ein DMX-Tester angeschlossen und auf Funktion getestet sein. Bei der Macintosh Version muss ausserdem OMS korrekt installiert und konfiguriert sein.

  • Im Menu "Optionen -- Einstellungen -- Aufnahme-Einstellungen" sollte man zumindest für Tests alle Klicks und die MIDI-Clock deaktivieren.

  • Als erster Schritt müssen 5 MIDI-Kanäle exklusiv für die Lichtsteuerung reserviert werden (bzw. nur einer bei entsprechender Stellung des Codierschalters). Details siehe Manual. Bei der Start-Konfiguration von "LogicFun" bietet es sich an, hierfür Spur 5 bis 9 (die ersten 5 MIDI-Spuren) zu nehmen. Wenn man nur Licht steuern will, kann man die anderen Spuren löschen. Links unten auf dem Bildschirm muss man bei diesen Spuren die für die Lichtsteuerung vorgesehenen MIDI-Ausgänge einstellen.

  • Für diese Spur(en) muss mit der rechten Maustaste eine "Sequenz" ausreichender Länge erzeugt werden. Nachdem eine Grund-Sequenz erzeugt wurde, kann die Länge und Position mit der linken Maustaste gezogen werden. Für einen ersten Versuch eignet sich gut eine 5 Sekunden lange Sequenz. Im "Transportfenster" sollte zum Testen Endlos-Loop aktiviert werden.

  • Die folgenden Arbeiten finden im "Event-Editor" statt, der mit dem Menu "Fenster" geöffnet wird. Vorher muss darauf geachtet werden, dass die erzeugte Sequenz auch aktiv ist. Im Hauptfenster ("Arrangierfenster") muss die Sequenz schwarz mit weisser Umrandung erscheinen. Andernfalls mit der Maus reinklicken.

  • Als erstes wird dort der einzufügende MIDI-Nachrichtentyp ausgewählt.
    Dazu hat "LogicFun" im Event-Editor mehrere grüne Buttons. Unter dem Button mit dem Notensymbol ist der Button zum Erzeugen von Pitch Change Listenevents. Unter dem "88" Button ist der Button zum Erzeugen von "Control Change" Listenevents. Darunter, mit gestaffelten Gewichts-Symbolen ist der Button zum Erzeugen von "Poly Key Pressure" Listenevents.
    Zuerst wird ein CONTROL CHANGE Event in die Liste geholt. Dazu wird der Mauszeiger über den entsprechenden Button positioniert und auf die rechte Maustaste gedrückt. Mit der linken Maustaste werden die angeklickten Events deaktiviert (Button wird grau). Das sollte zumindest versehentlich vermieden werden.

  • Das Editieren des Event-Zeitpunkts erfolgt nach Anklicken des Zeiteintrags (wird weiss) im Textformat. Die Zeit kann auch variiert werden, durch seitliches Schieben der Maus mit gedrückter linker Maustaste. Vorsicht, die Zeiteinstellung mit der Maus ist sehr fummelig. Wenn man sich vertan hat, sortieren sich die Einträge blitzschnell nach der zeitlichen Reihenfolge. Wenn man nicht aufpasst, arbeitet man anschliessend in der falschen Zeile weiter! Die Zeit ist organisiert nach Takten und Beats.

  • Wenn man auf die Zahl unter "Num" klickt öffnet sich eine Tabelle mit Zahlen 0 bis 127 und danebenstehenden Texten. Die Texte sind uninteressant, es ist der Zahlenwert auszuwählen, der dem einzutragenden MIDI-Datenbyte 1 entspricht. Dies ist z.B. 1 um den DMX-Dimmer Nr. 1 anzusprechen. Der Text aus der Liste wiederholt sich unter "Length/Info", ist aber für uns unwesentlich.

  • Wir wollen versuchsweise DMX-Kanal 1 auf halbe Helligkeit schalten. Zur Einstellung des MIDI-Datenbyte 2 wird die Zahl unterhalb "Val" angeklickt. Bei gedrückter linker Maustaste wird die Maus auf und ab geschoben bis der richtige Wert eingestellt ist. Wir wollen für halbe Helligkeit den "Val" 63 einstellen. (Berechnungsgrundlagen siehe oben).

  • Dann muss das Hauptfenster ("Arrangierfenster") durch Anklicken in den Vordergrund gebracht werden. Die bearbeitete Sequenz muss zum Abspielen aktiviert sein (rote Farbe), das geschieht durch Klicken neben den Sequenz-Kasten, was man meistens automatisch beim Anklicken des Arrangierfensters mit erledigt.

  • Dann im Transportfenster die Play-Taste anklicken. Wenn nun der Zeiger der Zeitachse über das so erzeugte Event läft, sollte die am DMX-Dimmer angeschlossene Lampe hell werden. Beim Erreichen des Events springt im Transportfenster die Schrift "Ausgang" kurz um auf die gesendete MIDI-Nachricht.

  • Nun wird ein neues "Poly Key Pressure" Event knapp vor dem bereits bestehenden erzeugt und dort Num=2 und Val=0 eingegeben. Damit ist ein Blendvorgang von 2 Sekunden erzeugt worden, den man praktisch testen kann.

  • Um das Experiment zu vervollständigen, wird nun etwas mehr als 2 Sekunden nach dem zuerst eingetragenen Event ein Event des Typs "Poly Key Pressure" installiert, mit dem wie oben beschrieben, nach einer alternativen Methode ein DMX-Dimmer adressiert wird. Um DMX-Dimmer Nr.1 zu adressieren, muss bei "Num" durch Drücken der linken Maustaste und Schieben der Maus der Wert 80 eingetragen werden. Das ist nicht direkt möglich, 80 entspricht der Eintrag "G#-4" was die Musiker-spezifische Bezeichnung der MIDI-Note Nr. 80 ist. Eine Tabelle der Notenbezeichnungen mit den dazu gehörigen MIDI-Notenwerten siehe unten. Ferner wird bei bei "Val" eine 1 eingetragen.

  • Unmittelbar danach auf der Zeitachse wird nun ein "PitchBend" Event erzeugt mit Num=0 und Val=25 (zum Beispiel). Damit wird der DMX-Dimmer auf den Wert 50 (ca 20%) zurückgefahren. Anders als "Cubasis" scheint "LogicFun" beim Loopen keine Parameter zu "neutralisieren".

  • Schliesslich kann man vor diesen beiden Events noch das Blendzeit- Register verändern, z.B. auf den Wert 0.

  • Damit ist das Handwerkszeug erarbeitet, um längere und komplexere Lichtsteuerungen mit "LogicFun" (und "LogicAudio") und der MIDI/DMX Box zu programmieren.

Notenbezeichnungen und MIDI-Notenwerte

Es gibt mehrere Arten, die verschiedenen Oktaven zu bezeichnen.
Das unten vorgestellte Schema wird in allen 3 hier beschriebenen Sequencern verwendet.

  C C# D D# E F F# G G# A B H
-2 0 1 2 3 4 5 6 7 8 9 10 11
-1 12 13 14 15 16 17 18 19 20 21 22 23
  24 25 26 27 28 29 30 31 32 33 34 35
1 36 37 38 39 40 41 42 43 44 45 46 47
2 48 49 50 51 52 53 54 55 56 57 58 59
3 60 61 62 63 64 65 66 67 68 69 70 71
4 72 73 74 75 76 77 78 79 80 81 82 83
5 84 85 86 87 88 89 90 91 92 93 94 95
6 96 97 98 99 100 101 102 103 104 105 106 107
7 108 109 110 111 112 113 114 115 116 117 118 119
8 120 121 122 123 124 125 126 127 --- --- --- ---

        

* Informationsstand Oktober 2005. Technische Änderungen und Irrtum vorbehalten.
* Alle Informationen nach bestem Wissen, jedoch ohne Gewähr und unter Ausschluß jeglicher Haftung.
* Im Text zitierte Warenzeichen und Produktnamen sind geschütztes Eigentum ihrer Eigentümer.