Skip to content

OSC

Arkestra receives OSC (Open Sound Control) messages over UDP. OSC lets you control parameters from any software or hardware that speaks OSC - TouchOSC, Lemur, Max/MSP, Pure Data, custom scripts, etc.

Open the External Input panel (antenna icon) in the right sidebar, stay on the OSC tab and:

  1. Enable the toggle under Enabled
  2. Set the Port (default: 8000)

Right-click any parameter → Map to OSC → New OSC Mapping

Enter the OSC address (e.g. /arkestra/speed) and Arkestra will listen for messages on that address and route them to the parameter.

Alternatively, use OSC Learn: right-click → OSC Learn, then send a message from your controller - Arkestra captures the address automatically.

Arkestra accepts messages with a single numeric argument (float, double, or integer). By default, values are passed through as-is — send 0.0–1.0 for direct 0–1 control. If your controller sends a different range (e.g. 0–127 or -1 to +1), use the Input Scaling section in the OSC panel to set the expected min/max, and Arkestra will normalise to 0–1 automatically.

/arkestra/speed 0.75

Text parameters (text generators, plugin text fields) can receive strings over OSC. This is how live data like chat messages, social posts, scores or lyrics gets into your visuals.

  1. Click the antenna button next to a text parameter in the sidebar
  2. Enter an address (e.g. /arkestra/text) and click Bind, or click Learn and send a message
  3. Send a message with a string argument to that address
/arkestra/text "Hello from the terminal"

Each message replaces the text. Arkestra applies at most about 15 updates per second, so if messages arrive faster, only the latest one in each burst is shown. The binding is saved with the project. To stop receiving, open the popover and click Unbind.

The Live Text example plugin is built for this: it wraps and fits any length of text and transitions between messages. The example folder also includes a small Python script, live_text_feed.py, that sends one-off messages, piped lines, public Mastodon hashtag posts, or a field from any JSON API.

Multiple parameters can be mapped to the same OSC address - they all update simultaneously when that address receives a message. Useful for controlling a macro-style parameter that you haven’t formally set up as a macro.

MIDIOSC
TransportHardware cable / USBUDP (network, localhost)
Values7-bit (0-127)32-bit float (arbitrary precision)
AddressingCC numberFree-form string path
Best forHardware controllersSoftware, custom controllers