Home

OSC

Open Sound Control (OSC) is an open, network-based protocol for real-time communication among multimedia devices, software, and installations. It was developed in the 1990s by the Center for New Music and Audio Technologies (CNMAT) at the University of California, Berkeley, led by Adrian Freed, to provide a flexible alternative to MIDI for expressive control over networks and devices.

OSC messages are typically transported over UDP, though other transports can be used. A message consists of

OSC is widely used in music and multimedia contexts for control of synthesizers, effects, and software instruments,

Implementations and libraries are available in many languages and environments, including liblo, oscpack, python-osc, node-osc, and

an
address
pattern,
such
as
/synth/osc1/frequency,
followed
by
a
comma
and
a
typetag
string
that
describes
the
data
types
of
the
accompanying
arguments.
Type
tags
include
i
for
32-bit
integers,
f
for
32-bit
floats,
s
for
strings,
b
for
binary
blobs,
and
others.
Additional
data
types
and
special
tags
handle
boolean
values,
timetags,
and
nulls.
Messages
can
be
grouped
into
bundles,
which
may
contain
multiple
OSC
messages
and
nested
bundles.
Bundles
include
a
timetag,
expressed
in
an
NTP-based
format,
to
enable
scheduled
delivery
across
devices.
as
well
as
interactive
installations
and
art
projects.
It
offers
rich
addressing
and
data
types
beyond
MIDI,
supports
precise
timing,
and
is
designed
to
be
cross-platform
and
extensible.
It
is
not
a
formal
standard,
but
it
has
become
a
de
facto
standard
in
many
audio
and
media
workflows.
bindings
in
Max/MSP,
Pure
Data,
SuperCollider,
Processing,
and
various
hardware
controllers.