These nodes are for sending and receiving Open Sound Control (OSC) messages.

These nodes allow your composition to send messages to and receive messages from OSC-enabled devices and applications. Devices include sound synthesizers, stage lighting equipment, and control surfaces (including iPhone/iPad and Android apps). Applications include TouchOSC, Lemur, and Vezér.

To use a device or application to remote-control your composition, do one of the following:

To use your composition to control a device or application, do one of the following:

The UDP port is a number that represents the connection between the OSC sender and receiver. The sender and receiver both need to use the same UDP port. The UDP port is either set manually by the user or discovered automatically through Bonjour.

Each OSC message contains an address and, optionally, one or more data values.

The address is a piece of text beginning with /. Often, it looks like a file path or part of a URL, for example /1/fader. It may be used to describe how the data values should be interpreted, for example as positions of a fader control.

Each data value is a simple piece of information (integer, real, boolean, or text). For example, a data value of 0.3 accompanying the address /1/fader could indicate that a fader control has been set to position 0.3.

These nodes are based on the OSC 1.0 specification.

Data types

When receiving OSC values, the following type tags are supported: nil (N), true (T), false (F), float32 (f), float64/double (d), int32 (i), int64 (h), and OSC-string (s).

When sending OSC values, the same data types, except nil, are supported. When you use a Make Message node, Vuo chooses the OSC data type based on each generic Data port’s specialized type, and the value of the corresponding Type port. When the Type port is set to (auto), Vuo uses the following mappings:

Vuo Type OSC Data Type
Boolean true (T) or false (F)
Integer int64 (h)
Real float64/double (d)
Text OSC-string (s)

That is, Vuo sends 64-bit integer and real values by default. To send 32-bit values, change the Type port to Integer (32-bit) or Floating point (32-bit) and specialize the Data port to Integer or Real accordingly.

Example compositions: