BeamBridgeField notes › sACN to OSC
Field notes · OSC

sACN to OSC: a few faders for someone with an iPad

Sometimes the person who needs a fader is not at the desk. They have an iPad running Blackout, or a small console that only speaks OSC, and they need to ride two or three channels the operator has agreed to hand over. The OSC bridge does exactly that: pick channels of a universe the node sees, send them as OSC to an IP on the local network.

field note · 2026-08-06 · beambridge.net
status
in production use since 2026-08-06
first target
Blackout (iPad) · UDP 9999
prepared
GrandMA3 profile (float 0–1)
rate
on change · max 40 Hz
scope
per node · any universe · any channel

How it works

On a node's OSC tab you define targets — an IP and port on the local network plus a profile that knows the address format and value range of that console — and patch rows: universe + channel → target + fader number. Whole ranges can be patched in one go. A per-node master switch turns the bridge on and off. The node joins the multicast groups of the universes in the patch, parses E1.31, and sends an OSC message whenever a patched value changes, at most 40 times a second.

Profiles resolve everything console-specific on the core, so the node just sends what it is told: for Blackout an integer 0–255 on /blk/fader/global/<n>/level, for GrandMA3 a float 0–1.

The first real use

A small desk on set was given universe 99. Its faders arrived on the beam as sACN, went out as OSC to a Blackout iPad on the same WiFi, and the person holding the iPad had live, two-way-feeling control of exactly the faders that were patched — nothing else. The dashboard shows the live values and packets per second, so the operator can see the remote faders move.

What we learned

  • One socket rule. Several things on the node listen on the sACN port. With the wrong socket option the kernel distributes multicast packets between listeners instead of copying them, and the bridge silently drops frames. Copying, not sharing, is the rule now, and it is written down so nobody re-learns it.
  • On change, not on frame. Consoles send full frames 40 times a second even when nothing moves. Sending OSC only on change keeps a busy iPad responsive.
  • Keep the editor stable. The dashboard polls node state every few seconds; the OSC tab refreshes live values without rebuilding the form under your fingers.

Where it goes next

The same bridge is the output path for BeamBee, our hand-held console: its faders will be able to talk to a Blackout iPad or a console over OSC without the main desk being involved at all.

Any beam can do this today. Tell us which console or app is on the receiving end and we add the profile.

Want to try it on your next production?

Tell us about the job — location, coverage, how many universes — and we bring the nodes. Pricing is per production.

Get in touch [email protected]