I want to read the name of the clip that is playing in Ableton Live in a specific channel (track).
LiveAPI should allow me to do that easily. However I’m very new to all of this.
The question is: Has anyone tried something with LiveAPI and vvvv? I’ve searched the forum and no one mentioned LiveAPI before.
For those who haven’t tried it yet, but want to help:
The LiveAPI is a collection of objects representing some parts of Ableton Live. It’s accessible through a Python script which is put inside a specific folder where Live is installed.
There is one script called LiveOSC, which defines some OSC addresses and arguments, and works as an OSC server (?)
Using vvvv I sent it messages like “stop”, “play” successfully with OSCEncoder and UDP client (port 9000). The requested actions were executed - Live stopped and played.
Using vvvv I listen to LiveOSC messages, like “/remix/echo” (sent when LiveOSC is selected inside Live in settings - when it’s initialized)
The problem I have is I don’t know how to “receive” the answer to a message I send to address “/live/name/clip” with arguments (0,0). I’m not even sure I’ve connected the type and arguments pins correctly. Can someone have a look?
I even managed to change the tempo and “rename” the clip, so I must be really close.
I guess if someone knows python, it can probably be done to send the names of the playing clips in all the channels, at regular intervals (100ms) to a specific port and hostname/ip address. That way there would be no need for this “request/response” that I’m aiming at now.
dragoljub,
i can’t really help you…cause my OSC, python skills are close to 0.
but do you think it’ll be easier with Live8 to receive these informations ?
i’m currently doing the beta test
but without the Akai apc40 and the Max for Live add-on damned there’s no VVVV for live add-on…steve jobs fault :)
i think Live api is still the only way to receive Live clips
position/states/name etc…(no native OSC support in Live8)
let me know if you get good results with your current trick!
btw : for realtime audio+video sampler/looper
the new live8 device called “Looper” is your friend :)
On the assembla site you can download some packages people created, or you can “check out” the most current code directly from the SVN repository. (Tortoise SVN is good for that) The original package is aslo in the SVN.
Now that I said all that, I can report some news. I managed to get something out of Live. Using a modified version of the LiveOSC, I succeeded in getting the clip names. One user posted his modified version which finally helped me get something: Who wants access to Ableton's Python API? .. You? .. Ok! - Page 21 - Ableton Forum I think it required me to install python. However I cheated. I installed 2.5, and only renamed the folder python25 to python22. It was great to see it working! Unfortunately, it only worked when I send the message without arguments, and then the script sends all the clips’ names. When I specify which track/clip I want, it does not send anything. Maybe it was because of my cheating with the python installation, or the Live version was newer and some part of the LiveAPI changed (I used 7.0.3).
OK! So that’s as far as I have come. I haven’t worked on that more, no time, and also the party for which I was preparing that patch has passed, so I felt less pressure to make something work.
I am still interested because I think song names can be nicely integrated with animation and other visual effects in vvvv, to provide a better connection to music for the audience.
There are other possibilities. There is a new folder “_Framework”, in some newer version of Live (7.0.14 and newer?), which has some new python code, better organized etc. And also, there is a MIDI interface to LiveAPI, called ApiMidi. I wanted to try that too, but was very dissapointed when I could not find a way to send sysex MIDI messages from vvvv. Some people have created Max patches which use ApiMIDI! http://www.youtube.com/watch?v=Kr_pHkF376s At least I think it was ApiMidi, again not sure.
I hope I shed some light on this subject.
For remote control of some of Live’s functions LiveAPI can still be used. Max 4 Live will probably allow the same stuff, but using special Max elements. I still think the primary Max 4 Live feature will be sound creation and manipulation, not control. We’ll have to wait and see. It should be out before summer, or at least during this year.
Maybe that text helps as well… I really don’t know Max, so I still plan to use vvvv and LiveOSC (LiveAPI) for some of the things he talks about there. Eventually. No time now :)
Max for Live also provides objects that allow you to access and modify the inner workings of Live. Modify the tracks, clips, notes, names and values, selection states—and pretty much anything else you can see or hear in Live. This API also allows you to access controller hardware via Live, creating new mappings that can completely repurpose a hardware device. Even if you don’t know what an API is, you can still use devices that other people have built and apply them to your Live setup.
thanks for your lights I really don’t know Max, so I still plan to use vvvv and LiveOSC (LiveAPI) same here :)
after reading some topics on the MFL add-on some cycling people claim that it should be possible to open a complete video patch made in Jitter and use it directly in Live…
wait and see…
the new Live8 Devices are great,especially the Looper
but for a complete control over a vvvvidéo patch there’s still some missing features :looper don’t send position/duration informations
of its audio buffer, you still have to mess around with the main unstable MidiClock output.
and it becomes tricky for backward or pitched audio/video playback.
i really hope that with max for live it’ll be possible both :
to control live from outside (via osc, should be possible trough max), so you can use for example vvvv spreads to control sounds… i wonder if it’s possible by the way, to have a spreaded sound in live, like sanch was doin in chuck… you know what i mean? does anybody know if it’s possible? i hope it will with mfl
and to send out datas to vvvv, for example audio spectrums from different tracks, or whatever track names and status
I also had this idea during the weekend about the spectrums of different channels, but it was a different idea.
Why should we wait for Max 4 Live, when maybe we can do some of those things ourselves, or ask people from the vvvv group to consider doing something. The idea is to have vvvv as a dll, a VST effect dll to be precise. I know there are probably lots of problems related to how vvvv’s main engine works and it probably won’t be possible right away, but consider how cool that would be! You could have an node which represents the audio input of the VST plugin. Then you could connect that to the FFT node (somehow), and you would get the sprectrum of that channel in the exact position where the VST is located! You could probably send that data over OSC to another instance of vvvv on another computer for the rendering if you didn’t want to influence the performance of Live.
I would also like a VST instrument version of the plugin! I could put it in an instrument rack, so it would get the same notes! as the VST plugin that is generating the sound.
I don’t know if it is possible, but being able to create parameter inputs on the plugin at run-time would be great: you open the vvvv interface of the plugin, create an IOBox, add description, and that would create the input. Something like the OscGlue plugin, but without needing to edit the config file and re-instantiate the plugin.
I don’t know enough about VST technology, maybe someone can say if my ideas are totally unrealistic or not.
Of course, we would still not be able to “control” Live, but we could do some stuff with audio and MIDI, and that’s a good thing.
VST/VSTi/runtime : great idea…i’m sure it’s already in the wish-list :)
i use VAC to send the audio from live and analyze it in vvvv(FFT)
but there’s some performances issues…regarding the number of channels the quality and Latency…
1st you need to use a multi client asio : Asio4All
2nd : the VAC config is a bit tricky to find a good compromise
but anyway it’ll take some cpu resources
3rd : try different asio latency (with Asio4All you can set the latency independently for each driver)
low latency for audio input/output (5-10 ms)
medium latency for audio analyse (25-40 ms)
i’ve quite good results with this kind of setup
1/Live set with many VST/VSTi’s and audio clips
2/a set of controllers( wiimote/gamepad and BCR2000)
a bunch of audio reactive VVVV patch recalled by PGM change
3/Midi-ox and VAC for the audio/midi “links”
4/an eye on the CPU Meter :)
another method : the Wormhole vst plugin you can transmit audio over network or between applications(127.0.0.1)both ways
I didn’t know pd had such a thing, it’s interesting! I only wish I could learn to use it. The thing that drives me away, whenever I install it and try to start patching and learning, is its interface. (The same applies to Max). It’s only then that I realize how good vvvv has done it!
Ntonyx VAC seems like a fine solution indeed, maybe I’ll try that one day :)
Just wanted to let anyone keen on Live + VVVV know that some folks over on the Monome forums have got LiveOsc rocking. I tested the newest version with VVVV and seems to all work fine out of the box. Link
yep you can send commands to live…
but when i try to change the clip names in live
vvvv doesn’t reflect these changes until i reset the control surface driver or the main asio driver…
unfortunately the tempo informations can’t be received with /live/tempo…live doesn’t send any signals thru UDP when tweaking the left top tempo digits