Free forever·no account, no tracking, no third-party requests ·open data, free API
showstack / protocols / osc

OSC

Also called Open Sound Control, OpenSoundControl.

A transport-independent message format carrying named, typed messages such as /cue/5/go with int, float, string and blob arguments, optionally grouped into timestamped bundles. On a show it is the glue between QLab, lighting consoles, control surfaces and anything with a scripting port.

Show controlOpenCNMATVerified

Stewarded by CNMAT, University of California Berkeley.

Control Small, urgent, must arrive

Small messages that either repeat constantly or fire once. Bandwidth is almost never the problem.

What kills it. Latency and loss on the messages that fire once. A repeating level survives a dropped packet; a GO does not.

Ports

udp/53000 QLab default OSC listening port
An application default, not part of OSC. Figure 53 document it as the port QLab listens on, changeable per workspace.
tcp/3032 ETC Eos default OSC TCP port (OSC 1.0 packet-length framing)
An application default, not part of OSC. Bidirectional, so no separate transmit port is needed.
tcp/3037 ETC Eos third-party OSC port using OSC 1.1 SLIP framing
Added in Eos v3.1.0. Separate from 3032 because the two stream framings cannot be auto-detected.

What goes wrong

OSC defines no port and no transport. Every product picks its own, and the receiver usually needs telling the reply port as well as the listen port, so a link that "works" one way often has no return path at all.
Over TCP or serial there are two incompatible framings. OSC 1.0 prefixes each packet with a 32-bit length; OSC 1.1 uses SLIP. ETC put them on separate TCP ports (3032 and 3037) precisely because you cannot detect which is which.
There is no formal 1.1 specification document, only a NIME 2009 paper. When a datasheet claims "OSC 1.1 support" it can mean SLIP framing, the new argument types, or almost nothing.
Address patterns support wildcards on the receiving side, so a stray /eos/chan/* reaches far more than one channel. Test pattern messages against a rehearsal state, never against a running show.
Bundle time tags are 64-bit NTP timestamps and assume the two machines agree on time. Many entertainment implementations ignore the tag entirely and execute on arrival, so do not build sample-accurate timing on it.
UDP has no delivery guarantee and OSC adds none. A single lost GO is simply gone with no error anywhere. If the cue matters, use a TCP link where the product offers one.

What speaks OSC (99)

99 products — 43 hardware, 56 softwareshow all
ProductDirectionNotes
Ableton Live
Ableton AG
bidirectional
needs licence
No native OSC. Reached through Max for Live, included in Suite and sold as an add-on for Standard; Ableton cite OSC as a Max for Live use case.
Ardour
Ardour Community
bidirectional OSC control surface support.
ArKaos MediaMaster
ArKaos
bidirectional OSC control.
Capture
Capture Visualisation AB
bidirectional Documented as supporting DMX talkback with ETC Eos consoles.
CasparCG Server
CasparCG project
out Sends per-layer status and playback position. Default port 6250 in casparcg.config.
ChamSys MagicQ
ChamSys
bidirectional
needs licence
OSC requires Unlocked mode, activated by a MagicQ wing, Connect interface or rack-mount dongle. The manual documents both receiving and sending messages.
Chataigne
Ben Kuper
bidirectional Also supports OSCQuery for discovery.
Bitfocus Companion
Bitfocus AS
bidirectional Companion can be controlled over OSC on a configurable listen port, and modules send OSC out.
Daslight
Daslight (Nicolaudie)
in OSC control.
disguise Designer
disguise
bidirectional
DMXControl 3
DMXControl Projects e.V.
bidirectional OSC control.
Eos
Electronic Theatre Controls (ETC)
bidirectional ETC states all Eos family devices can send and receive OSC when running software v2.3 or higher.
Go Button
Figure 53
bidirectional OSC control.
Godot Engine
Godot Foundation
bidirectional Through community add-ons.
grandMA3 onPC
MA Lighting
bidirectional
HeavyM
HeavyM
in External control.
Hippotizer
Green Hippo (an ACT Entertainment brand)
in MultiController maps OSC (and raw TCP) to pins. As with MIDI, outbound OSC feedback is referenced but not documented in detail.
Isadora
TroikaTronix (Mark Coniglio)
bidirectional Specifications page lists input and output of OSC; Isadora 4 adds an OSC Address Listener actor. Commonly used to take cues from lighting consoles and other cue software.
L-ISA Controller
L-Acoustics
bidirectional Object positions and control.
Lightkey
Lightkey
in OSC control.
Lightwright
Lightwright LLC (John McKernon Software)
bidirectional Eos Console Link uses OSC over the lighting network, or 127.0.0.1 on a single machine, to trigger cues, turn lights on and off during focus and work calls, and import, label and document cues and groups.
MadMapper
garageCube
bidirectional Includes OSC Query support.
Max
Cycling '74
bidirectional Via widely used objects rather than as a built-in.
Medialon Control System
Medialon (Barco)
bidirectional OSC in and out.
Millumin
Anomes (Philippe Chaurand)
bidirectional Configurable OSC listeners and senders; an OSC API covers almost every feature. Docs also state Millumin supports OSCQuery, without specifying its server/client role.
Mitti
Imimot
bidirectional OSC control in and out, commonly driven from QLab or a console.
Mixing Station
David Giga
bidirectional Uses each console's own network control protocol, OSC where the console offers it.
Modul8
GarageCUBE
bidirectional OSC control.
Node-RED
OpenJS Foundation
bidirectional Via community nodes.
Notch
Notch (10bit FX Limited)
bidirectional Vendor features page states OSC input and output; the node reference lists both an OSC Modifier (receive) and an OSC Output node (send).
OLA (Open Lighting Architecture)
Open Lighting Project
bidirectional
ONYX
Obsidian Control Systems
in
needs licence
Full control of main playbacks, playback buttons, F-keys and command keys. OSC is locked in FREE and NOVA mode; a free trial can be started from the licensing options.
Open Stage Control
Jean-Emmanuel Doucet
bidirectional Core.
openFrameworks
openFrameworks community
bidirectional Core addon.
PIXERA
AV Stumpfl
bidirectional Control.
Processing
Processing Foundation
bidirectional Through the widely used oscP5 library.
ProPresenter
Renewed Vision
bidirectional Network API control.
Protokol
Hexler
in Core supported protocol for monitoring/logging.
ProVideoPlayer (PVP)
Renewed Vision
bidirectional OSC control.
Pure Data
Miller Puckette and contributors
bidirectional Through standard external objects.
QLab
Figure 53
bidirectional QLab exposes a full OSC API for control and feedback, and can send OSC as a cue type.
QLC+
QLC+ project
bidirectional
REAPER
Cockos Incorporated
bidirectional Built-in OSC control surface. Cockos state a device can receive messages from REAPER, send messages to it, or both; message mapping lives in .ReaperOSC pattern config files.
Resolume Arena
Resolume
bidirectional
Show Cue System (SCS)
Show Cue Systems
bidirectional OSC control.
Smode
Smode Tech
bidirectional OSC in and out.
Stage Precision
Stage Precision
bidirectional OSC in and out.
TouchDesigner
Derivative
bidirectional
TouchOSC
Hexler
bidirectional Core.
Unity
Unity Technologies
bidirectional Through community packages rather than built in.
Unreal Engine
Epic Games
bidirectional OSC in and out via plugins.
Ventuz
Ventuz Technology
bidirectional OSC in and out.
vMix
StudioCoast
in Control, depending on version.
vvvv
vvvv group
bidirectional Standard nodes.
WATCHOUT
Dataton
bidirectional
Wireshark
Wireshark Foundation
in Open Sound Control dissector, documented display filter fields since Wireshark 1.12.0.
7thSense Delta Media Server
7thSense
bidirectional OSC control.
Alcorn McBride A/V Binloop HD
Alcorn McBride
in Control, depending on model.
Allen & Heath dLive S7000
Allen & Heath
bidirectional Native OSC over TCP, widely used with QLab and show control.
Allen & Heath SQ-6
Allen & Heath
bidirectional MIDI/TCP control; OSC through third-party bridges.
Analog Way Aquilon RS4
Analog Way
in Third-party control over the network API.
Analog Way Picturall Mark II
Analog Way
bidirectional OSC control.
Avid VENUE S6L-32D
Avid
bidirectional OSC control via Eucon and third-party apps.
Avolites Ai Q3
Avolites
bidirectional Control.
Avolites Diamond 9
Avolites
bidirectional OSC control in and out.
Avolites Tiger Touch III
Avolites
bidirectional OSC in and out.
Barco Event Master E2
Barco
in Control via third-party systems over the network API.
Behringer X32
Behringer
bidirectional Undocumented-but-stable OSC protocol that a whole generation of third-party apps and QLab workflows is built on.
ChamSys MagicQ MQ80
ChamSys
bidirectional Remote control and feedback.
ChamSys MagicQ MQ500M Stadium
ChamSys
bidirectional Two-way OSC for external control surfaces and show control.
Christie Pandoras Box
Christie
bidirectional OSC in and out, heavily used via Widget Designer.
Crestron CP4N Control System
Crestron
bidirectional Through modules.
Dataton WATCHPAX 60
Dataton
in Control.
d&b audiotechnik DS100 Signal Engine
d&b audiotechnik
bidirectional OSC is the control surface for object positions, used by tracking systems and show control.
DiGiCo Quantum 338
DiGiCo
bidirectional OSC control of the desk.
DiGiCo SD12
DiGiCo
bidirectional Via the external control protocol.
disguise gx 3
disguise
bidirectional
disguise vx 4
disguise
bidirectional OSC control of Designer cues and parameters.
Eos Apex 5
ETC
bidirectional Over UDP or TCP. Needs no gateway.
ETC Eos Apex 10
ETC
bidirectional Remote control and feedback.
ETC Ion Xe 20
ETC
bidirectional OSC in and out, widely used with QLab.
grandMA2 full-size
MA Lighting
bidirectional OSC in and out.
grandMA3 full-size
MA Lighting
bidirectional
MA Lighting grandMA3 light
MA Lighting
bidirectional Remote control.
Green Hippo Hippotizer Karst+ MK2
Green Hippo
bidirectional Control.
Hippotizer Boreal+ MK2
Green Hippo
in Remote control of engine parameters.
Hog 4
High End Systems
bidirectional
Kinesys Elevation 1+
Kinesys
bidirectional Integration with show control systems.
Medialon Showmaster Pro
Medialon (Barco)
bidirectional Control.
Midas HD96-24
Midas
bidirectional OSC control.
Modulo Kinetic
Modulo Pi
bidirectional OSC in and out for show control.
Obsidian Control Systems NX4
Obsidian Control Systems
bidirectional OSC in and out.
AV Stumpfl PIXERA one
AV Stumpfl
bidirectional OSC in and out.
Q-SYS Core 510i
QSC (Q-SYS)
bidirectional External control of named controls in the design.
TAIT Navigator
TAIT
bidirectional Show control integration.
TTA StageTracker II
TTA — Track The Artist
bidirectional Control and data.
Yamaha CL5
Yamaha
bidirectional Limited OSC via third-party bridges rather than natively.
Yamaha RIVAGE PM7
Yamaha
bidirectional OSC via the console API.
zactrack PRO
zactrack
bidirectional OSC for integration with audio and show control.

Open source implementations

Typical use

Sources

Something wrong, or missing?

Every entry here is maintained by people who run shows.

Edit this entry on GitHub — one file, editable in your browser, and your handle goes on it permanently.

Work at CNMAT, University of California Berkeley? Confirm or correct this entry — it is free, it stays free, and nothing about it is for sale.