Jump to content

Max (software): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
list, gratuitous and largely redundant, if every article relating to a piece of commercial music software were to contain a list of its professional users things would get silly.
→‎External links: change url and update description
Line 72: Line 72:
* [http://forum.designthemedia.com/topic/27-amazing-librairies-externals/ List of powerful librairies] References & links of a bunch of librairies & externals
* [http://forum.designthemedia.com/topic/27-amazing-librairies-externals/ List of powerful librairies] References & links of a bunch of librairies & externals
* [http://www.klankwereld.org/ Klankwereld] Examples, tutorials, courses and resources to learn Max/MSP/Jitter.
* [http://www.klankwereld.org/ Klankwereld] Examples, tutorials, courses and resources to learn Max/MSP/Jitter.
* [http://www.percussa.com/ Percussa AudioCubes] is an electronic musical instrument that works with Max/MSP using an OSC server
* [http://land.percussa.com/audiocubes-developers/ Percussa AudioCubes] is an electronic musical instrument that allows you to create your own Max/Msp patches using an OSC server and flext external


{{DEFAULTSORT:Max (Software)}}
{{DEFAULTSORT:Max (Software)}}

Revision as of 08:59, 16 April 2012

Max
Developer(s)Cycling '74
Stable release
6.0.2 / December 21, 2011; 12 years ago (2011-12-21)
Operating systemWindows XP, Mac OS X
Typemusic and multimedia development
LicenseProprietary
Websitehttp://cycling74.com/products/max/

Max is a visual programming language for music and multimedia developed and maintained by San Francisco-based software company Cycling '74. During its 20-year history, it has been widely used by composers, performers, software designers, researchers, and artists for creating innovative recordings, performances, and installations.

The Max program itself is highly modular, with most routines existing in the form of shared libraries. An API allows third-party development of new routines (called "external objects"). As a result, Max has a large user base of programmers not affiliated with Cycling '74 who enhance the software with commercial and non-commercial extensions to the program. Because of its extensible design and graphical interface (which in a novel way represents the program structure and the GUI as presented to the user simultaneously), Max has been described as the lingua franca for developing interactive music performance software.[1]

History

Max was originally written by Miller Puckette as the Patcher editor for the Macintosh at IRCAM in the mid-1980s to give composers access to an authoring system for interactive computer music. It was first used in a piano and computer piece called Pluton (written by Philippe Manoury in 1988), synchronizing the computer to the piano and controlling a Sogitec 4X, which performed the audio processing.[2]

In 1989, IRCAM developed and maintained a concurrent version of Max ported to the IRCAM Signal Processing Workstation for the NeXT (and later SGI and Linux), called Max/FTS (FTS standing for "Faster Than Sound", and being analogous to a forerunner to MSP enhanced by a hardware DSP board on the computer).[3][4]

In 1989, it was licensed by IRCAM to Opcode Systems, which sold a commercial version of the program in 1990 called Max (developed and extended by David Zicarelli). As the software was never a perfect fit for Opcode Systems, the company ceased active development on it in the mid-90s. The current commercial version of Max has since been distributed by Zicarelli's company, Cycling '74 (founded in 1997[5]), since 1999.[6]

Puckette released an entirely re-designed free software program in 1996 called Pd (short for "Pure Data"), which, despite a number of fundamental differences from the IRCAM original, is superficially very similar and remains an open-source alternative to Max/MSP.

Max has a number of extensions and incarnations; most notably, a set of audio extensions to the software appeared in 1997, derived in part from Puckette's subsequent work in Pure Data. Called MSP (short for either Max Signal Processing or the initials of Miller S. Puckette), this "add-on" package for Max allowed for the manipulation of digital audio signals in real-time, allowing users to create their own synthesizers and effects processors (Max had previously been designed to interface with hardware synthesizers, samplers, etc. as a "control" language using MIDI or some other protocol).

In 1998, a direct descendant of Max/FTS was developed in Java (jMax) and released as open-source.

1999 saw the release of nato.0+55, a suite of externals developed by Netochka Nezvanova that brought to Max extensive control of realtime video. Although nato became increasingly popular among multimedia artists, its development was dropped in 2001. SoftVNS, a third-party package for visual processing in Max was developed by Canadian media artist David Rokeby and released in 2002.

In the meantime, Cycling '74 developed their own set of extensions for video. A major package for Max/MSP called Jitter was released in 2003, providing real-time video, 3-D, and matrix processing capability.

In addition, a number of Max-like programs exist which share the same concept of visual programming in realtime such as Quartz Composer (by Apple) and vvvv which are both focusing on realtime video synthesis and processing. Pure Data also remains in widespread use.

A major update to Max/MSP/Jitter, Max 5, was released in 2008. It included a revamped user interface and new objects.

In November 2011, Cycling '74 released Max 6, a major overhaul with further improvements to the user interface and a new audio engine compatible with 64-bit operative systems. Gen, an add-on for patching and code compiling [7] was also released.

Language

Max is named after the late Max Mathews, and can be considered a descendant of MUSIC, though its graphical nature disguises that fact. As with most MUSIC-N languages, Max/MSP/Jitter distinguishes between two levels of time: that of an "event" scheduler, and that of the DSP (this corresponds to the distinction between k-rate and a-rate processes in Csound, and control rate vs. audio rate in SuperCollider).

The basic language of Max and its sibling programs is that of a data-flow system: Max programs (called "patches") are made by arranging and connecting building-blocks of "objects" within a "patcher", or visual canvas. These objects act as self-contained programs (in reality, they are dynamically-linked libraries), each of which may receive input (through one or more visual "inlets"), generate output (through visual "outlets"), or both. Objects pass messages from their outlets to the inlets of connected objects.

Max supports six basic atomic data types that can be transmitted as messages from object to object: int, float, list, symbol, bang, and signal (for MSP audio connections). A number of more complex data structures exist within the program for handling numeric arrays (table data), hash tables (coll data), and XML information (pattr data). An MSP data structure (buffer~) can hold digital audio information within program memory. In addition, the Jitter package adds a scalable, multi-dimensional data structure for handling large sets of numbers for storing video and other datasets (matrix data).

Max is typically learned through acquiring a vocabulary of objects and how they function within a patcher; for example, the metro object functions a simple metronome, and the random object generates random integers. Most objects are non-graphical, consisting only of an object's name and a number of arguments/attributes (in essence class properties) typed into an object box. Other objects are graphical, including sliders, number boxes, dials, table editors, pull-down menus, buttons, and other objects for running the program interactively. Max/MSP/Jitter comes with about 600 of these objects as the standard package; extensions to the program can be written by third-party developers as Max patchers (e.g. by encapsulating some of the functionality of a patcher into a sub-program that is itself a Max patch), or as objects written in C, C++, Java, or JavaScript.

The order of execution for messages traversing through the graph of objects is defined by the visual organization of the objects in the patcher itself. As a result of this organizing principle, Max is unusual in that the program logic and the interface as presented to the user are typically related, though newer versions of Max provide a number of technologies for more standard GUI design.

A large number of people use Max, even if they are not aware of it. Max documents (called patchers) can be bundled into stand-alone applications and distributed free or sold commercially. In addition, Max can be used to author audio plugin software for major audio production systems.

With the increased integration of laptop computers into live music performance (in electronic music and elsewhere), Max/MSP and Max/Jitter have received quite a bit of attention as a development environment available to those serious about laptop music/video performance.

See also

References

  1. ^ Place, T. and Lossius, T.: Jamoma: A modular standard for structuring patches in Max. In Proc. of the International Computer Music Conference 2006, pages 143–146, New Orleans, US, 2006.
  2. ^ Miller S. Puckette. "Pd Repertory Project - History of Pluton". CRCA. Archived from the original on 2004-07-07. Retrieved March 3, 2012.
  3. ^ "A brief history of MAX". IRCAM. Archived from the original on 2009-06-03.
  4. ^ "Max/MSP History - Where did Max/MSP come from?". Cycling74. Archived from the original on 2009-06-09. Retrieved March 3, 2012.
  5. ^ About Us. Cycling74.com. Retrieved March 3, 2012.
  6. ^ "FAQ Max4". Cycling74.com. Retrieved March 3, 2012.
  7. ^ "GEN - Extend the power of Max". Cycling74.com.

External links

  • lloopp a ready to use modular and experimental software built in Max/MSP/jitter
  • Lobjects, a set of external objects developed by Peter Elsea at
  • RTC-lib Software library for algorithmic composition in Max/MSP/Jitter
  • List of powerful librairies References & links of a bunch of librairies & externals
  • Klankwereld Examples, tutorials, courses and resources to learn Max/MSP/Jitter.
  • Percussa AudioCubes is an electronic musical instrument that allows you to create your own Max/Msp patches using an OSC server and flext external