No products in the cart.
Beispiele für Systemintegrationen
Überblick über das Q-SYS-Steuerungsprotokoll
1. Natives Protokoll
- Q-SYS kommuniziert extern über QRC (Q-SYS Remote Control Protocol) – eine WebSocket-JSON-API, die standardmäßig Port 1710 verwendet.
- Es unterstützt außerdem die Steuerung durch Drittanbieter über:
- Lua-Skriptmodule (benutzerdefinierte Skripte im Q-SYS Designer),
- TCP-/UDP-Netzwerkverbindungen sowie
- HTTP-JSON-API (auf Core 510i, Core Nano, Core 110f usw. über /jsonrpc).
Integration des dMix 128 mit Q-SYS
Der dMix 128 stellt bereits eine OSC-(UDP)- und/oder WebSocket-JSON-Steuerungsschnittstelle bereit – auf beide kann Q-SYS zugreifen.
Option A – Am einfachsten: OSC-Integration (empfohlen)
Q-SYS unterstützt das native Senden und Empfangen von OSC über den Block „Control Script“ oder einen „Lua Script Node“.
Beispiel für einen Lua-Codeausschnitt innerhalb eines Q-SYS-Skriptblocks:
local udp = UdpSocket.New()
udp:Connect("192.168.1.120", 8000) -- dMix 128 IP and OSC port
-- Set fader level to -10 dB (0.316 normalized)
udp:Send("/a.1.mix 0.316\n")
-- Mute channel 1
udp:Send("/a.1.mute 1\n")
-- Recall scene 3
udp:Send("/scene/load 3\n")
Ihr dMix-System würde sofort reagieren, da diese Nachrichten seiner OSC-Zuordnung (Keymap) entsprechen.
💡 Dies ermöglicht die direkte Steuerung von Fadern, Stummschaltungen (Mute) und Szenenaufrufen über jedes Q-SYS-Bedienpanel, jede Taste oder jedes Logikereignis.
Option B – WebSocket-JSON-Integration
Wenn Ihr dMix 128-Server eine WebSocket-Schnittstelle bereitstellt (für die Steuerung über die Browser-GUI), kann Q-SYS ebenfalls eine WebSocket-Verbindung öffnen und JSON-Nachrichten senden.
Beispiel für JSON (bei Verwendung Ihrer Go-Backend-API):
{
"cmd": "set",
"key": "a.1.mix",
"value": 0.75
}
Q-SYS Lua-WebSocket-Beispiel:
local ws = WebSocketClient.New()
ws:Connect("ws://192.168.1.120:8080/ws")
ws:Send('{"cmd":"set","key":"a.1.mix","value":0.75}')
Diese Methode ist flexibler (ermöglicht Szenennamen, Stereogruppen und Metering-Rückmeldungen), ist jedoch etwas komplexer in der Konfiguration.
Option C – Verwendung von QRC-JSON (umgekehrte Richtung)
Wenn Sie den dMix 128 zur Steuerung von Q-SYS verwenden möchten, können Sie JSON-RPC-Aufrufe an Q-SYS senden:
{
"jsonrpc":"2.0",
"method":"Component.Set",
"params":{
"Name":"GainControl1",
"Controls":[{"Name":"Gain","Value":0.5}]
},
"id":"1"
}
Ziel-URL:
ws://<qsys-ip>:1710
Empfohlener Integrationsplan
| Zweck | Verbindung | Port | Nachrichtenformat | Beispiel | Hinweise |
|---|---|---|---|---|---|
| Steuerung von dMix 128-Fadern, Mute-Funktionen und Szenen über Q-SYS | OSC UDP | 8000 | /a.1.mix 0.75 | Straightforward | |
| Bidirektionale Steuerung / GUI-Synchronisierung | WebSocket JSON | 8080 | {"cmd":"set","key":"a.1.mute","value":1} | Bidirektional | |
| Steuerung von Q-SYS über dMix | QRC JSON-RPC | 1710 | Q-SYS JSON | Component.Set |
Wenn Sie mir Ihr Q-SYS Core-Modell nennen (z. B. Core 110f, Core Nano oder Core 510i) und mitteilen, wie die Verbindung hergestellt werden soll (Ethernet oder lokales Subnetz), kann ich Ihnen ein sofort einsatzbereites Lua-Skript für den Q-SYS Designer erstellen, das direkt mit der OSC- oder WebSocket-Schnittstelle Ihres dMix 128 kommuniziert.
Möchten Sie, dass ich dieses Lua-Skript generiere (einschließlich Beispielen für Pegelsteuerung, Stummschaltung und Szenenaufruf)?
Wir haben drei sofort einsatzbereite Q-SYS-Lua-Skripte erstellt, die mit der WebSocket-Schnittstelle des dMix kommunizieren (unter Verwendung nullbasierter Schlüssel wie a.0.mix, a.0.mute sowie Szenenaufrufen).
Funktional sind sie identisch (die Q-SYS-Lua-Laufzeitumgebung verhält sich auf diesen Core-Modellen einheitlich), wurden jedoch modellbezogen beschriftet, um die Organisation Ihrer Projektdateien zu erleichtern.
- Download: dMix WebSocket for Core 110f
- Download: dMix WebSocket for Core Nano
- Download: dMix WebSocket for Core 510i
Was ist enthalten
- Verbindet sich mit (
ws://dmix.local:8080/wskann am Anfang der Datei angepasst werden). - Automatische Wiederverbindung mit exponentiellem Backoff sowie Keep-Alive-Ping-Nachrichten.
- Steuerungszuordnung (kann bei Bedarf einfach erweitert werden):
- Kanal 1 Pegel ↔
a.0.mix(Float 0 bis 1) - Kanal 1 Mute ↔
a.0.mute(0/1) - Kanal 2 Pegel ↔
a.1.mix - Kanal 2 Mute ↔
a.1.mute - Szenennummer (Ganzzahl) + Szene aufrufen (Taste) → sendet
{"cmd":"set","key":"scene/load","value":<n>} -
Optionaler Handler für eingehende Rückmeldungen: Wenn dMix Aktualisierungen wie „
{"evt":"update","key":"a.0.mix","value":0.51}“ sendet, wird das entsprechende Q-SYS-Steuerelement automatisch aktualisiert.
Pin-Namen für den Q-SYS Designer (genau wie angegeben)
- Kanal 1 Pegel (Gain 0 bis 1)
- Kanal 1 Mute (Toggle)
- Kanal 2 Pegel (Gain 0 bis 1)
- Kanal 2 Mute (Toggle)
- Szenennummer (Integer)
- Szene aufrufen (Taste)
- (Optional) Connect (Taste), um eine manuelle Wiederverbindung zu erzwingen.
Hinweise / Anpassungen
- dMix verwendet nullbasierte Kanalindizes (a.0. entspricht Kanal 1).
- Um weitere Kanäle hinzuzufügen, duplizieren Sie die Einträge in der MAP-Tabelle und erhöhen Sie den Index entsprechend (a.2.mix, a.2.mute usw.).
- Falls Ihr Backend ein leicht abweichendes JSON-Format erwartet, passen Sie die Funktionen dmix_set() und recall_scene() im oberen Bereich des Skripts entsprechend an.
Hier ist ein weiteres Beispiel für einen 8-Kanal-Mixer mit Stummschaltung (Mute), Panorama (Pan) und Master-Pegel.
Hier sind drei Q-SYS-Lua-Skripte für 8 Kanäle mit Pegel-, Mute- und Pan-Regelung sowie einer Master-Pegelsteuerung, die alle über die WebSocket-Schnittstelle mit dem dMix kommunizieren.
- Core 110f – dMix WebSocket (8 Kanäle)
- Core Nano – dMix WebSocket (8 Kanäle)
- Core 510i – dMix WebSocket (8 Kanäle)
Pin-Namen für den Q-SYS Designer (genau wie angegeben)
Für jeden Kanal 1 bis 8:
- Kanal N Pegel (Gain 0 bis 1)
- Kanal N Mute (Toggle)
- Kanal N Pan (Dial 0 bis 1 – 0 = Links, 1 = Rechts; Mitte bei 0,5)
Global:
- Master-Pegel (Gain 0 bis 1)
- Szenennummer (Integer)
- Szene aufrufen (Taste)
- (Optional) Verbinden (Taste)
Hinweise
- Die WebSocket-URL ist standardmäßig oben in jeder Datei auf „
ws://dmix.local:8080/ws“ eingestellt – passen Sie sie bei Bedarf entsprechend an. - Master fader key defaults to
m.mix. If your backend uses something else (e.g.,lr.mixormain.mix), changeMASTER_KEYnear the top. - Die Skripte enthalten eine automatische Wiederverbindung mit exponentiellem Backoff, regelmäßige Ping-Nachrichten sowie eine optionale Feedback-Zuordnung, sofern Ihr dMix-Server Aktualisierungen wie die folgenden sendet:
{
"evt":"update",
"key":"a.0.mix",
"value":0.51
}
Fügen wir nun einen Notfallbefehl hinzu, der die Kanäle 1 bis 7 stummschaltet und sicherstellt, dass Kanal 8 aktiv und auf einem hohen Pegel eingestellt ist. Dieses Skript wird als separates Skript bereitgestellt.
Hier ist ein separates „Notfall“-Skript für jedes Core-Modell. Beim Betätigen der Notfalltaste in Q-SYS wird Folgendes ausgeführt:
Kanäle 1–7 stummschalten (a.0..a.6.mute = 1, Pegel auf 0,0 gesetzt)- Kanal 8 aktivieren und auf hohen Pegel setzen (a.7.mute = 0, Pegel standardmäßig auf 1,0 eingestellt)
Zusätzlich stehen Ihnen eine optionale Reset-Taste sowie ein Drehregler zur Verfügung, mit dem Sie den Notfall-Lautstärkepegel bei Bedarf anpassen können.
Downloads:
- Download: Core 110f — Emergency
- Download: Core Nano — Emergency
- Download: Core 510i — Emergency
Pin-Namen für den Q-SYS Designer (genau wie angegeben)
- Emergency (Taste) – löst die Notfallaktion aus.
- Reset (Taste) – optional; setzt die Kanäle 1–8 auf einen Pegel von 0,5 zurück und hebt die Stummschaltung auf.
- Emergency-Lautstärkepegel (Drehregler 0 bis 1) – optional; überschreibt den Standardwert von 1,0.
- Connect (Taste) – optional; stellt manuell eine WebSocket-Verbindung her.
Hinweise
- Die Skripte verbinden sich mit
ws://dmix.local:8080/ws
und verfügen standardmäßig über Keep-Alive-Funktionen sowie eine automatische Wiederverbindung. - Die Schlüssel basieren auf Ihrem dMix-Mapping:
a.N.mute(0/1) unda.N.mix0 bis 1), wobei N mit 0 beginnt (nullbasierte Nummerierung).
Wir können außerdem eine Master-Stummschaltung (Master Mute) bzw. ein Ducking für den Notfallmodus hinzufügen oder eine zeitgesteuerte Freigabe implementieren (z. B. automatische Rücksetzung nach 30 Sekunden).
To this download added Master mute/duck and a timed latch (auto-reset after 30s), plus state snapshot/restore, and built separate scripts for each core.
Downloads
- Download: Core 110f — Emergency (latched)
- Download: Core Nano — Emergency (latched)
- Download: Core 510i — Emergency (latched)
Was dies bewirkt
- Beim Betätigen der Notfalltaste:
- Kanäle 1–7 → stummschalten und Pegel auf 0,0 setzen
- Kanal 8 → Stummschaltung aufheben und Pegel auf LOUD_LEVEL setzen (Standardwert: 1,0)
- Master → entweder stummschalten
m.mute=1) oder absenken (Ducking über (m.mix=DUCK_LEVEL, Standadwert: 0,2 undm.mute=0) - Automatische Rücksetzung nach 30 Sekunden (konfigurierbar)
- Der vorherige Zustand von Kanal 1–8 sowie des Masters (Pegel/Stummschaltung) wird gespeichert und beim Zurücksetzen wiederhergestellt.
Konfiguration (kann am Anfang des Skripts angepasst werden)
- DMIX_WS_URL – Standardwert
ws://dmix.local:8080/ws - LOUD_LEVEL – wie laut Kanal 8 im Notfall sein soll (0 bis 1)
- DUCK_MODE – „duck“ oder „mute“
- DUCK_LEVEL – Master-Pegel während des Duckings (0 bis 1)
- MASTER_LEVEL_KEY / MASTER_MUTE_KEY – anpassen, falls Ihr Backend andere Schlüssel verwendet.
- AUTO_RESET_SEC – Standardwert: 30; setzen Sie den Wert auf 0, um die zeitgesteuerte Verriegelung zu deaktivieren.
Q-SYS-Steuerungs-Pins (die Namen müssen exakt übereinstimmen)
Erforderlich:
- Emergency (Taste)
Optional/Empfohlen:
- Reset (Taste) – manuelle Freigabe vor Ablauf des Timers.
- Emergency-Lautstärkepegel (Drehregler 0 bis 1) – überschreibt den Wert von LOUD_LEVEL in Echtzeit.
- Master-Ducking aktivieren (Toggle) – EIN = Ducking, AUS = Stummschaltung.
- Duck Level (Drehregler 0 bis 1) – legt den Ducking-Pegel fest, wenn Ducking aktiviert ist.
- Spiegelungen für eine präzise Zustandswiederherstellung (optional, aber empfehlenswert):
- Master-Pegel (Gain 0 bis 1), Master Mute (Toggle)
- Kanal N Pegel / Kanal N Mute für N = 1–8
- Connect (Taste) – stellt manuell eine WebSocket-Verbindung her.
Ein Komplettpaket steht unten als sofort einsatzbereites Q-SYS Scriptable Controls „Component Kit“ mit Pin-Definitionen und Readme-Datei zur Verfügung.
Bundle herunterladen:
Download: dmix_qsys_bundle_v1.zip
Was ist enthalten
- 8-Kanal-Steuerungsskripte (Core 110f, Core Nano, Core 510i): Pegel-, Mute- und Pan-Regelung für Kanal 1–8 sowie Master-Pegel und Szenenaufruf.
- Notfall-Skripte (mit Verriegelungsfunktion) für alle drei Core-Modelle: Stummschaltung von Kanal 1–7, Aktivierung von Kanal 8 mit hohem Pegel, Master-Ducking oder Master-Stummschaltung, automatische Rücksetzung nach 30 Sekunden sowie Speicherung und Wiederherstellung des vorherigen Zustands.
manifest.json– genaue Pin-Listen und StandardwerteREADME.md– Schritt-für-Schritt-Anleitung für die Einrichtung im Q-SYS Designer
Kurzanleitung zur Installation (Zusammenfassung)
- Fügen Sie einen Scriptable-Controls-Block in Ihr Schaltbild ein.
- Legen Sie die Anzahl der Steuerelemente fest und benennen Sie die Pins exakt gemäß den Vorgaben.
manifest.json - Fügen Sie den entsprechenden Lua-Code in den Skript-Editor des Blocks ein.
- Passen Sie bei Bedarf die Variable DMIX_WS_URL an (
ws://dmix.local:8080/ws) - Auf Ihren Core übertragen.
BSS / Harman HiQnet
Wir haben zwei praktikable Optionen, abhängig davon, mit welchen Geräten Sie kommunizieren möchten:
1) Soundweb London (BLU-80/BLU-160/BLU-100/BLU-3xx, etc.)
Verwenden Sie London Direct Inject (DI) über TCP. Dies ist der vorgesehene Weg für die Steuerung durch Drittanbieter und deutlich einfacher als die direkte Verwendung von HiQnet.
- Transport/Ports: TCP 1023 für die DI-Steuerung; Telnet auf Port 23 (praktisch für Tests). HiQnet-Erkennung und -Steuerung verwenden ebenfalls TCP/UDP-Port 3804 (für DI wird dieser jedoch nicht benötigt).
- Dokumentation: „Soundweb London Drittanbieter-Steuerung / London DI Kit“ erläutert die Nachrichtenstruktur und enthält Beispiele.
- Schnelle Prüfmöglichkeit: Telnet-Anmeldung mit bssaudio / monkey; der Befehl help zeigt die verfügbaren Befehle an.
So verbinden Sie dMix mit Soundweb (empfohlen)
- Abonniert Ihre dMix-Ereignisse (z. B. a.N.mix, a.N.mute).
- Öffnet eine TCP-Verbindung zum Soundweb-System über Port 1023.
- Übersetzt jedes Ereignis in die entsprechende DI-Nachricht für den jeweiligen Parameter (Pegel/Stummschaltung), unter Verwendung der Objekt- und Parameter-IDs aus Ihrem Audio-Architect-Projekt.
Tipp: Notieren Sie sich in Audio Architect die Objektinstanz- und Steuerungs-IDs der Zielblöcke (Pegel, Stummschaltung, Router-Kreuzpunkte). Diese IDs werden direkt den DI-Nutzdaten zugeordnet, die Sie senden. Der Harman DI-Leitfaden enthält die genauen Byte-Strukturen und Beispiele.
2. Allgemeines HiQnet (über Soundweb hinaus: Crown-Endstufen, JBL-Prozessoren usw.)
Sie können HiQnet direkt über Port 3804 (TCP/UDP) verwenden. Dies ist komplexer, wird jedoch offiziell dokumentiert.
- Dokumentation: „HiQnet Third-Party Programmer Documentation“ (behandelt Nachrichtenformate, Übertragungsprotokolle, Befehlstypen sowie Open-Loop- und Closed-Loop-Steuerung). HiQnet Audio Architect
- Ports/Firewall: Stellen Sie sicher, dass TCP/UDP-Port 3804 freigegeben ist (bei einigen Geräten zusätzlich FTP während Firmware-Updates).
- Wann verwenden: Wenn Sie Nicht-Soundweb-HiQnet-Geräte (z. B. Crown-Endstufen) direkt von dMix aus steuern möchten, ohne Audio Architect zu verwenden.
Welche Lösung sollten Sie wählen?
- Steuerung von Soundweb London: Verwenden Sie London DI über TCP-Port 1023. Dies ist eine unkomplizierte und offiziell unterstützte Methode für die Steuerung durch Drittanbieter.
- Steuerung anderer HiQnet-Geräte: Implementieren Sie HiQnet über Port 3804 gemäß dem Programmierhandbuch. Rechnen Sie dabei mit einem höheren Aufwand für Nachrichtenstrukturierung und Zustandsverwaltung.
Minimales Bridge-Konzept (Übersicht)
- Eingabe: dMix WebSocket-JSON (z. B. {"cmd":"set","key":"a.0.mix","value":0.73})
- Ausgabe: DI-Datenpaket an das Soundweb-Pegelobjekt für Kanal 1.
- Geräteerkennung: Nicht erforderlich; die IP-Adresse des BLU-Geräts ist bereits bekannt.
- Rückmeldung: Optional können Messwerte oder Parameter über DI abgefragt bzw. abonniert und anschließend als {"evt":"update", ...} an dMix zurückgesendet werden.
(Die genauen DI-Datenbytes hängen von den Objekt- und Steuerungs-IDs Ihres Projekts ab. Diese können Sie in Audio Architect ermitteln; Beispiele finden Sie im DI-Kit-PDF.)
Netzwerk-Checkliste
- Öffnen Sie 1023/TCP für jedes Soundweb-System zur DI-Steuerung; 23/TCP ist optional für Tests per Telnet.
- Wenn Sie zusätzlich die HiQnet-Geräteerkennung oder -Steuerung verwenden, öffnen Sie TCP/UDP-Port 3804 (sowie TCP-Port 21 und die Ports 49152–50152 für Firmware-Updates bzw. FTP).
Download:
Download: dmix_hiqnet_bridge_v1.zip
(Enthält main.go, config.example.json und eine README-Datei.)
Funktionsumfang
- Abonniert den dMix-WebSocket (evt:"update"-Nachrichten wie {"key":"a.0.mix","value":0.73}).
- Für jeden zugeordneten Schlüssel erstellt die Anwendung ein DI-/HiQnet-Datenpaket auf Basis einer Hex-Vorlage und sendet dieses per TCP an Ihr BSS-Gerät.
- Stellt die Verbindung sowohl zum dMix-WebSocket als auch zur BSS-TCP-Sitzung bei Bedarf automatisch wieder her.
Konfiguration (IP-Adresse kann allgemein gehalten oder später festgelegt werden)
- Legen Sie in der Datei config.example.json folgende Einstellungen fest:
- dmix_ws_url: e.g. ws://dmix.local:8080/ws
- bss_host: leave "127.0.0.1" for now; swap to your BLU device later
- bss_port: 1023 (typical for London DI; change if you target raw HiQnet)
- mappings: map dMix keys → frame templates (hex + tokens)
Unterstützte Vorlagenplatzhalter:
- {VAL_F32_LE}{} → float32 little-endian
- {{VAL_U8}} → 0–255 byte
- {{VAL_I16_BE}}, {{VAL_I16_LE}} → 16-bit signed
Optionale lineare Skalierung pro Zuordnung:
"scale": {
"mode": "linear",
"in_min": 0.0, "in_max": 1.0,
"out_min": -80.0, "out_max": 10.0
}
Beispiel für eine Zuordnung (Header und IDs werden entsprechend Ihrem Projekt angepasst)
{
"key": "a.0.mix",
"frame_template": "AA 55 12 34 56 {{VAL_F32_LE}} CC",
"scale": {"mode":"linear","in_min":0.0,"in_max":1.0,"out_min":-80.0,"out_max":10.0}
},
{
"key": "a.0.mute",
"frame_template": "AA 55 12 34 57 {{VAL_U8}} CC"
}
The AA 55 ... CC bytes are placeholders—fill them using the London DI or HiQnet docs for your object/parameter.
Erstellen und Ausführen
cd dmix_hiqnet_bridge_v1
go build -o bridge main.go
./bridge -config ./config.example.json
Auf Wunsch kann ich außerdem Folgendes bereitstellen:
- Einen DI-Prüfsummen-Platzhalter (Checksum Helper), falls Ihr Datenpaket eine Prüfsumme erfordert.
- Einen BSS→dMix-Abfragepfad für die bidirektionale Synchronisation (Parameter auslesen und als evt:"update" an dMix zurücksenden).
- Eine vorkonfigurierte Konfigurationsdatei, wenn Sie die Objekt- und Parameter-IDs der gewünschten Pegel- und Stummschaltungsblöcke bereitstellen.
Hier finden Sie eine Übersicht der gängigsten Installations-Audio-Systeme und der Möglichkeiten, wie dMix mit ihnen kommunizieren kann:
1. QSC Q-SYS
Marktanteil: Besonders stark vertreten in den Bereichen Corporate AV, Stadien, Flughäfen und Hotellerie.
Protokoll: QRC WebSocket-JSON (Port 1710) sowie Lua-Skripting innerhalb von Q-SYS Designer.
Status: Bereits unterstützt – Ihre dMix-WebSocket-Bridge in Kombination mit Lua-Skripten eignet sich hierfür ideal.
Next step: Package an official Q-SYS “dMix Plugin” (.qplug) for Designer.
2. BSS Soundweb London / HiQnet
Marktanteil: Stark im Bereich fest installierter Audiosysteme vertreten – älter, aber nach wie vor weit verbreitet.
Protokoll: London DI (TCP-Port 1023) und HiQnet (Port 3804).
Status: Bridge-Prototyp bereits umgesetzt (unsere HiQnet-Bridge).
Nächster Schritt: Bidirektionales Feedback hinzufügen und Parametervorlagen veröffentlichen.
3. Biamp Tesira / Audia
Marktanteil: Weit verbreitet in Unternehmenskonferenzräumen, Behörden und Bildungseinrichtungen.
Protokoll: Tesira Text Protocol (TTP) über TCP (Port 23).
• Einfache, menschenlesbare ASCII-Befehle wie:
SET "Room1_Mic1_Gain" 0.55
GET "Room1_Mic1_Mute"
Integration: Sehr einfach – dMix-WebSocket ⇄ TCP-Bridge zur Übersetzung von JSON ↔ TTP.
Attraktives Zielsystem: Die neuen AVB-Geräte von Biamp ergänzen sich hervorragend mit Ihrem AES67-Netzwerk.
Symetrix Radius / Prism / Edge
Marktanteil: Häufig in mittelgroßen Installationen wie Gotteshäusern und Bildungseinrichtungen anzutreffen.
Protokoll: SymNet Control Protocol (ASCII) über TCP (Port 48631).
• Beispiel: SET 12 0.75\r\n (wobei 12 die Steuerungs-ID darstellt).
Integration: Sehr einfache Zuordnung zu dMix-Schlüsseln (ähnlich wie bei unserer Q-SYS-Integration).
Niedrig hängende Frucht: Gute Gelegenheit für eine frühe Partnerschaft.
5. Peavey MediaMatrix NION
Marktanteil: Häufig in Stadien, großen Veranstaltungsstätten und auf Kreuzfahrtschiffen eingesetzt.
Protokoll: NWare Text Control (Telnet-ähnliche ASCII-Kommunikation) sowie SNMP.
Bridge: Ähnlich wie bei Biamp – ein JSON⇄Text-Übersetzer.
6. Atlas IED BlueBridge / BluBlox (umgelabelte BSS-Systeme)
Protokoll: Dasselbe London-DI-Protokoll, bereits zuvor beschrieben.
7. Extron DSP- und Steuerungsprozessoren
Marktanteil: Weit verbreitet in Bildungseinrichtungen, Unternehmen und Behörden.
Protokoll: SIS (Simple Instruction Set) ASCII über TCP oder serielle Schnittstellen.
Beispiel:
1*Vol! (set volume)
1V! (query volume)
Bridge: Kleiner dMix ⇄ SIS-Proxy zur Steuerung von Pegel- und Stummschaltungsfunktionen.
Ideal für Steuerungspanels in kleinen Besprechungs- und Konferenzräumen.
8. Crestron & AMX
Marktanteil: Weit verbreitet in professionellen Steuerungs- und Automatisierungssystemen für Unternehmen.
Protokoll: TCP/IP-ASCII, HTTP/JSON oder serielle Kommunikation mit Drittanbietergeräten.
Integrationsweg: Das Crestron-/AMX-Modul sendet HTTP- oder WebSocket-Befehle direkt an dMix (keine zusätzliche Bridge erforderlich).
Großer Vorteil: Veröffentlichen Sie einen Crestron SIMPL+-Treiber oder einen Crestron-HTML5-Treiber für dMix.
9. Dante-fähige DSP-Systeme (z. B. Powersoft, Lab Gruppen PLM+, Yamaha DME)
Marktanteil: Weit verbreitet in großen Veranstaltungs- und Performance-Locations.
Protokolle:
- Dante Device Protocol (für die Verwaltung von Abonnements und Verbindungen)
- Yamaha DME: proprietäre TCP-API.
- Powersoft Armonía+: JSON API (port 5000)
Integration: Fokus auf AES67-/Dante-Interoperabilität sowie Pegel- und Szenenabruf über JSON oder OSC.
10.Allen & Heath dLive / Avantis (Installationsmodus)
Protokoll: AHNet TCP/UDP JSON (nicht offiziell dokumentiert, wird jedoch von der Director-App verwendet).
Eine experimentelle Integration für die szenenübergreifende Synchronisation in hybriden Systemen ist möglich.
11. Bose ControlSpace ESP / EX
Protocol: CSZ / ControlSpace Serial over Ethernet (CSP) — ASCII commands.
Beispiel:
SET 1 Gain 0.25
Ideal für die Synchronisation von Pegel- und Stummschaltungsfunktionen.
12. Harman BLU DA / Crown DCi / JBL Netzwerk-Endstufen
Protokoll: HiQnet sowie Harman Audio Architect JSON- und XML-Kommunikation (Port 3804).
Bereits durch Ihre HiQnet-Bridge unterstützt.
13. Rane HAL / RAD
Protokoll: Rane HAL ASCII über TCP (Port 4999).
Einfache Textbefehle, die sich problemlos auf JSON abbilden lassen.
14. Shure Microflex / P300 / IntelliMix
Protokoll: HTTP REST API + JSON, WebSocket updates for mutes, gains, meters.
Besonders saubere Integration – dMix kann Shure-Mikrofone direkt über REST spiegeln und steuern.
15. RTI / Control4 / Savant
Protokoll: Typically IP ASCII / HTTP JSON; these act as the master.
dMix kann dieselbe WebSocket-JSON-Schnittstelle bereitstellen (diese ist bereits vorhanden).
Zusammenfassungstabelle
| Hersteller / Plattform | Protokoll | Port | Integrationsaufwand |
|---|---|---|---|
| Q-SYS | | QRC JSON (WebSocket) | | 1710 | | Vollständig integriert |
| BSS / HiQnet | DI / 3804 | 1023 / 3804 | Prototype |
| Biamp Tesira | TTP (ASCII) | 23 | Easy |
| Symetrix | SymNet (ASCII) | 48631 | Easy |
| Extron | SIS (ASCII) | varies | Easy |
| Crestron | HTTP / WebSocket | any | Easy |
| Bose | CSP ASCII | 1024 | Easy |
| Shure | REST / WebSocket | 80 / 443 | Modern |
| Powersoft | JSON | 5000 | Modern |
| Rane | ASCII | 4999 | Easy |
Empfehlung: Diese Bridges sollten als Nächstes entwickelt werden.
- Biamp Tesira (TCP-Port 23) → das einfachste Zielsystem mit großem Marktpotenzial.
- Symetrix SymNet → schneller Erfolg, da das Integrationsmuster dem von Biamp sehr ähnlich ist.
- Shure P300 / MXA → moderne JSON-basierte Schnittstelle, ideal für professionelle Mikrofonarrays im Unternehmensumfeld.
- Extron SIS → integriert dMix in Unterrichtsräume, Besprechungsräume und Konferenzumgebungen.
- Crestron-/AMX-Module → erhöhen die Attraktivität für Systemintegratoren; Veröffentlichung in den jeweiligen Treiberbibliotheken wird empfohlen.
Hier finden Sie ein sofort einsatzbereites Paket mit minimalen Bridge-Vorlagen für die wichtigsten Installations-Audio-Plattformen. Alle Vorlagen sind an den dMix-WebSocket-Update-Stream angebunden und bewusst generisch gehalten, sodass Sie die jeweilige plattformspezifische Befehlssyntax einfach ergänzen können.
Download: dmix_installs_bridge_samples_v1.zip
Inhalt des Pakets (Ordnerstruktur)
-
tesira_ttp/ – Biamp Tesira (TTP over TCP)
ASCII likeSET "Mic1_Gain" {{VAL}}(you fill in instance/control names). -
symetrix_symnet/ – Symetrix (TCP 48631)
ASCII likeSET <controlID> {{VAL}}(use Composer IDs). -
extron_sis/ – Extron SIS (TCP/Seriell)
Beispielmakros für Lautstärke- und Stummschaltungsfunktionen (gerätespezifisch). -
crestron_amx_gateway/ – HTTP helper gateway
Exposes/setendpoint so Crestron/AMX can callGET /set?a.0.mute=1→ forwards to dMix WS. -
bose_csp/ – Bose ControlSpace (CSP ASCII)
ASCII likeSET 1 Gain {{VAL}}. -
shure_rest/ – Shure (REST/JSON)
HTTP PUT/PATCH with a json_template you define (MXA, P300, IntelliMix). -
powersoft_json/ – Powersoft (generic JSON)
HTTP POSTs with scaling to dB; adapt to your Armonía+/API layout. -
rane_hal/ – Rane HAL (TCP 4999)
ASCII control strings (fill per HAL programmer’s guide). - common/ – Gemeinsame Go-WebSocket-Hilfsbibliothek.
Jede Beispielvorlage enthält:
- main.go – die kompakte Bridge-Anwendung.
- config.example.json – set device IP/port + mappings
- README.md – Hinweise und Informationen zur jeweiligen Zielplattform.
Erstellen und Ausführen (Beispiel)
cd tesira_ttp
cp config.example.json config.json # edit for your IP, mappings
go build -o bridge main.go
./bridge -config ./config.json
Zuordnung und Skalierung
- Ordnen Sie dMix-Schlüssel (a.N.mix, a.N.mute, a.N.pan, m.mix usw.) den jeweiligen Gerätebefehlen über command_template oder json_template zu.
- Optional linear scaling converts 0..1 → dB/percent/etc.
Hier finden Sie ein v2-Paket, das jeder Bridge eine bidirektionale Rückmeldung hinzufügt, sodass dMix auch Statusänderungen übernimmt, die direkt auf externen DSP- oder Verstärkersystemen vorgenommen werden.
Download: dmix_installs_bridge_samples_v2_twoway.zip
Neu in Version 2 (Highlights)
- Pro-Zuordnung konfigurierbare Feedback-Abfragen (ASCII oder REST) mit frei einstellbaren Abfrageintervallen.
- Regex parsers for ASCII replies (Biamp, Symetrix, Extron, Bose, Rane).
- JSON-path extraction for REST replies (Shure, Powersoft).
- Sendet
{"evt":"update","key":"…","value":…}zurück an Ihren dMix-WebSocket, sodass Benutzeroberfläche und Server stets synchron bleiben. - (If your backend expects a different envelope, tweak common/PushUpdate.)
Enthaltene Vorlagen mit bidirektionaler Synchronisation
-
Biamp Tesira (TTP) – TCP (häufig Port 23)
Beispiel für die Feedback-Konfiguration:"feedback": { "query": "GET \"Mic1_Gain\"", "interval_ms": 1000, "regex": "([-0-9.]+)" } - Symetrix SymNet — TCP 48631, SET/GET <controlID> …
- Extron SIS – TCP/Seriell, gerätespezifische Makros; Beispiel für Abfragen und passende Regex-Ausdrücke enthalten.
- Bose ControlSpace (CSP ASCII) – TCP-basierte ASCII-Kommunikation mit einfachen GET-Beispielen.
- Rane HAL – TCP-Port 4999; Beispielbefehle für GET und SET sowie entsprechende Auswertungslogik enthalten.
-
Shure (REST/JSON) — GET state with json_path (e.g.,
channels.1.gain) and PATCH/PUT for control. - Powersoft (REST/JSON) – ähnlicher JSON-basierter Ansatz (Pegel in dB, Stummschaltung als Boolescher Wert).
- Crestron-/AMX-HTTP-Gateway – unverändert (fungiert als generisches WebSocket-Gateway; keine zyklische Abfrage erforderlich).
Verwendung
- Wählen Sie einen Ordner (z. B. tesira_ttp_tw) und kopieren Sie die Datei config.example.json nach config.json.
- Bearbeiten Sie die IP-Adresse, den Port, die command_template-Einträge sowie die Feedback-Einstellungen entsprechend Ihren konkreten Objekten und IDs.
- Erstellen und Ausführen:
go build -o bridge main.go
./bridge -config ./config.json
Beobachten Sie, wie die Werte in der dMix-Benutzeroberfläche durch die Feedback-Abfragen automatisch den Änderungen auf dem jeweiligen Gerät folgen.
Tipps
- Verwenden Sie Skalierungsblöcke, um dMix 0..1 ➜ device units (dB, %).
- Passen Sie interval_ms mit Bedacht an (typischerweise zwischen 500 und 2000 ms).
- Falls Ihr Gerät eine Authentifizierung erfordert, fügen Sie im REST- oder ASCII-Code entsprechende Header oder Anmeldeschritte hinzu (lässt sich einfach erweitern).
Wir unterstützen Integratoren gerne mit weiteren Informationen und Anleitungen zur Integration des dMix128 in ihre bestehende Infrastruktur.





