I began developing these tools during my residency at the ZKM Institute For Music and Acoustics in February 2016. They were designed to help compose complex OSC interactions with Kyma. There are many compelling reasons why you would want to work more with OSC in Kyma. Harnessing the Pacarana DSP to couple realtime software control and sonic parameters is one of them - an ideal combination for the heavy CPU demands of spatial sound composition.
Cristian Vogel, Copenhagen 2016
The Kyma bidirectional OSC Protocol implemented by Symbolic Sound in 2010, seems to have been designed primarily for expressive controllers. It is straightforward and simple to use when your controller adheres to the protocol for interfacing with Kyma Sounds. To achieve a reliable connection, one of the requirements of the Kyma protocol is that the Paca(rana) will not send an OSC message until it has received that message first from a valid port and IP address. Then it knows for sure that the message is going to the right place. In most situations, this works well…but things can get complicated if you want to send many arbitrary OSC messages from Kyma to a destination that is primarily a receiver, such as a virtual world or an object based spatial audio system. That’s where the NeverEngine Labs OSC Tools can help.
SendOSC and ReadOSC can send and receive arbitrary OSC messages, which you define directly in the Sound using standard OSC syntax. They will be converted transparently to the widget based syntax Kyma uses for sending and receiving OSC data.
Why use OSC syntax? The main reason is that it makes Kyma more compatible and easier to setup with established systems that have already defined a list of messages they can accept. You could copy messages from the user documentation of the system you want to control and paste them directly into the Sound parameter field to start exploring them. Working directly with OSC syntax in Kyma also makes the task of debugging connections easier as you might get a better impression about the nature of messages being sent and received.
Aside from the OSC syntax parsing, our Classes also allow you to remap and rewrite OSC messages, both on the way in and the way out. You could define your own naming schemas with meaningful labelling that better relates to the way your sound design is controlling or being controlled by another complex system. Dynamic scaling and smoothing and other useful features are also available. And for more advanced programming, you can use SmallTalk to build OSC messages algorithmically using scripted variables.