Maestra Live Ops Dashboard is a monitoring and control interface for distributed installations built on Jordan Snyder’s Maestra framework. Each connected node appears as a slot with real-time status, video output, audio levels, and prompt state. Operators can speak directly into the shared prompt space, blending their input with visitor speech.
Maestra is the underlying coordination layer, developed during Jordan Snyder’s time as VP of Platform at Meow Wolf, where it ran across all three permanent installations. Imagine four projectors, two audio zones, and three sensor stations across a venue connected through the Maestra network. Devices register themselves, sync shared state, advertise streams (NDI, Syphon, Spout), and receive commands via REST, WebSocket, or MQTT. Each device runs a lightweight client -- TouchDesigner, Max/MSP, Arduino, or a browser -- that talks to the Maestra server.
The TouchDesigner TOX and Maestra Live Ops Dashboard are released under AGPL-3.0, with dual licensing available for commercial deployments.
Connect a TD instance, Scope node, or browser client.
// Audio Analysis
Waiting
// Frequency Bands
Sub
0
Bass
0
Mid
0
High
0
// Stems from TD / OSC
Drums
0
Bass
0
Melody
0
Vocals
0
// Live Readings
BPM
--
RMS
--
time
sub
bass
mid
high
rms
Select a slot
Live
No slot selected
// Transcription
waiting for speech...
Nouns0 extracted
none yet
Base Prompt
P weight1.0
�
// Event Log
// WebSocket Log
// Live Output
// How You'd Use This
Multi-Screen VJ Set
Each screen runs its own TD + Scope instance doing real-time AI generation. Maestra syncs scene changes, prompt updates, and color palettes across every machine. One state push switches the whole venue.
Gallery Installation
Register each station as an entity. Sync brightness based on time of day, coordinate color transitions, advertise NDI streams so curators can monitor every feed from a single dashboard.
Festival Projection Mapping
Multiple building facades with different TD machines. Maestra manages scene changes across the fleet — one API call switches every projector to the next act. Heartbeats alert you if any machine drops.
# In TouchDesigner after dropping the Maestra TOX into your project:
maestra = op('maestra').ext.MaestraExt
# Register this machine with the fleet
maestra.Connect() # uses Entity ID + Server URL from custom pars
# Push state every connected client sees the update
maestra.UpdateState({'brightness': 75, 'scene': 2, 'color': [0.8, 0.2, 1.0]})
# Advertise your NDI output so other machines can discover it
maestra.AdvertiseStream(name='Stage Visuals', stream_type='ndi', protocol='ndi')
# From another machine discover what's available
streams = maestra.ListStreams(stream_type='ndi')
// Cloud Nodes � Scope / Daydream API
If you're using Scope or the Daydream API for your project, use this tab to test and select your connection before show day.
Decentralized GPU routing can vary � this lets you audition nodes day-of and bring the best ones into the main dashboard,
so you're not discovering problems during the opening.
// GPU Node Selector
Preview each node � select the best one to lock in as your active source
With decentralized GPU, once you commit to a node you're locked to that instance. Preview all available nodes here before committing � check stream quality, latency, and FPS. Hit Set Active to route that node's output to your main Krista1 slot.
How Scope Fits In
Scope runs on a single machine — it takes a video source and transforms it in real-time using AI diffusion models. Maestra runs across machines — it coordinates state and streams between devices. They solve different problems, and together they let you run coordinated AI-generated visuals across an entire venue.
MAESTRA SERVER
state sync stream registry heartbeat monitor
REST API NATS MQTT WebSocketMACHINE AMACHINE BMACHINE CScopeScopeTouchDesigner(AI diffusion)(AI diffusion)(generative)NDI outNDI outNDI outTouchDesignerTouchDesignerprojector out
+ Maestra TOX + Maestra TOX + Maestra TOXprojector outprojector out
01
Scope Generates Locally
Each machine runs Scope with its own GPU. Camera or media in, AI-transformed video out. Scope outputs via NDI — TouchDesigner picks it up with an NDI In TOP. Scope doesn't know about other machines. It doesn't need to.
02
Maestra Coordinates the Fleet
The TOX in each TD instance registers with the Maestra server. When you push a state change — scene: 3, color: [0.8, 0.2, 1.0] — every connected machine receives it. TD reads the new state and updates Scope's prompt, switches LoRAs, or adjusts post-processing.
03
Streams Stay Discoverable
Each machine advertises its NDI output through Maestra's stream registry. A monitor station can discover all streams on the network — no manual IP hunting. Heartbeats tell you instantly if a machine drops.
# Example: Maestra state change triggers Scope prompt update via OSC
Entity ID Server URL API Key Auto Connect Connect / Disconnect Status (read-only) Heartbeat Interval
State
Brightness (0–100) Opacity (0–1) Color (RGB) Speed (0–10) Scene (int) Custom State JSON Push / Pull State
Streams
Stream Name Stream Type NDI / Syphon / Spout / RTMP / SRT / WebRTC Protocol Address / Port Advertise / List Streams Active Stream ID
Gateways
OSC In / Out Port OSC Prefix WebSocket Enable / Port MQTT Enable / Broker / Port
Internal Operators
MaestraExt
Python extension with Connect(), Disconnect(), UpdateState(), PushCurrentState(), PullState(), AdvertiseStream(), ListStreams(), StreamHeartbeat(). Auto-connects on start if enabled. State params auto-push on value change with debounce.
Infrastructure
heartbeat_timer — Timer CHOP, auto-heartbeat every N seconds par_exec — Parameter Execute DAT log — Table DAT, rolling activity log streams_table — Table DAT, discovered streams info — Info CHOP, component monitoring