conference logo

Playlist "Linux Audio Conference 2018"

Rtosc - Realtime Safe Open Sound Control Messaging

Mark McCurry

Audio applications which go beyond MIDI processing often utilize OSC (Open
Sound Control) to communicate complex parameters and advanced operations.
A variety of libraries offer solutions to network transportation of OSC
messages and provide approaches for pattern matching the messages in dispatch.
Dispatch however is performed inefficiently and manipulating OSC messages is
oftentimes not realtime safe.
rtosc was written to quickly dispatch and manipulate large quantities of OSC
messages in realtime constrained environments.
The fast dispatch is possible due to the internal tree representation as well
as the use of perfect-minimal-hashing within the pattern matching phase of
dispatch.

The primary user of rtosc is the ZynAddSubFX project which uses OSC to map
3,805,225 parameters and routinely dispatches bursts of up to 1,000 messages
per second during normal audio processing.
For audio application rtosc provides a simple OSC serialization toolset, the
realtime safe dispatch mechanisms, a ringbuffer implementation, and a rich
metadata system for representing application/library parameters.
This combination is not available in any other OSC library at the time of
writing.

Audio applications which go beyond MIDI processing often utilize OSC (Open
Sound Control) to communicate complex parameters and advanced operations.
A variety of libraries offer solutions to network transportation of OSC
messages and provide approaches for pattern matching the messages in dispatch.
Dispatch however is performed inefficiently and manipulating OSC messages is
oftentimes not realtime safe.
rtosc was written to quickly dispatch and manipulate large quantities of OSC
messages in realtime constrained environments.
The fast dispatch is possible due to the internal tree representation as well
as the use of perfect-minimal-hashing within the pattern matching phase of
dispatch.

The primary user of rtosc is the ZynAddSubFX project which uses OSC to map
3,805,225 parameters and routinely dispatches bursts of up to 1,000 messages
per second during normal audio processing.
For audio application rtosc provides a simple OSC serialization toolset, the
realtime safe dispatch mechanisms, a ringbuffer implementation, and a rich
metadata system for representing application/library parameters.
This combination is not available in any other OSC library at the time of
writing.