A few weeks ago we had a look at the Open Sound Control protocol and its capabilities to connect a vast array of software through a myriad of interfaces. One of these interfaces previously mentioned is TouchOSC, and today we are going to put together a basic setup for you to start using it in your TouchDesigner workflow.
The goal of this exercise is to bridge a control surface (an iPad) with TouchDesigner running on a laptop (Macbook Pro.). Although we will be using a Mac system in this example, the roadmap is applicable to Windows as well!
We need three things: our control surface, TouchOSC (which is available in the App Store/Google Play,) and our beloved TouchDesigner software running on our computer.
Now, let’s look at how to bridge a connection between our control surface and TouchDesigner.
Let’s remember that OSC works through ports and IP addresses. In this case we’ll be configuring ports in both TouchDesigner and TouchOSC.
Recommendation: TouchOSC’s interface is a bit tricky to get used to in the beginning. I strongly recommend checking out the basic manual instructions found here:
Port Configuration for TouchOSC
In TouchOSC we will be setting the OSC connection as UDP, as well as using our computer’s IP address in the “Host” slot.
If you’re not familiar with IP addresses take a look at this blog post:
The default Send and Receive ports are set to 8888 and 7777 correspondingly. In this case we are focused on the Send port, since this will be what TouchDesigner receives.
Now, in TouchDesigner we will be using the OSC In CHOP in order to receive signals from our control surface. We only have to set out Network Port to the value of our Send port in TouchOSC, in this case: 8888.
And that’s it! The devices are now connected and messages will be transferred between each other. As soon as you interact with the control surface you will begin to see channels appear in our OSC In operator. And now we have CHOP channels… this is where the fun starts!
Get Our 7 Core TouchDesigner Templates, FREE
We’re making our 7 core project file templates available – for free.
These templates shed light into the most useful and sometimes obtuse features of TouchDesigner.
They’re designed to be immediately applicable for the complete TouchDesigner beginner, while also providing inspiration for the advanced user.
Ideas on parameter referencing in TouchOSC
Since TouchOSC has many templates to explore, as well as make-your-own, it is important to see what configuration suits your purpose best. You can have a setup of only sliders, XY fields, sequencers, buttons, and of course a combination of all these. Here are some options:
Now, here are some simple ideas to get started with:
Slider to Parameter
In this case I am setting up a Slider in Touch OSC to control a parameter in TouchDesigner. The latter referencing blending modes in a Comp TOP.
Using the XY matrix in TouchOSC we can use a point position to reference a parameter in TouchDesigner. In this case we are controlling a circle’s position on the screen.
Similar to the XY Field, with Multi mode we can use more than one point position in order to control channels. In this case a couple of circles’ positions.
Here are some video cues being triggered with the Pads template.
One of the coolest templates available is Sensors. Here you have access to your devices Accelerometer and Gyroscope. This allows us to reference channels with the position and tilting of our device in the physical world. So exciting!
Wrap Up: Basic Setup for TouchOSC and TouchDesigner
As you can see, TouchOSC is an extremely versatile solution for integrating interactive data into your TouchDesigner projects. Through an effortless setup you are instantly offered endless mapping capabilities for your creations, and this is only to your advantage.
No matter what kind of task you’re looking to accomplish, this tool should be immediately integrated into your TouchDesigner workflow. Whether you’re working on a live VJ set or designing an interactive installation, TouchOSC and TouchDesigner are meant to work together. After all they share the same “first name!”