Max as an Algorithmic Composition Tool
You know, since making the switch to Max/MSP from Pure Data, I’ve been quite pleased with what Max has to offer. One area that I think is generally overlooked by Max users is the ability to use Max as an algorithmic composition language for acoustic composition.
I’ve stumbled upon these abilities after playing around with a few different languages/environments that function as compositional tools. PWGL and Common Music are both nice, I’ve even taken a course in Common Music, but they’re both Lisp-based (which for me makes them awkward – C is my first language, and I still think in terms of nested loops and function calls).
PD doesn’t really have any built-in tools for anything, which is good and bad – it forces you to really think through a problem, thus ending up with a totally unique and personal solution, but it also takes forever to accomplish complex tasks.
I tried using straight C/C++ to build my own tools, but that was ridiculous. I am not interested in spending more time than I have to for coding.
Max has the [zl] object, which provides a bunch of list-processing functions, many similar to some of the methods found in SuperCollider. There are sorting and comparing functions, along with iteration and scrambling capabilities. I mean, try using PD to make a random tone row generator which assembles a random list containing no repeated elements. In Max, it’s literally like two objects. Simple.
Now, not to sound like a Cycling ’74 ad, because proprietary software still kinda sucks and makes a lot of things more difficult for us, and because the help browsing in Max 5 is broken in Snow Leopard, but I think this is a fruitful area to explore.
You might want to check this out, too: Karlheinz Essl’s: RTC-lib
Musician/hacker living in San Diego, CA. Studying computer music at UCSD. 
No comments yet.