At least as interesting as a one-link-to-wikipedia post.
April 21, 2008 11:43 PM   Subscribe

Max/MSP is a graphical programming environment primarily used for music, video and multimedia. Max/MSP has sometimes been described as a digital erector set. David Tinapple describes Max in this way: "it's like you're drawing a diagram of what you want the program to do, and then when you're done drawing the diagram you've also sort of accidentally programmed it".

Named after Max Mathews, Max was developed for MIDI processing at the French institute Ircam by Miller Puckette during the late 80s. In the following years, Max was passed around and underwent several permutations. A history of Max is here. In 1997 Max found a stable, loving home up at the San Francisco based Cycling '74 where MSP, an architecture for realtime audio processing, was added. In 2003, Cycling '74 released an addition to Max/MSP called Jitter, for realtime manipulation of video, 3D graphics, and matrix data.

Max has many relatives including Miller Puckette's Free Software Max cousin Pure Data, Native Instrument's Reaktor, Bill Orcut's Lily, Apple's Quartz Composer, and Yahoo Pipes.

Max is useful for mapping, converting or processing any kind of input data to any kind of output data in an arbitrary way the user specifies. Max/MSP comes with 450 "objects" that can be linked or "patched" together graphically to create a kind of flowchart that represents how data will be processed (pictures of Max "patches" here). In addition to the standard Max objects, there are thousands of user-created objects, called "externals" that allow for anything from getting data from an Iphone or Wii Remote to support for numerous programming languages to computer vision to tools for ambisonics. Maxobjects.com maintains a database of thousands of Max objects. Max's Pluggo allows Max patches to be saved as VST plugins for use in audio editors such as Pro tools, Logic or Ableton Live.

A variety of musicians, artist, performers and researchers use Max. Notable musical artists who use Max include Autechre, Menomena, Radiohead, Kevin Blechdom (previously), Fennesz (previously), Keith Fullerton Whitman/Hrvatski, Monolake and Jamie Lidell.

In the late 90s and early 00s Max/MSP and Cycling '74 were center of a controversy fabricated by the enigmatic Net Artist Netochka Nezvanova (previously) .

Max has been used to control all manner of things, from a lightbulb-covered building facade to a maze that reconfigures itself around you to a game of "flaming simon".

Max can be controlled by anything from iPhones, timecoded encoded records, a variety of sensors to a Radio Baton.

Several commercial software applications are known to be created in Max including the VJ application Vidvox. It is rumored that Ableton Live was prototyped in Max.

Tomorrow marks the release of Max 5. The transition from Max 4 to 5 has been compared to Apple's transition from OS 9 to OS X. Still waiting in the wings is the announcement of the exact nature of a collaboration between Cycling '74 and Ableton (here and here). A video (at 52:30) of Robert Henke (of Ableton and Monolake) talking about Max/MSP with a bit about the collaboration between the two companies.


An interesting interview with Joshua Kit Clayton, electronic musician and developer of Jitter, about Max/MSP, digital art and culture.
posted by Crumpled Farm (27 comments total) 59 users marked this as a favorite

 
Thanks for the heads-up on the new release, it may be time for me to get into trying to learn it again. I've had more success with SuperCollider, which is basically the same idea except more like a traditional programming language in that you write programs in a text editor and then run them with the SC interpreter. Aphex Twin uses, or at least used, it extensively and was even kicked off its mailing list for trolling. Then there's also PureData, which is closely related to Max/MSP and has the advantage of being free and multiplatform, but I've never messed around with it.
posted by DecemberBoy at 12:59 AM on April 22, 2008


Oops, sorry, I missed that you already linked to PureData.
posted by DecemberBoy at 12:59 AM on April 22, 2008


*sigh*
Max/MSP is also expensive. That wouldn't be such a problem if I hadn't given up on pirated software.

Anybody have a spare license they're not using?
posted by lekvar at 1:03 AM on April 22, 2008


(yes, I'm aware of PureData and other similar tools, but I've never heard anything good about them. "Buggy," "unusable" and "unstable" are words I have heard.
posted by lekvar at 1:05 AM on April 22, 2008


Umm.. Not to be dense, but where is a download link so I can just try out something?

There's a lot of information to sort through..
posted by Lord_Pall at 1:06 AM on April 22, 2008


Apologies, my Pure Data link is wrong. Pure Data.

Lord_Pall: http://www.cycling74.com/downloads/maxmsp will take you where you want to go, but you make want to wait until tomorrow.
posted by Crumpled Farm at 1:18 AM on April 22, 2008


....and by tomorrow, I mean later today.
posted by Crumpled Farm at 1:19 AM on April 22, 2008


Personally, I'm psyched for tomorrow. That is all. I luuuuurve me some Max/MSP. Presentation mode will be so useful.
posted by nonreflectiveobject at 2:52 AM on April 22, 2008


Oh dear god. I looked at those diagrams, and dudes, it's much easier just to write code. I mean, I don't worry about connecting "wires" between my function applications, or arranging my functions in 2-space.
posted by orthogonality at 3:05 AM on April 22, 2008 [1 favorite]


Lily just blew my mind.
posted by darkripper at 3:40 AM on April 22, 2008


it's much easier just to write code

This is true of any graphical programming language, once you get into real world layers of process and complexity.

In image processing, it's one thing to, for instance, layer together some pre-rendered CG while adding effects, and quite another to adaptive noise filter and edge process a variety of different image sources together. If the screen can only hold a few percent of the steps being performed, then so much for visualization aides. So you encapsulate a block of functionality in a box, and maybe you can fit your task on screen by linking these boxes, but at that point you might as well write subroutines.

Miller Puckette is a brilliant and quite wonderful person, however.
posted by StickyCarpet at 4:01 AM on April 22, 2008


Patch programming is a bit of a mental shift if you're used to procedural approaches. Everything happens simultaneously, you can't easily do the loops you're used to, arrays...!?! That said, they are very intuitive for some kinds of thinkers (I colleague of mine who can't do 'traditional' programming due to dyslexia excels at patching, producing some incredible interactive works)

The missing entry in Crumpled_farm's otherwise comprehensive list is vvvv, develped by the creazetives at meso. They only charge for the software for commercial deployment, so you're free to download like there's no tomorrow. It's steeped in DirectX, why is why it's (1) incredibly fast, and (2) windows only. There's some really interesting features in vvvv distinguishing it from max, aside from less signal processing: a greater emphasis on list and array management; non-realtime rendering; native video, 3d and image processing; but most interestingly, no distinction between editing and runtime modes. It can also 'boygroup' natively, allowing networks of vvvv-patch running machines to sync and share assets in realtime. Amazing, under-the-radar stuff; vvvv sent chills down my spine which very few pieces of software have done for years.not that I'm comfortable saying that in public.
posted by davemee at 4:12 AM on April 22, 2008


Max/MSP is also expensive
it's much easier just to write code

Take a look at CSound, a free, open-source audio programming language created in 1985 and still under development.
posted by swift at 4:14 AM on April 22, 2008


Heh -- a dude came to do a presentation at my school a couple months ago on using Max with a Wii remote.
posted by danb at 5:13 AM on April 22, 2008


Hi lekvar,

Whether or not there's a licence "fee", just about all software has a cost. Open-source or "free" software has a 'cost' too; this cost can be paid by contributing time, ideas or money to aid development, or it can be paid by just suffering along with what bugs you about it.

Also, keep in mind the negative influence of comparisons. Sure, alot of the free things are inferior in many ways to Max/MSP... but they are still capable and interesting applications in their own right. Try to imagine what you could do with them if you focussed solely on learning the app and not on "well, XXX does THIS, like THIS!".

At the end of the day, if you still want or need Max/MSP enough... you buy it.

One of my favourite audio toys (which has a free version): Usine
posted by Artful Codger at 6:07 AM on April 22, 2008


"Buggy," "unusable" and "unstable" are words I have heard.

My own experience of Pure Data is that it's pretty solid, with decent latencies using the ASIO driver. The only trouble I've had was using an extension that lets you load VST plugins.

I like the PD Extended distribution. It comes with a lot of the extras you'd otherwise have to download separately, like midi handling objects familiar to Max users - Borax and so on.
posted by fleetmouse at 6:33 AM on April 22, 2008 [1 favorite]


I have been using max/msp/jitter for several years now, and absolutely swear by it. I can program traditionally for the extra speed or flexibility, however, it adds time to my projects, and typically whatever performance gains are to be had are minimal for what I'm trying to accomplish.

Also, Max does allow for embedded languages (Java and javascript right out of the box, lua, ruby, python and many others through 3rd parties). I've found that it's good enough for production work and quick enough to sketch out ideas as loosely or tightly as need be. Plus other libraries, like wesley smith's xray objects and jean-marc pellitier's cv library really make developing .. fun. Maxobjects.com is an invaluable resource for finding these sorts of things.

The free alternatives (jMaX, PD, vvvv) have their own pluses and minuses, and my initial experience with PD was waayyy less than satisfying. However, I have revisited it in the last few months and most all my stability issues have been rectified with the core application and major 3rd party libraries. As fleetmouse mentioned, the PD extended distro is really awesome for getting up and running with little or no fuss.

Also on the other patch based language tip, there's eyesweb, for computer vision (free, Windows only) and Isadora (commercial, win/mac, geared for theater/dance, awesome product and people developing).

Ultimately though, I find that Max enables me to get things done quickly and efficiently. it may not be the right tool for every job, but it is varied and robust enough for me to use daily.
posted by tip120 at 8:41 AM on April 22, 2008 [1 favorite]


Oh, one thing I forgot to note that does drive me absolutely batty about PD, it does not differentiate between floats and ints. And Miller refuses to implement segmented patch cords. Ok, that was two things.
I'm gonna stop sounding like a shill now.
posted by tip120 at 10:58 AM on April 22, 2008


Wow! Thank you for this! I've just started playing with Ableton Live and wanted to delve in further than it will let me... This is just about all the information I was looking for with regards to Max. Great post!
posted by jstef at 12:21 PM on April 22, 2008


There's also the less scary, more specialized SynthMaker. A limited version of it comes built in to FLStudio 8.

Every once in a while I have thoughts about writing my own weird math-based digital distortion. Someday I'm really going to code it up and see what happens. (I wrote a sucky VST effect in C once that just scatters stuff around a little inside a delay buffer, but programming at home I missed Visual Studio and VisualAssistX, so it felt awkward. I'd rather use something like SynthMaker or learn Max/MSP, so it doesn't feel like work.)
posted by Foosnark at 12:57 PM on April 22, 2008


Man, C74 is making us wait for Max 5, huh? It's already after lunch there...
posted by nonreflectiveobject at 1:39 PM on April 22, 2008


Foosnark: Every once in a while I have thoughts about writing my own weird math-based digital distortion. Someday I'm really going to code it up and see what happens.

Just a FYI - the Reaper DAW app has an exclusive high-level effects language (with a regrettable choice of name) which can be used to write custom audio processing. I haven't used it much myself, but I'm told it makes it simple to concentrate on the audio algorithm without getting bogged down in all the GUI and other app housekeeping. Reaper comes with a huge library of effects and instruments made in this language, so there's many examples to look at.
posted by Artful Codger at 2:33 PM on April 22, 2008


orthagonality> dudes, it's much easier just to write code.

That me be true in certain instances when you know exactly what you want to do. Max is useful for improvising and experimenting with many different configurations very quickly. Flexibilty is Max where it holds it's advantage over textual programming. There have recently been initiatives to develop languages that are flexible and able to be coded improvisationally. ChucK is one such language and often used in the "live coding" scene. Brad Garton's chuck~ object allows ChucK's capabilities to be use within Max.

Also, the musical artists Chlorgeschlecht have little knowledge of Max's working and connect objects in different ways until they get a sound they like. That would be hard to do with a textual language.
posted by Crumpled Farm at 5:27 PM on April 22, 2008


I went to an emerging media show at the Banff Centre a few weeks ago and one of the guys there was using Max/MSP ... I had never seen it before and he gave me a quick tour of what was more or less an app that let you switch between three alternate video feeds being pulled from a database, he said it took a week to make using Max/MSP and it looked pretty cool, ugly but cool.
posted by Null Pointer and the Exceptions at 7:46 PM on April 22, 2008


Null Pointer and the Exceptions> it looked pretty cool, ugly but cool.

Ugly no more. Max 5 was released a few hours ago.
posted by Crumpled Farm at 8:34 PM on April 22, 2008


OK, I've since downloaded the Max 5 trial - I figured since it was a whole new deal now was probably the best time to really devote time to learning it. I don't know if it's way easier than it once was or I just didn't have the aptitude that I do now, but learning it has been a joy so far. It comes with an awesome set of interactive tutorials and the online help is fantastic. I've spent maybe 4 or 5 hours total on it, and I've already created a simple but useful step sequencer. I'll almost definitely plunk down the $500 when the 30 day trial is up. Thanks a lot for this post - it really sparked my interest in getting back into electronic music.
posted by DecemberBoy at 5:23 PM on April 24, 2008


DecemberBoy, I believe it certainly has gotten easier to use, if not to learn. It is taking me a while to get used to some of the changes. The old Max had been so engrained in my mind that it takes me longer to do things the new, fast way. Max 5 is still in it's infancy and I the next 30 days are something of an extended beta, as no one has paid for it yet.

Have you tried the browser yet? I am writing this from within Max! (Look for X.Safairien).
posted by Crumpled Farm at 7:33 PM on April 24, 2008


« Older Poor localization causes a simple, if slightly inf...  |  Tul Karem’s refugee camp, the ... Newer »


This thread has been archived and is closed to new comments