TouchOSC
TouchOSC is an iPhone / iPod Touch application that lets you send and receive Open Sound Control messages over a Wi-Fi network using the UDP protocol.

Description
The application allows to remote control and receive feedback from software and hardware that implements the OSC protocol such as Pure Data, Max/MSP/Jitter, OSCulator, VDMX, Resolume Avenue 3, Plogue Bidule, Reaktor, Quartz Composer, vvvv and others.
The interface provides a number of different touch controls to send/receive messages:
- Faders
- Rotary controls
- Push buttons
- Toggle buttons
- XY pads
- Multi-faders
- Multi-toggles
- LEDs
It supports full multi-touch operation, five controls can be used at the same time. Additionally the program can send Accelerometer data. The application comes with five layouts that are organized in multiple pages. We are working on another version of this program with configurable layout and adjustable control behavior and value-range.
Videos
XLR8R TV - Control Ableton and Max/MSP |
![]() Novation 25SL Compact iPod Touch TouchOSC MOD |
![]() Supercollider + TouchOSC = Step Sequencer |
![]() TouchOSC / Ableton Live |
![]() Controlling Reaktor |
![]() TouchOSC & VDMX |
![]() TouchOSC with Ableton Live and BigSeq |
![]() TouchOSC controlling Traktor |
![]() TouchOSC controlling VirtualDJ |
![]() Controlling Usine |
Documentation
Download the manual for version 1.1
Examples
Ableton Live
- Tutorial on setting up TouchOSC with OSCulator and Live on OS X
- How-to on setting up TouchOSC with Pure Data, MIDI Yoke and Live on Windows
Circle
- Simple CircleOSC - An application to interface with FAW’s Circle, by Synpatic Failure
Logic
- Three part tutorial on using TouchOSC with Logic Pro
- How-to on Logic/OSCulator/TouchOSC setup, by Brett Terpstra @ TUAW
Max/MSP
- basic.maxpat.zip - Basic sending/receiving
- max5-beatmachine-send-and-receive.zip - Sending and receiving for the “Beatmachine” layout (by Florian Schulz)
- max5-beatmachine-rotaries2midi.zip - Sending MIDI from the rotaries on page 3 of the “Beatmachine” layout (by Florian Schulz)
- simple-send-and-receive.zip - Sending and receiving for the “Simple” layout (by Mitchell Turner)
- mix16-send-and-receive.zip - Sending and receiving for the “Mix16″ layout (by Mitchell Turner)
- touchosc-midikeys-v1-1a.zip - Sending MIDI Notes and CC’s for the “Keys” layout (by Matthias Schneiderbanger)
MIDI
As most audio/visual software does not support OSC directly (yet), in order to use TouchOSC with these applications the incoming OSC messages need to be translated into MIDI messages. If you are on Mac OS X please check the OSCulator files on this page. This is by far the easiest way to convert OSC messages from TouchOSC to MIDI on the Mac OS X platform.
To translate OSC messages from TouchOSC to MIDI messages on Windows follow these steps:
- Download and install Pure Data Extended
- Download and install MIDIYoke
- Download and open one of the Pure Data MIDI patches following this section (for example: simple-midi.pd)
- Make sure you are receiving output from TouchOSC in Pure Data. Refer to the TouchOSC manual on this page for more information
- In Pure Data open the menu Media -> MIDI Settings…
- For output device 1 select Out To MIDI Yoke: 1 and press OK
- Start the application you want to receive the MIDI messages with, go to MIDI settings/preferences and select In From MIDI Yoke: 1 as input
- Use the MIDI learn function of the application to map controls from TouchOSC to controls in the application
Pure Data MIDI patches:
- simple-midi.pd - All controls in the “Simple” layout mapped to MIDI CC’s
- mix16-midi.pd - All controls in the “Mix 16″ layout mapped to MIDI CC’s (by Dan Myers)
- mix2-midi.pd - All controls in the “Mix 2″ layout mapped to MIDI CC’s (by Jeremy Stacy)
- beatmachine-channels-midi.pd - Beatmachine MIDI patch with switchable channels (by Jeremy Stacy)
- beatmachine-midi.pd - All controls in the “Beatmachine” layout mapped to MIDI CC’s (by Velvetsol)
- keys-high-midinotes.pd - “Keys” layout mapped to MIDI Notes (by Jonathan Asher)
- keys-low-midinotes.pd - “Keys” layout mapped to MIDI Notes (by Jonathan Asher)
OSCulator
- simple.oscd - All controls in the “Simple” layout mapped to MIDI CC’s 0-102, Channel 1
- mix2.oscd - All controls in the “Mix 2″ layout mapped to MIDI CC’s 0-52, Channel 1
- mix16.oscd - All controls in the “Mix 16″ layout mapped to MIDI CC’s 0-90, Channel 1
- beatmachine.oscd - All controls in the “Beatmachine” layout mapped to MIDI CC’s, Channels 1-4
- keys.oscd - First two pages mapped to MIDI Notes, third page mapped to MIDI CC’s, Channel 1 (thanks to Zettt)
- Setting up Osculator and Ableton Live - Setting up 2-way communication with Ableton Live using OSCulator (Thx Camille!)
Pure Data
- basic.pd - Basic sending/receiving
- simple-receive.pd - Receiving messages from the “Simple” layout
- beatmachine-receive.pd - Receiving messages from the “Beatmachine” layout
- mix16-receive.pd - Receiving messages from the “Mix 16″ layout
- mix2-receive.pd - Receiving messages from the “Mix 2″ layout
Processing
- simple.pde - Receiving and displaying messages from the “Simple” layout (page1 only). Requires the oscP5 library.
- Example code for handling accelerometer data
- Processing Apps - Processing examples + video by Mike Cook
Quartz Composer
- touchosc-quartz-composer.zip - Example patches (by Toby Cole)
Reaktor
- Tutorial on how to set up Reaktor with TouchOSC by CircleSix
- simple.ens - Receiving values from the “Simple” layout
- mix2.ens - Receiving values from the “Mix 2″ layout
Supercollider
- touchosc-simple.scd - GUI example for the “Simple” layout (by Wilm Thoben)
Torq
- using-touchosc-with-m-audio-torq.pdf - Tutorial on setting up TouchOSC with M-Audio Torq (by Dan Myers)
vvvv
- touchosc-and-vvvv-version07.zip - Example by strukt
- touchosc-simple-p1-vvvv.zip - Example by Rainer Kohlberger
Known Issues
- Cannot receive OSC messages from Reaktor. Workaround is to use this PD patch on the same machine as Reaktor to pass-through messages. (in progress)
Support
Problems? Suggestions? Send e-mail to dev@hexler.net
Related
If you like TouchOSC please check out SonicLife, another OSC enabled controller application by hexler








