OpenSound Control

OpenSound Control

OpenSoundControl (OSC) is a protocol for communication among computers, sound synthesizers, and other multimedia devices that are optimized for modern networking technology. Bringing the benefits of modern networking technology to the world of electronic musical instruments, OSC's advantages include interoperability, accuracy, flexibility, and enhanced organization and documentation.

Motivation

OpenSound Control (OSC) is a communication protocol which allows musical instruments (especially electronic musical instruments such as synthesizers), computers, and other multimedia devices to share music performance data in realtime over a network. OSC is meant to supersede the MIDI standard, which was defined in 1983 and which many consider inadequate for modern multimedia purposes. Because it is a networking protocol, OSC allows musical instruments, controllers, and multimedia devices to communicate via a standard home or studio network (TCP/IP, Ethernet) or via the internet. OSC operates at broadband network speeds, allowing new types of realtime interactions which were not possible because of MIDI "lag", although this is usually attributable to factors other than the inherent speed of MIDI propagation. OSC also gives musicians and developers more flexibility in the kinds of data they can send over the wire, enabling new applications which communicate with each other at a higher level.

OSC can transport over many protocols, but is commonly used with UDP. It was developed by the same team who proposed the unsuccessful ZIPI protocol.

Features

* Open-ended, dynamic, URL-style symbolic naming scheme
* Symbolic and high-resolution numeric argument data
* Pattern matching language to specify multiple recipients of a single message
* High resolution time tags
* "Bundles" of messages whose effects must occur simultaneously
* Query system to dynamically find out the capabilities of an OSC server and get documentation

There are dozens of implementations of OSC, including real-time sound and media processing environments, web interactivity tools, software synthesizers, a large variety of programming languages, and hardware devices. OSC has achieved wide use in fields including new computer-based interfaces for musical expression, wide-area and local-area networked distributed music systems, inter-process communication, and even from within a single application.

OSC is also used as the heart of the DSSI plugin API, an evolution of the LADSPA API, in order to make the eventual GUI interact with the core of the plugin via messaging the plugin host. LADSPA and DSSI are linux APIs dedicated to audio effects and synths.

Design

OSC uses UDP ports to make connections between applications. A program chooses any number of ports to send on, and any number of ports to receive messages on, and each message has an associated path, reminiscent of a Unix filesystem path, or a URL. Messages that can be sent via OSC include:

* 8-bit unsigned integers
* 32 or 64 bit two's complement signed integers
* 32-bit MIDI packets
* 32-bit IEEE floating point numbers
* 64-bit IEEE double precision floating point numbers
* NULL terminated arrays of 8 bit ASCII encoded data (C-style strings)
* arbitrary sized blob (e.g. audio data, or a video frame)

Many implementations only support character strings and 32-bit floating point numbers.

The advantages of OSC over MIDI are primarily speed and throughput; internet connectivity; datatype resolution; and the comparative ease of specifying a symbolic path, as opposed to specifying all connections as 8-bit numbers. OSC messages arrive as fast as the underlying network stack can transfer them, and can be delayed to take effect at a specific time, whereas MIDI ensures synchronicity of messages by transferring them at a specific clock rate.

Implementations

Some examples of software with OSC implementations:
* Aestesis Elektronika
* Ardour
* Bidule
* ChucK
* Crystal Space in the external repository. Has CEL bindings and can be used for feedback on scenes and together with scripted behaviors for entities, allowing dynamism from OSC-enabled apps.
* CSound
* [http://diablu.jorgecardoso.eu DiABlu] is a set of OSC to Bluetooth (and vice-versa) tools.
* Eyecon
* EyesWeb
* [http://www.pawfal.org/fluxus/ Fluxus]
* IanniX
* Isadora (v.1.1)
* Lily
* Max/MSP
* Mocolo
* Mxwendler
* Pure Data
* Quartz Composer (as of v3.0 / Mac OS X v10.5)
* Reaktor
* SuperCollider
* Squeak
* Traktor DJ Studio
* VirtualDJ
* vvvv

Some examples of hardware with OSC implementations:
* [http://www.kiss-box.com Kiss-Box]
* Lemur Input Device
* Monome 40h

Since September 2007, there has been a proposal for a [http://stud3.tuwien.ac.at/~e0725639/OSC-SYN.txt standardized namespace within OSC called SYN] for communication between controllers, synthesizers and hosts.

References

* Wright, M., Freed, A., "Open Sound Control: A New Protocol for Communicating with Sound Synthesizers", International Computer Music Conference, Thessaloniki, Greece, 1997.

External links

* [http://archive.cnmat.berkeley.edu/OpenSoundControl/ OpenSound Control page] at CNMAT
* [http://opensoundcontrol.org/ opensoundcontrol.org]
* [http://search.cpan.org/perldoc?Net::OpenSoundControl Net::OpenSoundControl] Perl module at CPAN


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • OpenSound Control — Open Sound Control es un protocolo de comunicaciones que permite comunicar instrumentos de música, computadoras y otros dispositivos multimedia (por ejemplo móviles o PDA s equipados con bluetooth) pensado para compartir información musical en… …   Wikipedia Español

  • Open Sound Control — (OSC) ist ein nachrichtenbasiertes Kommunikationsprotokoll, welches hauptsächlich für die Echtzeitverarbeitung von Sound über Netze und Multimedia Installationen verwendet wird. Steuersignale können von Hardware (z. B. MIDI Keyboard) oder… …   Deutsch Wikipedia

  • Open Sound Control — (OSC)  пакетный протокол для коммуникации мультимедийных устройств (электронные музыкальные инструменты, особенно синтезаторы, компьютеры и т. д.). OSC был создан, чтобы расширить возможности утверждённого в 1983 году протокола… …   Википедия

  • SuperCollider — infobox software developer = James McCartney and others operating system = Linux, Mac OS X, Windows [ [http://sourceforge.net/project/showfiles.php?group id=54622 SourceForge.net: Files ] ] genre = Audio programming language license = GNU General …   Wikipedia

  • IanniX — is a multi formal and multi temporal OpenSound Control sequencer, made at La kitchen from the UPIC (Iannis Xenakis).External links* [http://iannix.la kitchen.fr/ IanniX page] * [http://www.la kitchen.fr/ La kitchen page] *… …   Wikipedia

  • European Bridges Ensemble — Infobox musical artist Name = European Bridges Ensemble Origin = flagicon|Europe Background = electronic ensemble Alias = EBE Genre = electronic music Occupation = Electronic Ensemble Years active = 2005 present Associated acts =… …   Wikipedia

  • Traktor DJ Studio — Infobox Software name = Traktor 3 caption = DIgital DJ Software developer = Native Instruments latest release version = 3.4.1 latest release date = operating system = Microsoft Windows, Mac OS X genre = Digital DJ Software website =… …   Wikipedia

  • Reactable — The reactable is an electro acoustic music instrument with a tabletop Tangible User Interface that has been developed within the [http://mtg.upf.edu/?language=english Music Technology Group] at the Universitat Pompeu Fabra in Barcelona, Spain by… …   Wikipedia

  • Zeta Instrument Processor Interface — (ZIPI) was a research project initiated by Zeta Instruments and UC Berkeley s CNMAT (Center for New Music and Audio Technologies). Introduced in 1994 in a series of publications in Computer Music Journal from MIT Press, ZIPI was intended as the… …   Wikipedia

  • Isadora (software) — Isadora is a proprietary graphic programming environment for Mac OS X and Microsoft Windows, with emphasis on real time manipulation of digital video. It has support for OpenSound Control. Isadora was designed by Mark Coniglio.External links*… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”