M4L vs. Max/MSP

  • Trying to decide between getting M4L or buying full MaxMSP.

    Can someone tell me if there are any major advantages to buying Max vs M4L..especially with regard to patching and having acces to tutorials etc...I'm a noob wanting to learn.

    I'm leaning toward full Max, but ...

    Any opinions?

  • depending if you are going to use ableton or all the other monome apps.

  • Also, consider if you already own Ableton, their latest (but yet to be released) Ableton 9 Suite will include Max 4 Live, so if you have a standard 8 licence (or lite) and want to upgrade, check out your upgrade options. At the moment they have a good discount on upgrading to suite (8) with a free ug to Suite 9 when it is released early next year.

  • I type too slowly. Much of this, people have already said.


    If you're using Ableton, Suite 9 will come with Max For Live. Don't buy m4l before that launches; just upgrade to Suite 8 now and take advantage of the free upgrade to 9.

    If you're debating between full MaxMSP and Ableton Suite, that's an easier decision. If you consider yourself primarily an Ableton user, get the Suite -- there's a lot of benefit beyond just m4l. But if Live is just the DAW you happen to be using right now, get the full MaxMSP and stay portable.


    I have both. No real difference in terms of tutorials. And you can save .maxpat files from within m4l that will open in the free Live Runtime. Which begs the question: why would you want to?

    Simply put, Max For Live has limited access to your MIDI stream. It gets the sloppy second leftovers after Live has filtered out everything it doesn't want. Which may be stuff you were hoping to use, but it's gone now.

    If you have a device like the Handsonic controllers from Roland, or an M-Audio Trigger Finger, those support a feature called poly aftertouch. Without getting into why that's fantastic, let's just accept that it is, and that you want to make use of that data in Live. Well, you can't. Not directly, anyway. Your m4l patch can't read it from your hardware.

    The officially recommended solution is to build something in either the full version of Max, or running in the free Max Runtime, outside of the Live environment. Tell Live to ignore your hardware, and let this patch communicate with it instead, transform the data into something Live accepts, and either pipe that in over a virtual MIDI Cable, or transmit the data through OSC into a Max For Live patch.

    At least, that's the case currently. When the new version launches, we're hoping they'll ease some of that pain.

    The other factor is overhead. Max For Live requires Live be running before you can initialize Max and start patching. And depending what you're patching, that might be something you want. But it's usually just a lot of RAM wasted, and a slower load time with no benefit. I like to build stuff in max/msp, get the core functionality down in that environment, and then copy/paste/adjust into max for live.

    What else...

    Piping MIDI from max/msp into Live works great, with or without max for live.

    Syncing your time/tempo sensitive apps (step sequencers, etc) with Live's transport is easier in Max For Live than in max/msp.

    Piping audio into max/msp into Live, you can do with Jack or SoundFlower or some such, but there's a learning curve and I've never tried to do it. And while you can send/recieve audio streams easily between max patches (in max/msp), they won't be received in max for live.

  • You're not misunderstanding.

    When m4l uses [send] and [receive] to communicate between devices, those messages bounce out of the Live environment into a shared Max space, and back in again, introducing all kinds of latency. (within the same device, you can bypass that by prepending your send names with "---", which tells m4l that you're only sending and receiving within this particular device instance. but it's only by effectively disabling inter-device communications that this becomes reliably useful locally)

    Even with that lag, it's still usable for MIDI note data, but something as complex as "set brightness levels for every LED of an Arc ring", you're screwed. Set up a udp connection between devices instead.

    For something as complex as a stream of audio data... we don't really have a solution. So the [send~] and [receive~] objects are pretty much disabled.

  • Thanks for the input.

    I think I probably will first get the upgrade from Live 8 to 9 Suite and try the M4L. I was going to do that anyway.

    I suspect, though, that I might end up getting the full version, as I would like to be able to open up others' .maxpat patches and see what they are doing. I think that might help me out quite a bit.

  • RAH are you a student?

  • No need to rename .maxpat files.

    Create a new Max For Live device. Open that for editing. Pick File / Open from the drop down menus. Pick a .maxpat file. Boom, it's open.

    To use some or all of that patch in max for live, copy and paste it into the device you created.

    Sidechaining and vocoding... maybe. We do have live.api stuff that I'm not nearly familiar enough with.

  • Well..if its really that easy to open up regular .maxpat files from within M4L and edit them, cut and paste sections etc.. then yes, M4L is for me I think. I guess I didn't realize you could do that so easily.

    @nerd..no not a student. Why do you ask?