In den meisten Fällen, wo wir als Lichttechniker über MIDI nachdenken, läuft es so ab: jemand spielt ein Musikstück, ein Geräusch oder ein Video ab und synchron dazu soll irgendetwas mit dem Licht passieren. Genau darum geht es in diesem Artikel.
Dieser Artikel ist Teil einer Serie über MIDI. Hier geht es zu den anderen Beiträgen:
- Einleitung
- Licht steuert Ton oder Video
- Ton steuert Licht mit MIDI Show Control (diese Seite)
- Ton steuert Licht mit MIDI Time Code
in diesem Beitrag:
- welches Protokoll?
- Ton oder Video steuert Licht mit MIDI Show Control
- MSC-Kommandos und was sie in Eos bewirken
- Folgende Punkte musst du beachten
- mit MSC Makro ausführen
- mit MSC Cue starten, pausieren, fortsetzen
- mit MSC Wert für Submaster, Master Playback Fader oder Grandmaster setzen
Welches Protokoll?
Wenn wir unsere Eos-Konsole von einem externen MIDI-fähigen Gerät fernsteuern lassen wollen, haben wir zwei(ein halb) Möglichkeiten: MIDI Show Control (MSC) oder MIDI Time Code (MTC).
Standard Midi-Befehle wie Note-On oder Note-Off sind leider nicht möglich. Eos kann diese Befehle zwar senden, aber nicht empfangen.
Eine andere Möglichkeit der Fremdsteuerung ist noch SMPTE-Timecode. Dieser hat zwar eigentlich nichts mit MIDI zu tun, funktioniert aber genau so wie MIDI-Timecode. Lediglich der Übertragungsweg ist ein anderer.
SMPTE wird auf ein Audio-Signal aufmoduliert, benötigt also ein Tonsignal. Vorausgesetzt, das Abspielgerät kann SMPTE-Timecode generieren, muss der Tontechniker ein XLR-Kabel bringen. Dieses wird an die SMPTE-Buchse des Show-Control-Gateways angesteckt. Technisch gesehen handelt es sich dabei um ein Audio Line-In. Und nein, du kannst damit keine Lichtorgel bauen. Übrigens, bevor du weiter suchst, die Konsolen selber haben keine SMPTE-Buchse.
MIDI Time Code ist die Entsprechung des weitaus älteren SMPTE-Timecode auf Midi-Basis. Deshalb ist für uns die Arbeitsweise mit beiden Timecodes exakt die gleiche. MTC kommt jedoch über die Midi-In Buchse der Konsole oder des Show-Control-Gateways in das Pult.
Ton oder Video steuert Licht mit MIDI Show Control
Im Grunde genommen gilt hier dasselbe wie unter MSC automatisch senden beschrieben, nur anders rum. Das Abspielgerät muss in der Lage sein, MSC-Kommandos zu generieren. Was und wie das genau eingestellt wird, hängt leider von der Software ab und ist von Fall zu Fall verschieden.
Für meine Tests habe ich als Abspielsoftware das Programm Show Cue System in einer 30-Tage Demo Version herunter geladen. In diesem Programm muss man für die MSC Kommandos eine „Control-Send“ Spur anlegen und kann dann die Kommandos über Drop-Down Menüs zusammen klicken.
Allerdings bietet das Programm wesentlich mehr Auswahlmöglichkeiten, als die Eos versteht. Deshalb folgt hier eine Liste mit allen möglichen Kommandos, die du verwenden kannst.
MSC-Kommandos und was sie in Eos bewirken
MSC Nr. | MSC Kommando | Wirkung in Eos | Parameter | Einschränkung |
01 | Go | spielt eine Cue ab | Cue, Cueliste | |
02 | Stop | hält laufende Überblendung an (Pause) | ||
03 | Resume | angehaltene Überblendung wird fortgesetzt | ||
06 | Set | Setzt Wert für Submaster, Master Playback Fader oder Grandmaster | Wert 0 – 100% | nur Submaster 1 – 127 |
07 | Fire | Führt Makro aus | Makro | nur Makro 1 – 127 |
Folgende Punkte musst du beachten:
- Das Abspielprogramm muss in der Lage sein, MSC-Kommandos zu senden.
- Das MSC-Format muss auf 01(LIGHTING GENERAL) oder 7F(All Types) eingestellt sein
- Die Device-ID im Abspielgerät muss mit dem MSC Empfangskanal im Vorstellungs-Setup der Eos übereinstimmen.
- MSC Empfangen muss in der Eos eingeschaltet sein.
- ACN MIDI RxID muss mit der MIDI RxID im Show Control Gateway übereinstimmen. (siehe Einleitung)
mit MSC Makro ausführen
Aufgabe:
Bei jedem Schuss soll das Licht vom Kronleuchter „zittern“
Als erstes erstellst du auf deiner Konsole den Zittereffekt, dazu ein Makro, das diesen Effekt startet. Nehmen wir an, das Makro hat die Nummer 12.
In der Abspielsoftware stellt der Tontechniker ein, dass gleichzeitig mit der Sounddatei „schuss.mp3“ das MSC-Kommando Fire 12 (0C) gesendet wird. Wie das genau geht, ist je nach Software unterschiedlich, herauskommen sollte jedenfalls dieser String:
F0 7F 01 02 01 07 0C F7
F0 | Es folgt eine SysEx Meldung | immer F0 |
7F | Beginn der Meldung | immer 7F |
01 | Device ID 1 | MSC Empfangskanal in Setup -> Vorstellung |
02 | SysEx Meldung ist MSC | muss immer 02 sein |
01 | Befehlsformat, 01 steht für Licht | muss bei Sender und Empfänger gleich sein (Ausnahme 7F = All Types) |
07 | Befehl, 07 steht für Fire | Fire = Makro ausführen |
0C | Wert zum Befehl, hier Makro 12 | 12 = hexadezimal 0C |
F7 | Ende der Meldung | immer F7 |
Beispiele für Makro
MSC Empfangskanal 9, Format All Types, Makro 47
9 = 09 Hex / All Types = 7F / 47 = 2F Hex
F0 7F 09 02 7F 07 2F F7
MSC Empfangskanal 1, Format Lighting General, Makro 100
1 = 01Hex / Lighting General = 01 / 100 = 64 Hex
F0 7F 01 02 01 07 64 F7
mit MSC Cue starten, pausieren, fortsetzen
Aufgabe:
immer wenn die Klospülung betätigt wird, soll das Licht kurz „psychodelisch“ werden und dann wieder zurückkehren.
Für diesen Effekt hast du dir auf Cueliste 2 ein paar Stimmungen gebaut und zusammengehängt, die ganze Sequenz startet mit Cue 2/4.5
In der Abspielsoftware stellt der Tontechniker ein, dass gleichzeitig mit der Sounddatei „WC_Spuelung.mp3“ das MSC-Kommando Go / Q Number 4.5 / Q List 2 gesendet wird. Ein eventuelles Q Path bitte freilassen, damit kann Eos nichts anfangen.
Wie schon vorhin gesagt, wie das genau eingestellt wird, hängt von der verwendeten Software ab. Möglicherweise sind die Bezeichnungen für die Felder auch ein wenig anders. Die Syntax für Cue starten, pausieren und fortsetzen ist im Prinzip gleich und unterscheidet sich nur an einer Stelle, nämlich der Nummer für den Befehl.
Normalerweise wirst du dich mit den Hexadezimal-Strings nicht herumschlagen müssen. Wenn es aber mal nicht so tut wie erwartet, kann es nicht schaden die Bedeutung der Codes zu kennen.
Herauskommen sollte diesmal dieser String:
F0 7F 01 02 01 01 34 2E 35 00 32 F7
F0 | Es folgt eine SysEx Meldung | immer F0 |
7F | Beginn der Meldung | immer 7F |
01 | Device ID 1 | MSC Empfangskanal in Setup -> Vorstellung |
02 | SysEx Meldung ist MSC | muss immer 02 sein |
01 | Befehlsformat, 01 steht für Licht | muss bei Sender und Empfänger gleich sein (Ausnahme 7F = All Types) |
01 | Befehl, 01 steht für Go | 01 = Go, Cue starten 02 = Stop, Cue pausieren 03 = Resume, Cue fortsetzen |
34 2E 35 00 32 | Wert zum Befehl, hier Cue 2/4.5 | Erklärung siehe unten |
F7 | Ende der Meldung | immer F7 |
Der Wert für die Cue-Nummer sieht auf den ersten Blick sehr kompliziert aus, entschlüsseln kannst du ihn auf folgende Art:
- Die Cue-Nummer wird in die einzelnen Ziffern und Bestandteile zerlegt:
4.5 —> 4 / . / 5 - Jeder Ziffer wird eine 3 vorangestellt, jeder Punkt wird durch „2E“ ersetzt:
4 / . / 5 —> 34 2E 35 - Die Cue-Nummer wird durch 00 von der Cue-Liste getrennt, für Ziffern der Cue-Liste gilt das gleiche wie oben:
Cue 4.5 in Cue-Liste 2 —> 34 2E 35 00 32
Noch einmal mit einer längeren Nummer:
1 | 31 | Jeder Ziffer wird eine 3 vorangestellt |
3 | 33 | |
5 | 35 | |
. | 2E | Punkt wird durch 2E ersetzt |
9 | 39 | Jeder Ziffer wird eine 3 vorangestellt |
9 | 39 | |
Liste | 00 | Liste kommt nach Cue und wird durch 00 abgetrennt |
2 | 32 | Jeder Ziffer wird eine 3 vorangestellt |
6 | 36 |
Ergebnis: 31 33 35 2E 39 00 32 36
Der ganz String für starte Cue 26/135.99 (Device ID = MSC-Empfangskanl = 01, Befehlsformat=All Types)
F0 7F 01 02 7F 01 31 33 35 2E 39 00 32 36 F7
Beispiele für Cue
MSC Empfangskanal 2, Format All Types, starte Cue 2/100
2 = 02 Hex / Format All Types = 7F / starte Cue = 01
F0 7F 02 02 7F 01 31 30 30 00 32 F7
MSC Empfangskanal 14, Format Lighting General, starte Cue 7/54.5
14 = 0E Hex / Format Lighting General = 01 / starte Cue = 01
F0 7F 0E 02 01 01 35 34 2E 35 00 37 F7
MSC Empfangskanal 14, Format Lighting General, stoppe Cue 7/54.5
14 = 0E Hex / Format Lighting General = 01 / stoppe Cue = 02
F0 7F 0E 02 01 02 35 34 2E 35 00 37 F7
mit MSC Wert für Submaster, Master Playback Fader
oder Grandmaster setzen
Aufgabe:
Bei Ertönen der Fanfare Spot auf Schauspieler, ein paar Stimmungen später den Spot auf Handbewegung weg.
Warum auch immer, du entscheidest dich, das mit einem Submaster zu machen. Für dieses Beispiel liegt der Spot auf Submaster 5, den willst du voll rein ziehen.
In der Abspielsoftware stellt der Tontechniker ein, dass gleichzeitig mit der Sounddatei „fanfare.mp3“ das MSC-Kommando Set / Control Number 5 / Control Value 100 gesendet wird. Control Value ist dabei der Prozentwert des Submasters, du kannst eine Zahl von 0 bis 100 nehmen.
Wenn du den Submaster 5 voll aufziehen lassen möchtest, sollte also das herauskommen:
F0 7F 01 02 01 06 05 00 64 00 F7
F0 | Es folgt eine SysEx Meldung | immer F0 |
7F | Beginn der Meldung | immer 7F |
01 | Device ID 1 | MSC Empfangskanal in Setup -> Vorstellung |
02 | SysEx Meldung ist MSC | muss immer 02 sein |
01 | Befehlsformat, 01 steht für Licht | muss bei Sender und Empfänger gleich sein (Ausnahme 7F = All Types) |
06 | Befehl, 06 steht für Set | Submaster setzen |
05 | Wert zum Befehl, hier Submaster 5 | Sub 5 = hexadezimal 05 |
00 | Trennt Submaster Nummer vom Wert | Zwischen Sub Nr. und Wert muss 00 stehen (Ausnahme siehe Spezialfälle unten) |
64 | Wert (%) des Submasters | 0-100% / 100 = 64 Hexadezimal |
00 | Abschluss des % Wertes | Nach dem % Wert muss immer 00 stehen |
F7 | Ende der Meldung | immer F7 |
Spezialfälle Masterplayback Fader und Grandmaster
Mit dem Set-Kommando kannst du nicht nur Submaster bedienen, sondern auch den Grandmaster sowie die Master Playback-Up und Masterplayback-Down Fader. Laut MSC-Spezifikation sind diesen Spezialfadern feste Nummern zugeordnet. So entspricht der Master Playback-Up Fader dem Submaster 128, der Masterplayback-Down Fader dem Submaster 129 und der Grandmaster ist mit Submaster 510 gleichzusetzen.
Jetzt ist es aber so, das MSC mit 7-bit Hexadezimal Werten arbeitet, und diese können nur Werte von 0 – 127 darstellen. Um trotzdem die Submaster 128, 129 und 510 im Set-String abbilden zu können, wurde für diese Spezialfader eine Ausnahme geschaffen.
Sehen wir uns noch einmal den String für Submaster 5 an und zerlegen ihn in drei Teile:
F0 7F 01 02 01 06 05 00 64 00 F7
Der erste Teil F0 7F 01 02 01 06 ist sozusagen die Einleitung mit samt dem Set-Befehl, dieser Teil ist immer gleich, wenn wir Submaster setzen wollen.
Der zweite Teil 05 00 64 beschreibt die Nummer des Submasters und dessen Wert. Nur dieser zweite Teil wird sich von Fall zu Fall ändern. Die beiden mittleren Nullen wirken dabei als Trennzeichen. 00 trennt die Nummer des Submaster von seinem Prozent-Wert.
Der dritte Teil 00 F7 ist der Abschluss der Meldung und auch immer gleich.
Um das vorhin angesprochene Problem zu lösen, wird für die Master Playback Fader und den Grandmaster genau dieses Trennzeichen 00 verändert. Wir zerlegen den Block 05 00 64 noch einmal und sehen uns nur die beiden ersten Teile an. 64 entspricht dem Prozent-Wert des Submasters, dabei ist es egal ob es sich um einen Submaster oder einen der Spezialfader handelt.
Übrig bleibt also 05 00 für Submaster 5.
Für die Spezialfader wird nun das Trennzeichen und die Fadernummer verändert.
- Der Master Playback-Up Fader bekommt die Zeichenfolge 00 01
- Der Masterplayback-Down Fader bekommt die Zeichenfolge 01 01
- Der Grandmaster bekommt die Zeichenfolge 7E 03
Beispiele für Submaster und Fader
Master Playback Up @ 50 (50 = 32 Hex)
F0 7F 01 02 01 06 00 01 32 00 F7
Master Playback Down @50 (50 = 32 Hex)
F0 7F 01 02 01 06 01 01 32 00 F7
Grandmaster @ 50 (50 = 32 Hex)
F0 7F 01 02 01 06 7E 03 32 00 F7
Submaster 14 @ 50 (14 = 0E Hex, 50 = 32 Hex)
F0 7F 01 02 01 06 0E 00 32 00 F7
Submaster 14 @ 75 (14 = 0E Hex, 75 = 4B Hex)
F0 7F 01 02 01 06 0E 00 4B 00 F7
Submaster 10 @ 0 (10 = 0A Hex, 0 = 00 Hex)
F0 7F 01 02 01 06 0A 00 00 00 F7
Fazit
Für mich bietet sich MIDI Show Control vor allem an, wenn es um kurze Sounddateien geht, Blitz, Knall, Donner u.s.w., die irgendwelche Lichteffekte auslösen. Und da finde ich das Arbeiten mit Makros am einfachsten und flexibel umzusetzen.
Ein Kollege hatte eine Produktion mit einem Live-Video Künstler, da waren hunderte von Schnitten vorgegeben. Für jeden Schnitt wurde eine Cue angelegt, die genauso benannt wurde wie der Schnitt in QLab. Die ganze Show wurde dann von QLab aus gefahren. Ich nehme an, das passierte über den MSC – Go Befehl.
Wenn es darum geht, ein längeres Musikstück oder Video mit Licht zu synchronisieren, dann ist wohl MIDI Timecode (oder SMPTE-Timecode) die bessere Wahl. Das behandle ich im nächsten Artikel.
Dieser Artikel ist Teil einer Serie über MIDI. Hier geht es zu den anderen Beiträgen:
- Einleitung
- Licht steuert Ton oder Video
- Ton steuert Licht mit MIDI Show Control (diese Seite)
- Ton steuert Licht mit MIDI Time Code