Open Sound Control (OSC) is a successor to MIDI and facilitates more flexible communication between software and multimedia devices.
In this example, we will configure Reaktor to act as a receiver of OSC messages. Launch Reaktor. First we have to make sure that OSC is enabled. For this, select “File>OSC Settings” from the menu. The following dialog appears.
Click the “OSC Activate” button so that it is enabled. Of the three tabs that are displayed in the dialog, only the “Receive” tab is relevant to us. Note down the IP address of the machine where Reaktor is running (192.168.0.3 as above) and also the default port (you can change the port number, but we will use the default of 10000). If a program is sending OSC messages to Reaktor, we can see the incoming messages in the area labeled “Incoming OSC Monitor”. We can use this to test the connection between the other program and Reaktor.
Let us create a new ensemble. Select “File>New Ensemble” from the menu. The screen looks as follows.
We do not need the inputs, so we can delete them. Let us add a simple Sine wave oscillator and connect its output to the two output controls. Next, add two controls to the inputs of the oscillator. The screen looks like this:
Now, right-click on the “Pitch” control and select “Properties” from the popup menu. Select the “Connect” tab. In the OSC Receive section, add a new source with the address pattern “/Pitch” (the address pattern can be any convenient URL-type string) and let the Index column be 0 (the default). Likewise, configure the address pattern of the “Amplitude” control as “/Ampl”. At this point, the screen looks like this:
Open the instrument-view panel and tidy up the alignment of the controls. See the following figure.
Now we are ready to communicate with Reaktor using OSC protocol. Our OSC controller program is written in Chuck and runs on Windows 8.1. The program is shown in the following figure.
When the above Chuck program runs on Windows machine, it controls the knobs that we have configured in Reaktor, and we can see them changing values rapidly, resulting in variation of the generated sound.
Neat, isn’t it! In a future post, I will walk you through another example where Reaktor is the Sender of OSC messages.
Recent Comments