misc ableton-live liveosc max4live osc remote control
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 127.0.0.1, 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)
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)
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.
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.
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.
I had the same problem, this is what you have to put in line #65 of LiveOSC.py file:
PS: send to port 9000 and receive from port 9001 (your localhost in your patch shall be 127.0.0.1)
Is it possible to use liveosc to control play/stop/goto time?
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.
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.
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 ?
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
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