Open Sound Control

Introduction to Generic OSC

Suppose you are developing your own control systems to integrate with SPAT. In that case, you might find it useful to know that it is possible to export a detailed description of all OSC patterns, syntax and usage to a text file for reference. You will find that option in the SPAT preferences. You will also find a complete OSC table D in the appendix.

Note

Enable commands log will display the received and emitted OSC messages in the log windows to confirm you are receiving data. Shift + F7 will open the log window.

In general, SPAT OSC patterns have the form of:

/source/[remote number]/x

where remote number represents the Remote number of the Virtual Source, or the index (i.e. the room number) of the Room you wish to control with the message.

The three positional formats can be packed into one message if that option is set in the OSC Connections Matrix;

/source/[remote number]/xyz Cartesian co-ordinates in meters

/source/[remote number]/aed Polar co-ordinates (azimuth, distance and elevation)

Warning

Take care to automate EITHER Cartesian OR Polar, not both.

Sometimes, it is more convenient to have the remote number parameter as an argument of the OSC message. This option is available in the OSC Connections Matrix, namely Index as Arg. If this option is switched in, then the messages will be of the pattern

/source/xyz ifff

where i is an integer denoting the remote number of the target, and f according to convention is a float denoting the values of the message.

For more details about the SPAT Revolution OSC dictionary and its syntax, please refer to Appendix C D.

The output rate allows changing how fast the engine will send OSC messages. The lower the value is, the more SPAT Revolution will send OSC message and the remote will display the changes, but it will also increase the stress on the CPU. If you experienced some CPU overload when moving sources through OSC command, you can try to increase the value. By default, it is set to 5.0 ms.

OSC Connections Menu

There is a lot of flexibility in the OSC connection menu. We find it in the SPAT Preferences page.

Eight different connections can be set up as input or output. It is displayed as a table where each connection is a line.

The first parameter is the connection type, which offers many input and output presets. These presets come with dedicated network ports, dedicated option and dedicated transform if needed.

Note

OSC presets are: - SPAT plugins - SPAT Remote server - ADM-OSC - Lemur - Avid S6L - Digico - SSL Live - SpaceMap Go

Then the IP address needs to be set. If the OSC connection is established locally, on the same computer, the port 127.0.0.1 is dedicated to local network usage. For other configurations, we need to inform the IP of the targeted device.

Lastly, the port number can be adjusted to a free one. If a “custom” preset is loaded, we must most likely edit this parameter to establish a network connection.

And finally, it is possible to name the OSC slot, clicking on the name of the top of the right panel.

If we want to deactivate an OSC socket without losing the parameters, it is possible to deactivate an OSC socket. To do this, click right on the OSC socket number and click on Activate/Deactivate, or shift-click on the OSC socket number. As it, the input or output will be deactivated.

If we loose the sync between the remote and SPAT, it is also possible to dump all the project properties on a particular socket. To do so, click right on the OSC socket number and click on Dump project. Note that the project is always dumped when the OSC socket is activated, and when the OSC IP address or port changes.

OSC Transform

Interfacing different devices and software in OSC can be problematic as each piece of equipment can have its own value scale. To overcome these difficulties, some OSC transform presets have been implemented.

Transform presets are accessible for each OSC connection and allow quick re-scaling of the values.

Note

If the included transform preset does not fit your needs, you can click on the + button to open the custom OSC transform menu. You can choose how to scale your input or output values in this menu. You can also choose to exclude specific OSC command from the scaling rules.