Live performance
Wire the outside world into your graph: a camera, a MIDI knob, a network video feed, a microphone — and DNA reacts in real time, every frame.
DNA is built to perform. Drop a live input into your graph and the whole thing comes alive: instead of cooking only when you make an edit, the graph starts cooking continuously, frame after frame, so whatever you do on a controller, in front of a camera, or across the network shows up on screen instantly.
The live model
Every live setup is the same simple loop:
external source → your graph → output, repeating in real time.
A live source feeds fresh data into your graph each frame. Your nodes process it — warp it, react to it, drive parameters with it — and the result goes to your viewport, a projector, the network, or back out to hardware.
The moment you add even one live input, DNA switches into live mode and cooks every frame. Remove the last live input and it goes quiet again, only cooking when you edit. You don't toggle this — it follows your graph automatically.
Live mode is what makes interactive installations and shows possible. But continuous cooking costs performance, so keep an eye on the The performance panel when many inputs are running at once.
What you can plug in
DNA speaks the languages of live work — controllers, network media, sensors, and cameras:
Controllers & protocols — MIDI, OSC, DMX, Serial, WebSocket. Great for hardware knobs, faders, network control, and talking to other apps. See input.midi, input.osc, input.dmx.
Live video & vision — NDI network video, cameras and capture cards, IP/network cameras, screen capture (macOS), and a browser source for live HTML. See input.video, input.camera, input.ndi.
Sensors & devices — gamepads, keyboard and pointer state, and a file watcher that reacts to files changing on disk. See input.gamepad.
Audio — a live audio input with spectrum analysis, so sound can drive your visuals.
Body tracking & ML — pose detection and, on macOS, on-device person segmentation. See Vision & ML.
Full details, including how to pick and configure a source, live in Inputs.
Sending results back out
Live work flows both ways. DNA can send video, control data, and lighting back into your rig:
Network video — send your output over NDI to other machines and apps.
Control data — send MIDI and OSC back out to instruments, lighting desks, and other software. See output.midi, output.osc.
Lighting — drive DMX fixtures and LED installations over Art-Net and sACN, with timecode sync, multi-projector edge blending, and a pixel-mapping workflow for LED layouts.
See Outputs for the full picture.
Driving parameters with live data
One of the most powerful tricks in live work is letting an incoming signal turn the knobs of your graph. Pin a parameter, map a MIDI CC or OSC message to it, and now a physical fader controls anything in your project.
This mapping layer is the parameter bridge — it connects control-data inputs (MIDI, OSC, DMX, WebSocket, Serial) directly to pinned parameters. See The parameter bridge and The Parameters panel & hotbar.
You can also keep everything in sync to the beat — see Tempo sync and Clocks & tempo.
A simple example
A classic live chain looks like this:
NDI Input receives video from another machine on the network.
A Warp node bends and distorts that video.
A MIDI Input maps four controller knobs onto the warp's grid, so a performer reshapes the image by hand.
NDI Output sends the finished image back out over the network.
Network video in, hand-controlled distortion, network video out — all in real time.
Web Player has no live I/O or audio output. Native live inputs and outputs (cameras, MIDI, NDI, DMX, audio) are desktop-only. The Web Player is for sharing finished, self-contained pieces — see Web export and The player.
Some live integrations are platform-specific: Syphon GPU texture sharing and screen capture are macOS-only, and a few outputs (like NDI and Syphon as export targets) aren't wired into the export workflow yet. Stick to the live input/output nodes above for real-time work.