MIDI und MIDI Show Control (MSC)
Die dot2 kann verschiedene Midi Signale verarbeiten, die dot2 kann Midi senden und empfangen.
Die Eingangs- und Ausgangssignale können im MIDI Monitor im Tools Menü überwacht werden.
Im dot2 onPC müssen die Einstellungen im Setup konfiguriert werden. Die Einstellungen befinden sich im Tools Menü. Tippen Sie auf MIDI Konfiguration und wählen Sie das verwendete Midi Gerät aus.
MIDI Note Remote Input
Mit diesem System können Sie empfangene MIDI Noten zum Triggern von verschiedenen Aktionen in der Konsole benutzen. Steuern Sie dies im Remote Inputs konfigurieren View.
Hier haben Sie die Möglichkeit eingehende MIDI Note Signale auf Executor zu setzen oder Kommandos, die Sie in der Konfiguration schreiben, zu triggern.
Um die Position eines Faders zu bestimmen, benutzen Sie die MIDI Velocity.
MIDI Remote Input triggert nur Executoren auf der Konsole, die ein MIDI Signal empfängt.
MIDI Note Output
Sie können MIDI Noten aus Cues oder direkt aus der Command Line senden.
Um MIDI Note Daten zu übermitteln, benutzen Sie das MIDI Note Kommando. Für mehr Informationen zum MIDI Note Kommando folgen Sie dem Link.
Das MIDI Note Kommando wird von einer Standalone Konsole oder innerhalb einer Session vom Session Master (Konsole mit dem blauen Herz ) übertragen.
MIDI Show Control (MSC) Input
Die Konsole kann von jedem Gerät gesteuert werden, das MIDI Show Control Daten senden kann. Es gibt viele Einstellungsmöglichkeiten im MSC. Um Einstellungen vorzunehmen, drücken Sie Setup und tippen Sie auf MIDI Show Control. Hier können Sie die Einstellungen so vornehmen, dass sie zum Sender (oft eine Show Control Software oder Sound Software) passen.
Wenn Sie MSC benutzen, können Sie nur Executoren auf der ersten Page oder den Main Executor kontrollieren.
Die MSC Daten müssen zu einer Standalone Konsole oder innerhalb einer Session zum Session Master (Konsole mit dem blauen Herz ) übertragen werden.
MIDI Show Control (MSC) Output
Die dot2 kann MSC Kommandos an ein Gerät senden. Dadurch können Sie andere Geräte (z.B. Sound Sampler) steuern. Die Einstellungen dazu finden Sie im Setup unter MIDI Show Control. Hier ändern Sie die Einstellungen, um zu dem MSC Empfänger zu passen.
Die MSC Daten werden von einer Standalone Konsole oder innerhalb einer Session vom Session Master (Konsole mit dem blauen Herz ) übertragen.
MIDI Time Code (MTC)
Die Konsole kann MTC Daten empfangen und damit Cues auf Executoren automatisch abfahren.
Der Executor, den Sie mit MTC steuern möchten, muss im Einstellungen der Executor Fenster "MIDI" aktiviert haben. Dazu brauchen Sie einige Cues in diesem Executor, die den Timecode als Trigger benutzen. Wenn der Timecode als Trigger benutzt wird, können Sie eine Zeit in der Spalte "Trig Time" setzen. Wenn der eingehende MTC die entsprechende Zeit aus der "Trig Time" Spalte erreicht, wird der Cue getriggert. Sie müssen den entsprechenden Cue nicht als nächsten Cue gespeichert haben, sondern es wird zu dem Cue gesprungen, dessen Zeit zum eingehenden MTC passt. Achten Sie nur darauf, den Fader oben zu haben.
Sie können die Zeiten manuell eintragen oder den TC Record Button in der Cues View Titelleiste drücken. Damit starten Sie die Aufnahmefunktion. Dann können Sie ein normales Go zum Timecode ausführen und die Zeit wird in die Trig Time Spalte aufgenommen. Sie können ebenso das Record Kommando benutzen, um die Timecode Record Funktion zu starten. Wenn eine Aufnahme aktiv ist, sehen Sie einen blinkenden roten Kreis mit einem weißen "T" neben dem Command Line Input. Dieser rote Kreis ist zudem im Cues View und in der Executor Leiste sichtbar. Um die Record Funktion auszuschalten, tippen Sie wiederum auf TC Record.
MTC kann im Setup im Timecode konfigurieren Fenster aktiviert und deaktiviert werden. Wenn Sie alle eingehenden Timecodes deaktiviert haben, können Sie den TC Record Button nicht betätigen.
Der eingehende MTC im System kann von jeder Konsole / jedem onPC in der Session kommen - nicht nur vom Master.
Das MSC Konzept
Die MSC Kommando Struktur und Syntax basiert auf der generellen SysEx Struktur, die von der MMA (MIDI Manufacturers Association) definiert wurde. Sie stammt von 1991 und ist eine Erweiterung des generellen MIDI.
Die reine MIDI Information wird in hexadezimalen 8-Bit-Zeichen (zwei hexadezimalen Zahlen) aufgeschrieben. Verschiedene Softwarehersteller zeigen diese Informationen eventuell in interpretierter Art und Weise und in einer lesbareren Form. Das kann sicherlich hilfreich sein, wir schauen jedoch aufgrund des Standards, auf die reinen Daten.
Das Format sieht wie folgt aus:
F0 7F | Device ID | 02 | Command Format | Command | Data | F7 |
- F0 7F ist die Überschrift, die das Paket als "universal system exclusive" und als "Echtzeit" Nachricht identifiziert.
- Device ID ist die Nummer des Geräts oder der Gruppe.
- 02 ist ein 8-Bit-Zeichen, das die Information als MSC spezifiziert.
- Command Format ist ein 8-Bit-Zeichen, das den Materialtyp definiert.
- Command ist ein 8-Bit-Zeichen, das den Kommandotyp definiert.
- Data sind die entsprechenden Daten. Die Daten sind abhängig vom jeweiligen Kommandotyp.
- F7 ist ein Schlusszeichen, das das Ende der Nachricht definiert.
Device ID
Die Device ID ist ein 8-Bit-Zeichen, das in 3 verschiedene Sektionen aufgeteilt ist:
- 00 bis 6F:
- Dies sind die 112 verschiedenen Geräte, die identifiziert werden können.
- 70 bis 7E:
- Dies sind die 15 Gruppenmitglieder.
- 7F:
- Dies ist eine Broadcast ID auf die alle Geräte hören.
In der dot2 können die Device ID und Group ID für eingehende und ausgehende Daten gesetzt werden.
Für das Übertragen von MSC kann nur ein 8-Bit-Zeichen in der Device ID verwendet werden. Die Send to Einstellung (siehe oben) wählt aus, welche der drei verschiedenen Sektions-IDs übertragen werden sollen.
Command Format
Das Command Format 8-Bit-Zeichen spezifiziert den Typ des Equipments, der die Nachricht empfangen (oder beantworten) sollte. Die dot2 übermittelt und beantwortet Nachrichten von drei verschiedenen Formaten:
- 01:
- Dies ist das General Lighting Format.
- 02:
- Dies ist das Moving Lights Format.
- 7F:
- Dies ist ein Format für Alles, auf das jedes Equipment antworten sollte.
Command
Das Command 8-Bit-Zeichen spezifiziert den Typ des Kommandos in der Nachricht. Der Kommandotyp bestimmt die Informationen.
Die dot2 unterstützt 7 verschiedene Kommandotypen:
- 01 (Go):
- Dasselbe wie ein Goto Kommando in der dot2. Es muss eine Cue Nummer folgen.
- 02 (Stop):
- Dasselbe wie ein Pause Kommando in der dot2. Es kann eine Cue Nummer folgen.
- 03 (Resume):
- Setzt die Wiedergabe eines Cues fort. Wenn ein bestimmter Cue pausiert wurde, muss diese Cue Nummer mit dem Kommando folgen.
- 04 (Timed_Go):
- Ein Goto mit einer bestimmten Fade Zeit. Es wird die Zeit und die Cue Nummer benötigt - in dieser Reihenfolge.
- 06 (Set):
- Kann zum Positionieren von Fadern benutzt werden. Es wird die Fader Nummer und Page gefolgt von der Position benötigt.
- 07 (Fire):
- Kann zum Triggern von Macros benutzt werden. Es muss die Macro Nummer folgen. Es können nur die Macros 1 bis 255 getriggert werden.
- 0B (Go_Off):
- Kann zum Ausschalten von Executoren benutzt werden. Es muss eine Cue Nummer folgen.
Data
01 (Go):
Wie bereits beschrieben: Hier handelt es sich um ein Goto Kommando. Es muss eine Cue Nummer folgen. Die Cue Nummer muss ebenfalls in einem hexadezimalen 8-Bit-Zeichen übermittelt werden und es muss die komplette Cue Nummer inklusive Dezimalstellen enthalten sein. Wenn Cue Nummer 4 getriggert werden soll, lautet die komplette Cue Nummer 4.000 - die Nummer mit allen Dezimalstellen hinter dem Punkt (Hex Wert 2E). Dezimalstellen in Hexadezimalwerte zu konvertieren ist einfach. Wir brauchen eine "3" vorweg. Das heißt dezimal 4 wird zu 34 hexadezimal. Die komplette Cue Nummer inklusive Punkt ist dann: 34 2E 30 30 30.
Wenn die Station auf Default Only in den Send MSC In Exec Optionen gestellt ist, muss all das nach dem Kommando angefügt werden.
Beispiel: Triggern von Cue 21.5 auf dem Default Executor (Einstellung All Devices, All Format und Default Only):
F0 7F | Device ID | 02 | Command Format | Command | Data | F7 |
---|---|---|---|---|---|---|
F0 7F | 7F | 02 | 7F | 01 | 32 31 2E 35 30 30 | F7 |
Wenn die Einstellung nicht auf Default Only gesetzt ist, muss ein Executor und eine Page definiert werden. Es gibt zwei Möglichkeiten, die Executor und Page Nummer zu trennen. Sie können einen Punkt (hex = 2E) oder ein Leerzeichen (hex = 20) verwenden. Die Cue Nummer und die Executor / Page Daten müssen mit einem Hexadezimalwert 00 getrennt werden.
Beispiel: Triggern von Cue 37.2 auf Executor 5 Page 1 (Einstellung All Devices, All Format und Exec.Page):
F0 7F | Device ID | 02 | Command Format | Command | Data | F7 |
---|---|---|---|---|---|---|
F0 7F | 7F | 02 | 7F | 01 | 33 37 2E 32 30 30 00 35 2E 31 | F7 |
Dasselbe Beispiel mit einem Leerzeichen zum Trennen von Executor und Page:
F0 7F | Device ID | 02 | Command Format | Command | Data | F7 |
---|---|---|---|---|---|---|
F0 7F | 7F | 02 | 7F | 01 | 33 37 2E 32 30 30 00 35 20 31 | F7 |
02 (Stop):
Dies ist dasselbe wie die Pause Taste. Für ein besseres Verständnis der hexadezimalen Cue-Nummerierung, lesen Sie bitte die Sektion direkt über diesem Thema.
Mit der Default Only Option benötigen wir keine Daten mehr, da immer der Executor pausiert wird.
Beispiel: Pausieren des Default Executors (Einstellung All Devices, All Format, Default Only):
F0 7F | Device ID | 02 | Command Format | Command | Data | F7 |
---|---|---|---|---|---|---|
F0 7F | 7F | 02 | 7F | 02 | F7 |
Wenn die Station MSC überträgt, wird die Cue Nummer 0.000 übertragen. Dies entspricht einem "Pause Running Cue" Kommando. Wenn die Einstellungen nicht auf Default Only sondern auf eine der beiden Exec/Page Optionen gesetzt sind, muss der Cue 0 ebenfalls übertragen werden.
Beispiel: Pausieren von Executor 5 auf Page 1 (Einstellung All Devices, All Format und Exec.Page):
F0 7F | Device ID | 02 | Command Format | Command | Data | F7 |
---|---|---|---|---|---|---|
F0 7F | 7F | 02 | 7F | 02 | 30 2E 30 30 30 00 35 2E 31 | F7 |
03 (Resume):
Dies ist der einzige Weg einen pausierten Cue fortzusetzen. Der einzige Unterschied zwischen dem Stop und Resume Kommando ist die "02" und "03".
Beispiel: Den Fade aus dem Beispiel oben drüber fortsetzen (Einstellung All Devices, All Format und Exec.Page):
F0 7F | Device ID | 02 | Command Format | Command | Data | F7 |
---|---|---|---|---|---|---|
F0 7F | 7F | 02 | 7F | 03 | 30 2E 30 30 30 00 35 2E 31 | F7 |
Wenn die Default Only Einstellung gesetzt ist, lautet das Kommando F0 7F 7F 02 7F 03 7F, um den Fade fortzuführen.
04 (Timed_Go):
Dies ist dasselbe wie Kommando 01 (Go), jedoch mit einer Fade Zeit. Bitte lesen Sie zuerst den Abschnitt über das 01 (Go) Kommando. Um es etwas einfacher zu machen, gehen wir von der "Default Only" Option in den MSC Optionen aus.
Um ein Goto mit Zeit zu übertragen, muss zuerst die Zeit und dann die Cue Nummer definiert werden. Die Zeit wird über fünf 8-Bit-Zeichen angegeben. Die repräsentieren (in der Reihenfolge) Stunde, Minute, Sekunde, Frame und Fraction.
Die Stunden, Minuten und Sekunden Bereiche sind sehr fortlaufend. Die Zahl muss als Hexadezimalzahl übertragen werden. Es ist möglich Werte über dem normalen Limit zu übertragen, z.B. 64 Sekunden (hex = 40). Die Station überträgt dies als 1 Minute und 4 Sekunden.
Aktuell unterstützt die Konsole keine Angaben in den Sektionen Frame und Fraction. Aber es werden Werte unter einer Sekunde im Bereich Frames übertragen. Die Konsole teilt eine Sekunde in 24 Frames. Als sind 0.5 Sekunden 12 Frames und die empfangene Hexadezimalzahl wäre 0C.
Beispiel: Goto Cue 75 mit einer Fade Zeit von 20 Sekunden (Einstellung All Devices, All Format und Default Only):
F0 7F | Device ID | 02 | Command Format | Command | Data | F7 |
---|---|---|---|---|---|---|
F0 7F | 7F | 02 | 7F | 04 | 00 00 14 00 00 37 35 2E 30 30 30 | F7 |
Beispiel: Got Cue 5.4 mit einer Fade Zeit von 1 Minute auf Executor 3 Page 1 (Einstellung All Devices, All Format und Exec.Page):
F0 7F | Device ID | 02 | Command Format | Command | Data | F7 |
---|---|---|---|---|---|---|
F0 7F | 7F | 02 | 7F | 04 | 00 01 00 00 00 35 2E 34 30 30 00 33 2E 31 | F7 |
06 (Set):
Das Set Kommando verschiebt einen Fader auf eine bestimmte Position. Nach dem 06 Kommando folgen zwei 8-Bit-Zeichen die den Fader benennen und zwei weitere 8-Bit-Zeichen für die Position.
Die erste der zwei Zahlen für die Fader ist für die Fader Nummer (auf einer Page). Die Fader Nummer 1 ist hexadezimal 00, der zweite ist 01 und so weiter. Bedenken Sie das hexadezimal Format, somit ist Fader 16 hexadezimal 0F und dezimal 17 ist 10.
Die zweite der beiden Zahlen für die Fader ist die Page Nummer. Ein kleiner Unterschied, hier ist Page 1 hexadezimal 01 und Page 2 ist hexadezimal 02 und so weiter.
Somit ist Executor 1 auf Page 1 00 01.
Die Berechnung der Position in hexadezimal ist ein bisschen schwieriger. Die Fader Position wird durch einen Coarse und Fine Wert definiert. Die Skalierung für beide Werte ist 128 Schritte (meistens geht es bei MIDI um 128 Schritte). Zuerst wird der Fine Wert, dann der Coarse Wert übertragen.
Die gewünschte Fader Position (dezimal) muss mit 1.28 multipliziert werden. Das Ergebnis ist der Coarse Wert. Der Rest (alles rechts neben dem Komma) wird mit 128 multipliziert, um den Fine Wert zu bekommen. Die beiden Dezimalwerte müssen dann in hexadezimal umgerechnet werden.
Beispiel:
Fader 3 auf Page 2 soll auf 45% verschoben werden. Zuerst rechnen wir die Position um.
- Multipliziere 45 mit 1.28 = 57.6
- Coarse Wert ist 57.
- Multipliziere 0.6 mit 128 = 76.8
- Fine Wert ist 76.
- Konvertiere dezimal 57 in hexadezimal = 39.
- Konvertiere dezimal 76 in hexadezimal = 4C.
- Fine wird zuerst übertragen, daher ist die Position 4C 39.
Die MSC Nachricht ist (Einstellung All Devices und All Format):
F0 7F | Device ID | 02 | Command Format | Command | Data | F7 |
---|---|---|---|---|---|---|
F0 7F | 7F | 02 | 7F | 06 | 02 02 4C 39 | F7 |
Sie können eine Fade Zeit nach den Fader- und Positionsdaten hinzufügen. Es wird das Zeit Format aus dem 04 Kommando genutzt.
Beispiel: Verschieben von Fader 15 auf Page 1 auf 100% in 5 Sekunden (Einstellung All Devices und All Format):
F0 7F | Device ID | 02 | Command Format | Command | Data | F7 |
---|---|---|---|---|---|---|
F0 7F | 7F | 02 | 7F | 06 | 0E 01 7F 7F 00 00 05 00 00 | F7 |
Die Konsole überträgt nur die Position von einigen Fadern - Executoren mit Sequenzen und alle grün markierten Special Master (für den selektierten Executor), aber sie akzeptiert Positionen für alle Fader, die etwas zugewiesen haben.
07 (Fire):
Mit diesem Kommando können Macros ausgelöst werden. Es muss ein 8-Bit-Zeichen mit der Macro Nummer folgen.
Macro Nummer 1 ist hexadezimal 01. Die hexadezimale Zahl FF ist Macro Nummer 255.
Beispiel: Triggern von Macro 24 (Einstellung All Devices und All Format):
F0 7F | Device ID | 02 | Command Format | Command | Data | F7 |
---|---|---|---|---|---|---|
F0 7F | 7F | 02 | 7F | 07 | 18 | F7 |
0B (Go_Off):
Mit dem 0B Kommando können Executoren ausgeschaltet werden. Es muss eine Cue Nummer folgen - Cue 0 kann benutzt werden.
Beispiel: Off Kommando für Executor 9 auf Page 5 (Einstellung All Devices, All Format und Exec.Page):
F0 7F | Device ID | 02 | Command Format | Command | Data | F7 |
---|---|---|---|---|---|---|
F0 7F | 7F | 02 | 7F | 0B | 30 2E 30 30 30 00 39 2E 35 | F7 |
MIDI über Ethernet
MSC kann über Ethernet gesendet werden. Es wird als UDP Paket übertragen.
Die MSC Nachricht ist wie oben beschrieben, benötigt jedoch eine Überschrift, um von der dot2 akzeptiert zu werden.
Die Überschrift ist in zwei Teile unterteilt. Der erste Teil identifiziert die Nachricht als eine dot2 MSC Nachricht: 47 4D 41 00 4D 53 43 00 - es übersetzt zu GMA MSC.
Der zweite Teil sind vier 8-Bit-Zeichen, die die Länge der Nachricht beschreiben - inklusive der Überschrift. Es wird als klein endendes Byte Format beschrieben.
Dies wird durch Zählen der 8-Bit-Zeichen und Konvertierung der Dezimalzahl in hexadezimal berechnet. Normalerweise wird nur das erste 8-Bit-Zeichen benötigt (erlaubt sind bis zu 255 8-Bit-Zeichen), obwohl alle vier gesendet werden müssen.
Beispiele:
Sende ein Go Kommando für Cue 35. Die MSC Nachricht ist: F0 7F 7F 02 7F 01 33 35 2E 30 30 30 F7.
Das sind 13 8-Bit-Zeichen. Die Überschrift besteht immer aus 12 8-Bit-Zeichen. Also ist die gesamte Länge 25 8-Bit-Zeichen. Dezimal 25 ist hexadezimal 18. Die komplette Nachricht ist:
47 4D 41 00 4D 53 43 00 18 00 00 00 F0 7F 7F 02 7F 01 33 35 2E 30 30 30 F7
Macro 1 triggern ist: F0 7F 7F 02 7F 07 01 F7 - Acht 8-Bit-Zeichen.
Plus 12 aus der Überschrift ist dezimal 20 = 13 hexadezimal.
Die Nachricht ist:
47 4D 41 00 4D 53 43 00 13 00 00 00 F0 7F 7F 02 7F 07 01 F7