Universal Controller MIDI

Core concepts

Connectors overview

Connectors are the bridges to DAWs, VJ software, and OS-level actions. Native paths for Ableton, Resolume, OBS, and more — beyond the raw MIDI port.

Updated

Connectors are how Universal Controller MIDI speaks the local dialect of your DAW, VJ rig, or streaming setup. A virtual port is universal — every DAW speaks it — but some targets want deeper integration: clip launching in Ableton, layer control in Resolume, scene switching in OBS. Connectors handle that.

What a connector does

A connector is an optional bolt-on that translates Universal Controller MIDI's internal events into the target app's preferred protocol. Sometimes that's a tighter MIDI subset (Ableton's Live Object Model). Sometimes it's OSC. Sometimes it's a WebSocket or a named pipe.

You don't need a connector to use the app — the virtual MIDI port handles 90% of workflows. Connectors are for the 10% where you want named clips, scene memory, or two-way state sync.

What ships out of the box

  • Ableton Live — Max for Live device + Live Object Model bridge. Names clips, follows scenes, lights up the controller LEDs to match track colours.
  • Resolume Arena — OSC bridge. Triggers clips by column/row, fades layers, syncs the BPM clock.
  • OBS Studio — WebSocket plugin. Switches scenes, toggles sources, fires hotkeys.
  • TouchDesigner — OSC, with a starter .toe patch.
  • OS shortcuts — bind a controller button to a global hotkey (mute mic, lock screen, skip track).

Protocol matrix

If you're trying to decide which connector fits — or you're writing your own — this is the cheat sheet. Direction tells you whether the host can talk back; latency is the median round-trip on a local loop:

ConnectorProtocolPortDirectionLatency
Ableton LiveLOM via Max for Liven/a (in-process)Two-way~2 ms
Resolume ArenaOSC over UDP7000 (default)Two-way~3 ms
OBS Studioobs-websocket v54455Two-way~5 ms
TouchDesignerOSC over UDP7001One-way (default)~3 ms
OS shortcutsAccessibility APIn/aOne-way~1 ms
Custom WebSocketJSON over WSUser-definedTwo-way~4 ms

How to enable one

Open Settings → Connectors. Toggle the integration on, follow the per-connector setup (usually one Max for Live device drop, or a WebSocket URL paste). The connector status pill in the bottom-left of the main window goes green when handshake completes.

{
  "connector": "ableton-live",
  "enabled": true,
  "port": 11000,
  "syncMode": "two-way"
}

OSC under the hood

OSC connectors expose stable address patterns. If you want to drive Resolume from a custom binding (or test from another OSC tool), the addresses are predictable — the format mirrors the host's internal hierarchy. Resolume looks like this:

# Trigger column 3 of layer 2
/composition/layers/2/clips/3/connect 1

# Fade layer 4 opacity to 0.5
/composition/layers/4/video/opacity 0.5

# Sync BPM clock
/composition/tempocontroller/tempo 128.0

Two-way vs one-way

Most connectors are two-way. Universal Controller MIDI sends events to the host, and the host sends state back — track names, clip status, transport position. The controller LEDs and adaptive triggers can then react to what the DAW is doing, not just what you're pressing.

Common mistakes

  • Running two connectors that talk to the same host. Don't enable OSC and Live Object Model into the same Ableton instance — state sync fights itself and clips flicker.
  • Mismatched OSC ports. Resolume defaults to 7000, TouchDesigner is whatever you set. If nothing fires, mismatched ports are the culprit 80% of the time.
  • Forgetting to install the Max for Live device. The Ableton connector won't handshake without it — the device has to be dropped on the Master track for the LOM bridge to load.
  • Expecting the connector to replace the MIDI port. Connectors sit on top of the virtual port. Disable the port, and the connector loses its base layer too.
  • Hammering OSC at 200+ Hz. Some hosts choke on high-rate OSC. Throttle source rate or use MIDI CCs for tight automation, OSC for triggers and state.

Pick a target, follow the per-DAW setup. Most users only ever enable one connector — the one tied to their main DAW. Multi-DAW power users see multi-DAW workflows.

Edit this page on GitHub Updated
ESC

Type to search.