» LivvvveOSC
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.


misc ableton-live liveosc max4live osc remote control
Credits: http://liine.net/livecontrol/ableton-liveapi/liveosc/


This repository allows extensive remote control of your Ableton Live set either on the same computer or in a network.
It has been tested to work on both PC and Mac; and alongside TouchOSC, the Launchpad, Akai APC, etc.

I tested with a Ableton Live 8 (both Demo and Registered) and with Max4Life .

Its purpose is to quickly prototype interactive music applications. Almost any control you see in the Clip View of Ableton can be accessed remotely with this collection of tools. Consult the Demo Patch to see some possibilties to read both query the GUI and set various controls.

One of the most valuable properties of this approach is the automatic quantisation when triggering a clip.


1. Copy the "MIDI Remote Scripts\LiveOSC" into your Ableton Live's "Resources" folder.
2. Edit LiveOSC.py in Line 65 to the correct Hosts and Ports (for example to, if you want to test it on localhost ports 8008 and 8009)
3. Start Ableton Live
4. In Options->Preferences->MIDI Sync select LiveOSC as a Control Surface
5. Load a set (e.g. "New in Live 8 Demo")
6. Start "Demo Live Ableton.v4p" and start playing around
7. If you want to add LivvvveOSC to your own project, add the repository in the root (Alt+R)

Gundel and Dagobert

These helper plugins are useful to get a consistent data set of all current elements of any live set automatically, especially with the Iterate plugin. With these you might be able to build a dynamic GUI in vvvv, similar to TouchOSC' Live Control.
While Dagobert (German name for Scrooge McDuck) saves and orders everything he gets his hands on, Gundel (German name for Magica de Spell) is more picky to very certain items. All three plugins are meant to circumvene the lack of spreadability of the modules (and of LiveOSC of course).

However, you can identify the IDs of the controls you want to change by trial+error. If you do you will not need either the plugins nor most of the nodes (like Query, Info, Devices, etc)

Indexing of Elements

While wrapping the possibilities of LiveOSC into v4 modules i did a few design decisions.

Every element of Ableton Live has an ID, that can consist of one, two or even three integer values, depending on the type of the element.

  1. Scene - Integer counting from 0
  2. Track - Integer counting up from 1
  3. Mastertrack - Integer 0
  4. Return - Integer counting down from -1
  5. Clip - TrackID to which the Clip belongs; Integer counting up from 0
  6. Device - TrackID, MasterID or ReturnID to which the clip belongs; Integer counting up from 0
  7. DeviceParameter - TrackID, MasterID or ReturnID to which the clip belongs; DeviceID; Integer counting up from 0

I found that in Ableton there is a strong divide between tracks and return tracks, even though they have a lot in common (both can be muted, the volume can be controlled, sends can be manipulated, devices like vst effects can be added, etc). I started to treat them transparently where I could (especially in the case of Devices).


The biggest Limitation is within Ableton and its way to handle the Python script. Since Python (unlike Max) is called by the GUI Thread and not by the Engine thread, it is not real time. You will experience jittery latency between 1 and 16 ms. For time critical purposes it might be wise to add your own Midi constructions. Also the script might affect the performance of Ableton on older computers.

I wrapped almost everything into modules, the only commands i neglected are the ones to show or highlight stuff in the Ableton Live GUI. Also there might be some Listeners I omitted that are more useful to someone than i anticipated. Consult OSCAPI.txt in the LiveOSC script directory. There are some commands missing in LiveOSC, especially aweful is the lack of polling the number and names of return tracks.


This contribution is kindly supported by intolight ( http://www.intolight.de ) and the ECAS Network ( http://icasnetwork.org/ ).


14.12.11 [12:35 UTC] by velcrome | 1875 downloads
Version 1.1
Show 1 older revisions

Older Revisions

24.06.11 [16:00 UTC] by velcrome | 927 downloads
Version 1.0

lasal 26/06/2011 - 10:54


mrboni 06/07/2011 - 19:32


veevee 06/07/2011 - 23:55


Lokua 18/01/2012 - 15:34


casinowilhelm 09/05/2012 - 02:28

Hi there- seems to be a typo or problem in the latest version - the host addresses and ports in liveOSC.py and also the example patch may be set to your PC.

Anyway that's not my problem - I can't get this to work. Just using localhost. Neither version (old or new) seems to communicate with live - it seems to send messages on UDP but ableton doesn't react.

I've followed the instructions several times and tried with different versions of vvvv, and tried localhost and fixed IP addresses.
Any known problems e.g with live 8.2.8 by any chance?

I tried on two different computers running win7. One running a firewall, one not.


nissidis 30/07/2012 - 18:18

I had the same problem, this is what you have to put in line #65 of LiveOSC.py file:

self.oscServer = RemixNet.OSCServer('',9001, None, 9000)

PS: send to port 9000 and receive from port 9001 (your localhost in your patch shall be

mrboni 11/12/2012 - 15:48

Is it possible to use liveosc to control play/stop/goto time?

velcrome 16/12/2012 - 00:42

play and stop works of course. goto time is not possible, because basically you can only interact with the clip view of ableton, not the arrangement view- there simply is no time in the clip view.

youngjae 21/12/2012 - 19:11

nnniice! i will give it a spin on live 8.3 with max 5.1. touchOSC worked with audio or midi track but when the plug in placed in any track, it blocked the audio on that track from what I experienced. really to see ableton -vvvv revived.

phn 11/09/2013 - 03:41

Hi...Im trying to obtain a clip status...I'm using address /live/clip/info but somehow this is not working.

This is what I made so far:

Thanks in advance!

dobyhal 24/05/2016 - 22:09

hi, great and useful stuff ! thanks for all your efforts !

lately i was trying to set the time signature for a whole ableton LIVE project. unfortunately this doesn't seem to be defined in the python code.

the "OSCAPI.txt" file says it's possible to set a CLIP's time signature with "/live/clip/signature" but what about the project's time signature ? would it be possible to add/change some lines of code to get there ? or is there some other trick to achieve this ?



velcrome 25/05/2016 - 10:39

hey dobyhal,

i cannot check right now, but i think this was possible with the new and improved LiveOSC toolkit shipping as girlpower in the next vvvv-Message pack, even without modifying py files.

Look into the /live/time command

KUZMA 15/05/2019 - 16:48

Hi there!
I can't see Liveosc control surface within Ableton 10 preferences after 3 steps of installation instruction. It simply doesn't support last live version?
Could you advice please is there some way to make it work?

anonymous user login


~9h ago

Yoctopory: The EDSDK (DX11) doesn't seem to work with the newe r Canon EOS 2000D. The same patch works with the older EOS 1200D Any Ideas?

~14h ago

levi: Any one knows of solutions for large touch surfaces (fingers)? 5 meters or so ?

~2d ago

CeeYaa: https://www.youtube.com/watch?v=OkzfYQCLrCE thanks for the insights, impressive stuff @mediadog yes, it is a very nice CAVE

~2d ago

mediadog: @CeeYaa Why I'm learning Unreal, now if I could just afford wrap-around LED walls! Can do in vvvv too, it's just a CAVE

~3d ago

kleinkariert: @tonfilm any hint on how to generate Mel-Frequency images out of audio for mel-GAN in v4

~3d ago

joreg: @mediadog we're aware of this, see: https://discourse.vvvv.org/t/visual-c-2008-this-download-is-no-longer-available/17895 and i now also fixed the resp. links on the download page.

~3d ago

mediadog: FYI VC redist 2008 links bad in 38.1 installer and on web page

~4d ago

joreg: Reminder: Intro workshop to the all-new vvvv this Tuesday before the #vvvv meetup in #berlin. Signup here: https://nodeforum.org/announcements/2020-series-of-2h-introduction-workshops-to-vvvv-gamma/