Noodling

Django Reinhardt, the Gypsy jazz guitarist, had only two usable fingers on his left hand. And then there was Paul Wittgenstein, who had lost his right arm in World War I and convinced Ravel to write a piano concerto for the left hand alone.

These are extreme cases. Most musicians need all the fingers they can muster.

And then we start making music on a computer, perhaps with VCV Rack or some other modular instrument, and we’re reduced to using the mouse as a performance interface. Essentially, this is playing the instrument with one finger. Not good.

Wouldn’t it be great if you could play VCV Rack using a multi-touch surface such as an iPad?

Well, you can.The key ingredient is a $5 iPad app (also available for Android devices, I believe, and for the iPhone) called touchOSC. This app can send OSC — that’s Open Sound Control — messages to your computer. Probably wirelessly, but I’m using USB.

With touchOSC and the cross-platform touchOSC Editor program (available from hexler.net) you can configure several panels of knobs, sliders, and buttons and then upload them to the touch-screen device. here’s what my first control surface layout for the iPad looks like:

touchOSC_layout

Simple, yet functional. I have, as yet, no idea what I’m going to do with it musically, but that’s how modular synthesis quite often works: You set up some stuff and then start fiddling with it. Filter sweeps? Nah, that would be boring.

My first attempt to get touchOSC messages into VCV Rack used the Trowasoft cvOSCcv module. This works, but it has only eight outputs, and I was completely unable to get multiple instances of the module to receive messages at the same time. Eight might be enough for most musical purposes, but I’d be wasting most of the screen space on the iPad.

Someone suggested that Holonic Systems had an OSC module — and sure enough, they do. It’s called Source. I posted a question to the Holonic page on Facebook and soon had the information I needed. Their own app is mainly for motion sensing; if you want to wave your phone around in the air at a gig, you’ll like it. But I wanted a performance control surface, and that meant I had to learn what sort of OSC messages Source wants to receive.

OSC uses IP addresses and namespaces, so setting it up properly is not entirely a stroll in the park. First, make sure the Editor and touchOSC are using the same IP addresses. After creating a layout in the Editor program (giving each widget the message identifier needed by Holonic Source), you send the layout to touchOSC in the iPad using the Sync button in the Editor.

A couple of tricky bits are worth noting. First, as already mentioned, touchOSC has to be informed as to the correct IP address of your computer. Second, the Holonic module wants to see incoming messages on port 9000, so you’ll need to set touchOSC to transmit on that port. Finally, when creating your control widgets in the touchOSC Editor software, you’ll need to give them the identifiers that Source expects to see.

A Source module can be set to any of eight buses using the knob at the top. If the module is set to bus A, the correct identifier for the top output jack is /a/1/cv. The final bit, the “cv,” tells Source to expect a unipolar signal. For a bipolar signal you would use cvbi.

And that’s really all there is to it. Using the Stoermelder Strip module, I created a preset for VCV Rack that I can load into any patch that needs external control. Here’s what it looks like:

OSC_source_modules

To save a few people a few minutes of confusion, you can download both the touchosc template shown above and a basic VCV patch with the Holonic modules from here.

As it says in the Upanishads, “Bada-bing!”

3 Comments

    • True enough. But that would be more complex to set up. In addition to Bridge, I would probably have to use a MIDI applet in order to route the output from Bridge to other MIDI devices in the computer — so there would be lower data resolution, more potential headaches, and nothing to gain. Bridge would be the tool of choice for connecting touchOSC to a program, such as Reason or FL Studio, that has no OSC input.

      Like

Leave a comment