MIDI – mit Eos externe Geräte steuern

In diesem Artikel geht es darum, mit Eos ein externes Gerät anzusteuern. Das kann ein Zuspieler für Sounddateien, Video, oder was auch immer sein. Hauptsache das Ding versteht MIDI.

Dieser Artikel ist Teil einer Serie über MIDI. Hier geht es zu den anderen Beiträgen:

in diesem Beitrag:

 

Licht steuert Ton mit MIDI-Standard Befehlen

Du kannst MIDI-Befehle entweder über eine Cue oder über ein Makro absetzen. Das Komplizierte daran ist, die genaue Syntax als hexadezimale Zeichenfolge zu schreiben.

Sehen wir uns die Zeichenfolge zum Senden eines Note-ON Befehls an:

90 18 7F

Der erste Block (90) besteht aus dem Statusbyte des Befehls, in diesem Fall „9“ für Note-ON und der Kennung des MIDI-Kanals, auf dem der Befehl ausgeführt werden soll. Die Zählung des MIDI-Kanals beginnt bei Null, Kanal 1 wird also als 0 geschrieben, Kanal 5 als vier usw. Der MIDI-Kanal in dieser Meldung muss mit dem Empfangskanal des angesteuerten Gerätes übereinstimmen.

Der zweite Block (18) beschreibt die Musiknote, die gespielt werden soll. In diesem Fall ein „C1“

Der dritte Block (7F) beschreibt die Stärke des Anschlags (Velocity) von 1 (schwach) bis 127 (stark) Ein Wert von 0 ist gleich einem Note-OFF zu setzen. Da die Werte hexadezimal erwartet werden, musst du diese erst umrechnen: 127 = 7F

nach oben

Noch einmal Zeichen für Zeichen:
9 Note-ON
0 MIDI Kanal 1 1-1=0 -> Hexadezimal 0
1
8
Musiknote „C1“ (32,7 Hz)  „C1“ entspricht Midinote Nr 24 -> Hexadezimal 18
7
F
Velocity 127 127 -> Hexadezimal 7F

Zum Umrechnen gibt es Online Tools. Wenn du Windows verwendest, kannst du das aber auch mit dem Standardtaschenrechner in der wissenschaftlichen Ansicht. Ich habe zwar keinen Mac, aber ich denke, beim Apfel gibt es auch so etwas.

Auf dem Blog von  Wolf Schuster findest du eine Tabelle mit MIDI-Befehlen und Noten.

Bitte beachte, in den meisten Tabellen ist der Statusbyte in der Form 9nH für Note-ON geschrieben. „H“ steht dabei für Hexadezimal, „n“ ist der Platzhalter für den MIDI-Kanal und „9“ ist das Einzige, was uns interessiert.

Leider gibt es auch bei der Zählung der Noten Unterschiede. Die Einen zählen von C-2 bis G8, die Anderen von C-1 bis G9, So wird das normale „C“ bei 32,703 Hz einmal als C0, dann wieder als C1 bezeichnet.

 

Code Dezimal eingeben

Du kannst den Befehl auch in dezimalen Zahlen eingeben in dem du ein „D“ voranstellst. Allerdings musst du dann den ersten Block aus Statusbyte und Kanal (90) auch dezimal eingeben.  Das ergibt dann 144.

Wenn du dir merkst (oder aufschreibst), das Note-ON auf Midi-Kanal 1 der Zahl 144 entspricht, brauchst du das nächste mal nur den Kanal – 1 dazu addieren.

Note-ON von Musiknote „C1“ auf Midi-Kanal 1 Dezimal eingeben
 D 144 24 127
D die Zeichenfolge wird dezimal angegeben
144 Note-ON auf Midi Kanal 1 = 90 Hexadezimal
oder Note-ON auf Midi Kanal 1 = 144
90 Hexadezimal -> 144 Dezimal
144 + (1 – 1) = 144
24 Musiknote „C1“ (32,7 Hz) „C1“ entspricht Midinote Nr 24
127 Velocity

nach oben

 

MIDI Befehl mit Makro senden

Um den Note-ON Befehl über ein Makro zu senden, gibt es im Makroeditor den Softkey MIDI_Daten_Senden. Wenn du diesen klickst, öffnet sich die virtuelle Tastatur, und du kannst die Zeichenfolge schreiben. Verwende auch für Ziffern die virtuelle oder USB-Tastatur, und nicht die Tastatur der Konsole. Zwischen den Blöcken muss immer genau ein Leerzeichen stehen.

Das fertige Makro schaut dann so aus:

MIDI_Daten_Senden 90 18 7F

nach oben

 

MIDI Befehl über Cueliste senden

Den gleichen MIDI-Befehl kannst du auch über eine Cue auslösen. Angenommen, du willst den Note-ON Befehl bei Start der Cue 5 senden. Dann lautet die Syntax so:

Cue 5 Execute MIDI Data 90 18 7F

MIDI Data erreichst du über More SK. In der Spalte Ext Links steht jetzt MIDI „90 18 7F“. Du musst die Zeichenfolge aber ohne Hochkomma eingeben.

Wenn alles richtig verkabelt ist, das Empfangsgerät auf den gleichen MIDI-Kanal hört und MIDI Tx ID und ACN Tx ID übereinstimmen, sollte es schon funktionieren. (siehe Einleitung)

Übrigens, Die Einstellung MSC Senden im Eos-Setup ist für das Senden von MIDI-Standard Befehlen nicht notwendig.

nach oben

 

Beispiele

Note-ON auf Kanal 8 für die Musiknote F1 (43,653 Hz)
 MIDI_Daten_Senden 97 1D 7F
9 Note-ON
7 MIDI Kanal 8 8-1=7 -> Hexadezimal 7
1
D
Musiknote „F1“ (43,7 Hz)  „F1“ entspricht Midinote Nr 29 -> Hexadezimal 1D
7
F
Velocity 127 127 -> Hexadezimal 7F
Note-OFF auf Kanal 8 für die Musiknote F1 (43,653 Hz)
 MIDI_Daten_Senden 87 1D 7F     oder MIDI_Daten_Senden 97 1D 00
8 Note-OFF
7 MIDI Kanal 8 8-1=7 -> Hexadezimal 7
1
D
Musiknote „F1“ (43,7 Hz) „F1“ entspricht Midinote Nr 29 -> Hexadezimal 1D
7
F
Velocity 127 127 -> Hexadezimal 7F

Alternativ entspricht ein Note-ON mit Velocity 0 einem Note-OFF Befehl

Program Change zu Programm 68 auf Kanal 16
 MIDI_Daten_Senden CF 44
C Program Change
F MIDI Kanal 16 16-1=15 -> Hexadezimal F
4
4
Programm 68 68 -> Hexadezimal 44
Note-OFF auf Kanal 7 von Musiknote „C2“ (65,406 Hz) Dezimal eingegeben
 Cue 13 Execute MIDI Data D 134 36 127
D die Zeichenfolge wird dezimal angegeben
134 Note-OFF auf Midi Kanal 7 = 86 Hexadezimal
oder Note-OFF auf Midi Kanal 1 = 128
86 Hexadezimal -> 134 Dezimal
128 + (7 – 1) = 134
36 Musiknote „C2“ (65,4 Hz) „C2“ entspricht Midinote Nr 36
127 Velocity

 

 

Licht steuert Ton mit MIDI Show Control

Du kannst MSC Befehle genauso senden, wie die Standard Befehle. Der Unterschied ist nur die Syntax (Eine bessere Anwendung von MSC zeige ich weiter unten).

Und obwohl du Befehle im MSC-Format sendest, brauchst du MSC senden im Setup immer noch nicht einschalten.

Ein MSC Kommando sieht so aus:

F0 7F 01 02 01 01 31 34 F7
Die Erklärung dazu:
F0 Es folgt eine SysEx Meldung immer F0
7F Beginn der Meldung immer 7F
01 Device ID 1 muss bei Sender und Empfänger gleich sein
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
31 34 Wert zum Befehl hier Cue 14 (Wertberechnung für jeden Befehl anders)
F7 Ende der Meldung immer F7

Die Kommandos von MIDI Show Control können sehr schnell sehr komplex werden. Vor allem die Generierung von Werten folgt eigenen, verworrenen Wegen. Wenn du diesen Irrgarten betreten willst, findest du hier ein pdf mit dem MSC-Command Set (englisch)

Für meine Tests habe ich als Abspielsoftware das Programm Show Cue System in einer 30-Tage Demo Version herunter geladen. In diesem Programm kann ich MSC Kommandos zusammen klicken und sehe den Hex-Code als Ergebnis.

Zuspielsoftware Show Cue System
Befehl für Makro senden in Show Cue System

nach oben

Wie von Zauberhand – MSC automatisch senden

Es gibt aber einen wesentlich eleganteren Weg, MIDI Show Control einzusetzen – ganz ohne Hexadezimalcode.

MIDI Show Control wurde entwickelt, damit alle Arten von Wiedergabegeräten miteinander kommunizieren und gemeinsam durch ein Gerät angesteuert werden können. Deshalb hat man sich auf einen gemeinsamen Nenner geeinigt.

Im Prinzip bewirkt ein Go auf einem Lichtpult das Selbe wie der Play-Button auf einem Zuspielgerät (z.B. CD-Player) – der nächste Teil einer vorbereiteten Liste wird abgespielt.

Wenn nun beide Geräte auf den gleichen Befehl in gleicher Weise reagieren,  brauchst du nur noch diesen Befehl übertragen. Und da das immer nach gleichen Regeln erfolgt, kann das doch am Besten gleich deine Hard- oder Software für dich erledigen.

Genau das tut Eos für dich, wenn du im Vorstellungs Setup MSC Senden oder MSC Empfangen einschaltest.

Beachte, bisher war es nicht nötig, im Setup der Vorstellung MSC Senden oder MSC Empfangen einzuschalten. Alle Tipps bisher funktionieren auch ohne diese Einstellung.

Du musst aber MSC Senden oder MSC Empfangen einschalten, wenn du Audio- Video und Lichtequipment automatisch über MSC synchronisieren willst.

Immer wenn du ein Makro aufrufst, oder eine Cue abfährst, wird der entsprechende MSC-Befehl automatisch und ohne dein Zutun über MIDI ausgesandt.

Willst du nur von einer speziellen Cueliste MSC Go-Befehle generieren lassen, kannst du das mit MIDI Sequenzliste einstellen. Bleibt das Feld leer, schicken alle Cuelisten den  Go-Befehl aus.

Setup Show Control
Show Control Einstellungen

nach oben

Folgende Punkte musst du beachten:

  • Das Abspielprogramm muss in der Lage sein, MSC-Kommandos zu verarbeiten.
  • Das MSC-Format muss auf 01(LIGHTING GENERAL) oder 7F(All Types) eingestellt sein — Eos sendet im Format 01(LIGHTING GENERAL).
  • Die Device-ID im Abspielgerät muss mit dem MSC Sendekanal im Vorstellungs-Setup der Eos übereinstimmen.
  • MSC Senden muss in der Eos eingeschaltet sein.
  • ACN MIDI TxID muss mit der MIDI TxID im Show Control Gateway übereinstimmen.

 

Beispiele

Makro ausführen
In deinem Musikprogramm ist eingestellt, dass das Makro 1 die Playlist startet. In Eos hast du MSC Senden eingeschaltet und ein Makro 1 erstellt. Immer wenn du jetzt in Eos das Makro 1 ausführst, wird auf dem Abspielgerät die Playlist gestartet.

Das beste darin ist, das Makro kann auch vollkommen leer sein. Das ist egal, du willst ja nur übertragen „führe Makro 1 aus”. Was dann geschieht , entscheidet der Empfänger.

Cue starten
Deine Cue 15 startet ein Blitzlichtgewitter. Gleichzeitig soll der Ton ein Donnergrollen einspielen. Im Abspielprogramm wird das Donnergrollen auf Cue(Spur) 15 gelegt und als Trigger (Auslöser) MIDI eingestellt. Immer wenn du Cue 15 abfährst, startet auch das Donnergrollen.

 

Dieser Artikel ist Teil einer Serie über MIDI. Hier geht es zu den anderen Beiträgen:

 

 

nach obe

Links zum Thema: