MSARemote for iPhone (2009)

Controlling Java/ fluid simulation with TUIO

Source code for the sketch can be found here.


Controlling VDMX & Ableton Live simultaneously

In this video, OSCulator is routing the OSC (& TUIO) messages coming from MSA Remote to midi and forwarding to Ableton Live (for audio) and VDMX (for visuals) simultaneously. Nothing is done in post, the same signal is controlling both audio and video. Video demonstrates faders, triggers, and velocity sensitive keys – yes velocity sensitive. The harder you hit the keys, the louder the sound (or whatever you want to map it to).


Controlling custom multitouch paint application with TUIO

Graffiti Wall is a product that Tangible Interaction had already developed a while ago. It was built on TUIO from the beginning, so when I passed on a copy of MSA Remote, they were able to immediately integrate it with their app without any modifications.



Blair Neal aka has created a Max MSP template (for Max5) to handle the OSC Messages coming from MSA Remote. Cheers Blair!

Download it here

MSA remote max template



msaremote osculator

MSA Remote is a remote control application for iPhone & iPod Touch that sends OSC messages over the wifi network. This allows you to control any OSC supporting applications such as Max/MSP/Jitter, PureData, Reaktor, VDMX, vvvv, Resolume, Quartz Composer etc. as well as any custom applications such as interactive installations, audio/visual performances, multitouch capable surfaces etc. It includes the widely used open standard TUIO for multitouch communications and custom specifications (detailed below) for faders, triggers and other controls. By mapping the OSC to midi on desktop (e.g. using OSCulator) allows further control of any application which supports midi such as Ableton Live, Cubase, Logic Pro, 3DSMax etc. In addition, developers can easily integrate OSC into their applications knowing it can be controlled remotely.

The application can be distributed to visitors, guests, members of the public etc. to interact with an installation or performance, or used by dedicated performers.

It was initially rejected by the Apple Store for being ‘useless’. However after a massive out-roar by the community, it was accepted.


– Multitouch information sent using standard TUIO protocol for instant integration with existing TUIO clients
– Accelerometer data for each axis (x, y, z) is sent
– 64 faders (8 pages of 8 faders)
– 64 triggers (8 pages of 8 triggers)
– 108 key (9 octaves) VELOCITY SENSITIVE polyphonic keyboard. Yes, the harder you hit the keys, the greater the velocity.
– Settings are automatically saved and restored
– Multitouch area orientation can be set as desired
– All information on protocols are documented in the app



Designed and developed by Mehmet Akten
Illustrations by Jane Laurie –

with special thanks to:

…and everyone else who tested and supported the app.



Sent using the standard TUIO protocol (


Desk | Faders

64 faders grouped in 8 pages with 8 faders in each.

Sent via OSC: /msaremote/fader/[NN] [value]

  • [NN]: fader index (11…18, 21…28, 31…38, … , 81…88)
  • [value]: fader value (0…1)


  • /msaremote/fader/13 [0.3764] – page 1, fader 3
  • /msaremote/fader/48 [0.7145] – page 4, fader 8


Desk | Triggers

One trigger (button) under each fader.

Sent via OSC: /msaremote/trigger/[NN] [on]

  • [NN]: trigger index (11…18, 21…28, 31…38, … , 81…88)
  • [on]: 1 or 0 (pressed or released)


  • /msaremote/trigger/13 [1] – page 1, trigger 3 pressed
  • /msaremote/trigger/48 [0] – page 4, trigger 8 released


Desk | Banks

Bank (page) change sent via OSC: /msaremote/bank/[N] 1

  • [N]: bank index (1…8)


Keyboard | Notes

9 pages (octaves) of 12 velocity sensitive pads (keys).

Sent via OSC: /msaremote/note [NN] [vel] [on]

  • [NN]: midi note number (C0 = 12… B8 = 119; C4 = 60)
  • [vel]: estimated hit velocity (0…1)
  • [on]: 1 or 0 (pressed or released)


  • /msaremote/note [60] [0.5687] [1] – C4 pressed
  • /msaremote/note [98] [0] [0] – D7 released


Keyboard | Octaves

Octave change sent via OSC: /msaremote/octave/[N] 1

  • [N]: bank index (0…9)



Sent via OSC: /msaremote/accelerometer [x] [y] [z]

  • e.g. /msaremote/accelerometer [0.341] [-0.512] [0.418]