UDP - OSC An Introduction

The UDP protocol

The UDP- and OSC protocols allow the use of normal ethernet network connection to send information between computers and other interactive media systems. Because of its speed and availability in almost every new computer it's a good replacement for the MIDI interface in many cases.

The UDP protocol is based on IP network connections. That means, you address other network clients with an IP address. Unlike the TCP protocol, UDP does not include a procedure for ensuring that individual messages are not lost in transit. Under normal network conditions, it is not uncommon for individual messages to be lost or damaged. By omitting the error checking that is a part of the TCP protocol, UDP can be faster in some circumstances.

UDP should only be used for sending frequent messages that are meant to update information, such as the position information from the motion tracker or data from dynamic fields etc. Because this kind of information is usually sent frequently or in every processing cycle, the interactive control in a host system is not adversely affected if an occasional message is lost in transit, since another update message will be sent soon. The UDP protocol should not be used for messages that must always succeed, such as server commands or other critical messages.

You have to come up with your own definitions of how the data is structured. In EyeCon you can send UDP strings that represent the on/off state of an element and the numeric information an element is representing.

The OSC protocol

OSC is the abbreviation of OpenSound Control. It is a protocol for communication among computers, sound synthesizers, and other multimedia devices that is optimized for modern networking technology like Ethernet, USB, Firewire etc. That means it is not necessarely transported via UDP network, but in most practical uses it is used as another layer on top of UDP connections to standardize the way in which information is transferred between media systems. UDP is protocol to transfer blocks of data via ethernet connections. How the data is organized in a block of data is not specified. This makes another protocol-layer like OSC necessary.

OSC has been developed by the 'Center for New Music and Audio Technologies' of the university of Berkeley. It is available for many media systems that are used nowadays like Max/MSP, Supercollider, CSound, Pd, Reaktor etc.

For further information look at http://cnmat.cnmat.berkeley.edu/OSC/


OSC and Max/MSP

You can download a MAX/MSP patch that demonstrates the use of the OSC protocol from http://cnmat.cnmat.berkeley.edu/OSC/Max



Flosc is a java server that allows the control of Macromedia Flash Animations via OSC. Basically it is a software that can receive OSC packets from EyeCon and transform the information in XML based files that can be accessed from inside Macromedia Flash. Look at http://www.benchun.net/flosc/ for details