MaxForLive OSC tools

March 29th, 2012


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:

  • Max OSC DeviceControl Animator with 8 parameters controlled through a matrix connection;
  • Max OSC DeviceControl8 to control 8 parameters;
  • Max OSC DeviceControl4 to control 4 parameters;
  • Max OSC DeviceControl2 to control 2 parameters;
  • Max OSC DeviceControl1 to control 1 parameter.


  • Installation

    Download first the archive below:

    zip" OSC tools.zip [52.97 kB] - (711)


    Then go to the CNMAT website and download the OSC-route Max-MSP external:

    http://cnmat.berkeley.edu/patch/4029



  • Drop the OSC-route into Max-MSP external folder.
  • Open Ableton Live and drop the OSC Tools folder into the Max Audio Effects folder (you should find it in Ableton Live browser on the left).


  • 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 !

    You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

    3 Responses to “MaxForLive OSC tools”

    1. a|x says:

      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

    2. a|x says:

      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

    3. luca_m says:

      great man
      thanks for sharing :)

    Leave a Reply