Here are custom versions of one of the API MaxForLive patch to control Ableton Live parameters with Open Sound Control protocol (OSC). I use them with the Lemur iApp for iPad, but I’ve tried to make them none-criptic and easy to use with other OSC compatible hardwares and softwares. With OSC protocol, you will get much better resolution than MIDI controllers, and network connectivity.
You will find on the downloadable archive below 5 MaxForLive patches:



Installation
Download first the archive below:
Then go to the CNMAT website and download the OSC-route Max-MSP external:
http://cnmat.berkeley.edu/patch/4029

Network customisation
To use these MaxForLive patches, you have to customized each of them to allow them to talk with your OSC device. Don’t panic, it’s pretty easy.
First you have to know the IP address or the local network name of your device. In my case, my iPad local network name is ipad-hpsounds.local (your device name has to be without space character, then add .local).
Open each patch in Max-MSP or MaxForLive and unlock the patching window. As shown below, follow the red arrow and modify the udpsend object with the IP address or local network name of your device. Be careful to keep the 8000, which is the port used.
OSC parameters names

In each MaxForLive patch, you have from 1 to 8 OSC controls that can be used to remote control any Ableton Live parameters (I’ve just discovered that there is still a small bug in Live, you can not remote control the Crossfader with MaxForLive). There is a pop-up menu bellow each knob,named OSC ctl 1 to 8, with which you can select which controller to use (from ctrl1 to ctrl128).
On your OSC device side, you should follow the name rule for the OSC controls you want to use in Ableton Live, as shown below in the Lemur editor screenshot:
/hpsounds/ctrl1
…
/hpsounds/ctrl128

Done !
Let’s have fun making music now !





Hi great work, and thanks for sharing. I wonder if you could give me some guidance on getting sending (from my OSC iPad app) working, though. I seem to be able to get parameter changes to be sent to my computer to controls in TouchOSC and Lemur on the iPad, but can’t seem to sent control changes from the iPad to the computer. I have a suspicion I’m not setting the host port correctly, but you don’t say above which port number you have to set Lemur/TouchOSC to to get it to work.
a|x
Also, I notice there’s an item (sorry, not used to Max/M4L, so don’t really know the terminology) in all the M4L OSC Tools named ‘udpreceive’ with a value of 8000. This is presumably the OSC receive port number, but I don’t think this should be the same as the send port (at least TouchOSC doesn’t allow you to set the same port number for both sending and receiving OSC messages, so I’m assuming it’s a bad idea to do so). I’ve tried setting this to a different port number (9000), but this doesn’t seem to work, either. I can still receive messages on the iPad (in both TouchOSC and Lemur), but still can’t send anything. Oddly enough, I’ve noticed that when editing the M4L patches (not the right name, probably) in Max, I can receive control-changes from the iPad, just not in Live.
++ UPDATE ++
Just got it working. I’d put the OSC-route external in the ‘m4l-xternals’ directory, rather than the ‘max-externals’ one. I copied it to max-externals, set the receiving port to 9000 (end the send port in Lemur to the same) and now it works fine. You might want to make the correct externals directory a bit clearer above, as there is no directory named Max MSP Externals, just separate directories for m4l, max, msp and jitter externals. At least, this is the case on my Mac, with Max 5.1.8.
Thanks again for sharing this. I can see I’m going to have fun using this setup in the future!
Cheers,
a|x
great man
thanks for sharing