/pages   /contents   /spec/1.0   /spec/1.1   /implementations   /publications   /about
(contents of this file: links to each section)

Welcome to the OpenSoundControl website. This site documents the OpenSoundControl (OSC) specification(s), collects links to related publications, and highights the hardware and software implementations of OSC brought to us by members of our user/developer community. This site is for publishing, sharing, and showcasing all things OSC; we encourage contributions which the editors will review and incorporate. You might start with the list of pages, site-wide table of contents (listing all the sections of every page), info about the site, or the git repository behind this site. All site content is covered by the CC-BY license.

What is OSC?

OpenSoundControl (OSC) is a data transport specification (an encoding) for realtime message communication among applications and hardware. OSC was developed by researchers Matt Wright and Adrian Freed during their time at the Center for New Music & Audio Technologies (CNMAT). OSC was originally designed as a highly accurate, low latency, lightweight, and flexible method of communication for use in realtime musical performance. They proposed OSC in 1997 as “a new protocol for communication among computers, sound synthesizers, and other multimedia devices that is optimized for modern networking technology”.

OSC can be understood as a more flexible alternative MIDI; OSC clears away many of the ideological and hardware constraints inherent to MIDI in favor of a open-ended, user-defined address-space model that provides arbitrary parametric control via standard networking hardware. The OSC Specification 1.0 was formalized and published in 2002. The 2009 Specification 1.1 update added support for new features and data types. Over the years OSC has been useful in a wide variety of domains beyond musical contexts. Its timing accuracy and flexibility make it a ready solution for any application that requires time-sensitive communication between software and/or hardware endpoints.

/OSC/is/Open : “OSC’s address space is entirely user-defined, thereby allowing it to be both lightweight and endlessly customizable and extensible to the user’s specific needs. OSC messages are differentiated from one another by a URI-style symbolic naming scheme allowing for hierarchical organization of the address space. In fact, the whole of this paragraph corresponds to a valid OSC message.”

/OSC/is/Accurate : “Open Sound Control messages support a wide variety of symbolic and high-resolution data types. OSC messages can embed high-resolution time tags for accurate temporal coordination and can be assembled into ‘bundles’ to ensure simultaneous delivery and execution.”

/OSC/is/Flexible : “Open Sound Control includes a pattern matching language to specify multiple recipients of a single message. It is designed for maximum interoperability and thus provides a ready solution for communicating between applications and devices, both locally and over a network.”

How to use this site…

This page of OpenSoundControl website updated Fri Jun 4 18:08:53 PDT 2021 by matt (license: CC BY).