Article Preview - Cycling 74 Max 5Graphical Programming Environment For Audio & MIDIPublished in SOS August 2008 Reviews : Software There may not be many new features, but MaxMSP 5 benefits from a fundamental overhaul that brings Cycling 74's open-ended media programming toolkit into the modern world of multi-processing and slick interface design. Most readers of this magazine will know about MaxMSP: if you've not used it, then perhaps you've used applications or plug-ins written with it; or maybe you've seen it in action, or mentioned in interviews. Certainly, the user interface featuring object boxes connected by patchworks of lines is something of a modern visual icon. Although MaxMSP is a little esoteric compared with mainstream music products, it is deeply entrenched in the digital media scene. This is mainly because of its flexibility: as an open-ended audio and media toolkit, artists, programmers and studio engineers have used it to construct all sorts of software systems, from audio plug-ins to art installations, and a fair proportion of laptop gigs worldwide will be at least partially Max-powered. If you're working in hi-tech music or the digital arts and you have a problem to solve, MaxMSP is your Swiss Army Knife. Or if you feel that you're outgrowing the confines of off-the-shelf instruments and recording packages, and want to explore new ways of creating work, MaxMSP is your own personal Meccano set, with an infinite number of pieces. Working with Max is a form of graphical computer programming, but without the pain of conventional programming languages: everything is graphical, direct and immediate. Max is extremely visual and highly interactive, so it's certainly possible for non-programmers to dig in, select some of the built-in components, and get a basic audio processor, like a simple mixer or parametric EQ, assembled and running in a matter of minutes. (Obviously, as with 'real' programming, more complicated applications will take a lot longer.) Max is bundled with a large library of pre-compiled objects, often referred to as 'externals' because they are generally written in C or Java and compiled without Max's assistance. A Max document, called a 'patcher', can be thought of as a complete audio or video program, although it needs the Max application to run: Max operates as an interpreter, calling the native code of external objects according to how they are connected and used in the patcher. Alternatively, Max is capable of building 'stand-alone' applications, which can be run on computers that don't have Max installed — a stand-alone is effectively an encapsulated patcher bundled with a copy of the Max kernel and any external objects it needs. The objects that the user fits together to make a patcher are segments of code that perform specific functions such as numerical calculations, manipulating text, or processing audio streams or video matrices. There are objects for inputting and outputting MIDI, audio and video data, so a patcher can operate as a complete application. Many of the objects supplied in the Max library are designed as user-interface components: buttons, sliders, number boxes and so on. Connect a set of objects together by lines or 'patch cords', and you have a real-time processing graph, which might implement something as simple as a stopwatch or as complicated as a polyphonic modular synthesizer or a VJ performance system. Max History Max first appeared as a commercial MIDI processing package when Opcode Systems (producers of the Vision sequencer for the Mac) packaged and shipped it early in 1991. In fact, it had been under development at IRCAM in Paris for some years before that, which makes it easily old enough to vote. Over the last two decades, Max has acquired the ability to create and process digital audio (Max Signal Processing, hence 'MSP'), and with the addition of a separate library called Jitter it can also work with video and OpenGL graphics. Recent releases of Max added support for embedded Java and JavaScript programming, opening the door to databases and web servers and making the package truly Internet-enabled. A lot has happened in the software world (and the digital music world) in the 17 years since my first copy of Max arrived on a floppy disk and I gleefully installed it on my 16MHz Mac SE/30. The addition of MSP and Jitter have helped Max stay on top of the computer audio and computer video revolutions, and it has survived two changes of processor (from Motorola 68000 to Power PC, and then Intel Core), a major change of Mac operating system ('Classic' OS to OS X), and a port to Windows XP. But this longevity has come at a price: the development effort at Cycling 74 has been concentrated on trying to maintain a 20-year-old code base, designed around the libraries and interfaces available on a 1987 Macintosh, rather than creating new features or porting to new platforms. The help patcher for Max's circular dials, as it appears in Max 4 (left) and Max 5 (right). And this legacy is all too apparent to anyone who has used Max: everything about the user interface seems to be a throwback to the late '80s, with its minuscule pixellated icons, crudely drawn control dials and a colour selection palette that seems to be straight out of 8-bit DOS. In any software project, there comes a point where it makes more sense to replace rather than continually repair, and having delivered Max 4 for Intel Macs, the Cycling 74 team decided it was time for a clean sweep, to prepare Max for its next 20 years. This decision actually mirrors the one taken by Apple in the move from OS 9 to OS X — the old operating system was becoming unmaintainable, and wasn't providing the robustness or flexibility needed for modern applications, so it was swept aside, to be replaced by something with a modern core and better support for high-resolution screens and powerful graphics cards. At the time there was much gnashing of teeth — pundits hated the anti-aliased, 'fuzzy' fonts, photo-style icons and drop shadows — but it's now familiar, and we're so used to it that Mac OS 9 looks like an antique. As we'll see, Max is going through a similar process. Since MSP is now a bundled part of Max — there is no longer a version of Max without audio processing — we'll drop the 'MSP' part of the name for the rest of the article, although some parts of the program still refer to it as 'MaxMSP'. Jitter is still a separate product, but we'll make reference to it during the review. A New Look The most startling change between Max 4 and Max 5 is the total visual makeover: yes, it still has object boxes connected by lines, and the programming metaphor of direct manipulation is unchanged, but the kernel has been rewritten to support multi-processing, and the user interface has been completely redesigned from the ground up. The primitive, blocky graphics have gone, to be replaced by a smooth, curvy, anti-aliased, full-colour, composited finish. Visually, Max has undergone a Doctor Who-style regeneration: it works in the same way and does the same things, but it now has a fresh new appearance and personality. ...
Published in SOS August 2008 | Thursday 20th November 2008 December 2008
Click image for Contents
Other recent issues: SOS News Headlines
WIN Great Prizes in SOS Competitions!
| ||||||||