Max (software)

Last updated
Max
Developer(s) Cycling '74
Stable release
8.6.2 [1]   OOjs UI icon edit-ltr-progressive.svg / 19 March 2024
Written in C, C++ (on JUCE platform)
Operating system Microsoft Windows, macOS
Type Music and multimedia development
License Proprietary
Website cycling74.com/products/max/

Max, also known as Max/MSP/Jitter, is a visual programming language for music and multimedia developed and maintained by San Francisco-based software company Cycling '74. Over its more than thirty-year history, it has been used by composers, performers, software designers, researchers, and artists to create recordings, performances, and installations. [2]

Contents

The Max program is modular, with most routines existing as shared libraries. An application programming interface (API) allows third-party development of new routines (named external objects). Thus, Max has a large user base of programmers unaffiliated with Cycling '74 who enhance the software with commercial and non-commercial extensions to the program. Because of this extensible design, which simultaneously represents both the program's structure and its graphical user interface (GUI), Max has been described as the lingua franca for developing interactive music performance software. [3]

History

1980s: Miller Puckette began work on Max in 1985, at the Institut de Recherche et Coordination Acoustique/Musique (IRCAM) in Paris. [4] [5] Originally called The Patcher, this first version provided composers with a graphical interface for creating interactive computer music scores on the Macintosh. At this point in its development Max couldn't perform its own real-time sound synthesis in software, but instead sent control messages to external hardware synthesizers and samplers using MIDI or a similar protocol. [6] Its earliest widely recognized use in composition was for Pluton, a 1988 piano and computer piece by Philippe Manoury; the software synchronized a computer to a piano and controlled a Sogitec 4X for audio processing. [7]

In 1989, IRCAM developed Max/FTS ("Faster Than Sound"), a version of Max ported to the IRCAM Signal Processing Workstation (ISPW) for the NeXT. Also known as "Audio Max", it would prove a forerunner to Max's MSP audio extensions, adding the ability to do real-time synthesis using an internal hardware digital signal processor (DSP) board. [8] [9] The same year, IRCAM licensed the software to Opcode Systems. [10]

1990s: Opcode launched a commercial version named Max in 1990, developed and extended by David Zicarelli. However, by 1997, Opcode was considering cancelling it. Instead, Zicarelli acquired the publishing rights and founded a new company, Cycling '74, to continue commercial development. [11] [12] [13] The timing was fortunate, as Opcode was acquired by Gibson Guitar in 1998 and ended operations in 1999. [14]

IRCAM's in-house Max development was also winding down; the last version produced there was jMax, a direct descendant of Max/FTS developed in 1998 for Silicon Graphics (SGI) and later for Linux systems. It used Java for its graphical interface and C for its real-time backend, and was eventually released as open-source software.

Various synthesizers and instruments connected to Max. Setups @ One Step Beyond at Museum of Natural History 2010-09-09.jpg
Various synthesizers and instruments connected to Max.

Meanwhile, Puckette had independently released a fully redesigned open-source composition tool named Pure Data (Pd) in 1996, which, despite some underlying engineering differences from the IRCAM versions, continued in the same tradition. Cycling '74's first Max release, in 1997, was derived partly from Puckette's work on Pure Data. Called Max/MSP ("Max Signal Processing", or the initials Miller Smith Puckette), it remains the most notable of Max's many extensions and incarnations: it made Max capable of manipulating real-time digital audio signals without dedicated DSP hardware. This meant that composers could now create their own complex synthesizers and effects processors using only a general-purpose computer like the Macintosh PowerBook G3.

In 1999, the Netochka Nezvanova collective released NATO.0+55+3d , a suite of externals that added extensive real-time video control to Max.

2000s: Though NATO.0+55+3d became increasingly popular among multimedia artists, its development stopped abruptly in 2001. SoftVNS , another set of extensions for visual processing in Max, was released in 2002 by Canadian media artist David Rokeby. Cycling '74 released their own set of video extensions, Jitter, alongside Max 4 in 2003, adding real-time video, OpenGL graphics, and matrix processing capabilities. Max 4 was also the first version to run on Windows. Max 5, released in 2008, redesigned the patching GUI for the first time in Max's commercial history.

2010s: In 2011, Max 6 added a new audio engine compatible with 64-bit operating systems, integration with Ableton Live sequencer software, and an extension called Gen, which can compile optimized Max patches for higher performance. [15] Max 7 was released in 2014 and focused on 3D rendering improvements. [16]

On June 6, 2017, Ableton announced its purchase of Cycling '74, with Max continuing to be published by Cycling '74 and David Zicarelli remaining with the company. [17]

On September 25, 2018 Max 8, the most recent major version of the software, was released. [18] Some of the new features include MC, a new way to work with multiple channels, JavaScript support with Node for Max, and Vizzie 2. [19]

Language

Screenshot of an older Max/Msp interface. LandMap Max patcher.jpg
Screenshot of an older Max/Msp interface.

Max is named after composer Max Mathews, and can be considered a descendant of his MUSIC language, though its graphical nature disguises that fact. [20] Like most MUSIC-N languages, Max 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 (named 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). Several more complex data structures exist within the program for handling numeric arrays (table data), hash tables (coll data), XML information (pattr data), and JSON-based dictionaries (dict 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 as a simple metronome, and the random object generates random integers. Most objects are non-graphical, consisting only of an object's name and several 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 several technologies for more standard GUI design.

Max documents (named patchers) can be bundled into stand-alone applications and distributed free or sold commercially. In addition, Max can be used to author audio and MIDI plugin software for Ableton Live through the Max for Live extension.

With the increased integration of laptop computers into live music performance (in electronic music and elsewhere), Max/MSP and Max/Jitter have received attention as a development environment available to those serious about laptop music/video performance. Programs sharing Max's visual programming concepts are now commonly used for real-time audio and video synthesis and processing.

See also

Related Research Articles

<span class="mw-page-title-main">Music technology (electronic and digital)</span>

Digital music technology encompasses digital instruments, computers, electronic effects units, software, or digital audio equipment by a performer, composer, sound engineer, DJ, or record producer to produce, perform or record music. The term refers to electronic devices, instruments, computer hardware, and software used in performance, playback, recording, composition, mixing, analysis, and editing of music.

Csound is a domain-specific computer programming language for audio programming. It is called Csound because it is written in C, as opposed to some of its predecessors.

<span class="mw-page-title-main">Nato.0+55+3d</span> Application software

NATO.0+55+3d was a software application for realtime video and graphics, released by 0f0003 Maschinenkunst and the Netochka Nezvanova collective in 1999 for the classic Mac OS operating system.

<span class="mw-page-title-main">IRCAM</span> French research institute

IRCAM is a French institute dedicated to the research of music and sound, especially in the fields of avant garde and electro-acoustical art music. It is situated next to, and is organisationally linked with, the Centre Pompidou in Paris. The extension of the building was designed by Renzo Piano and Richard Rogers. Much of the institute is located underground, beneath the fountain to the east of the buildings.

MUSIC-N refers to a family of computer music programs and programming languages descended from or influenced by MUSIC, a program written by Max Mathews in 1957 at Bell Labs. MUSIC was the first computer program for generating digital audio waveforms through direct synthesis. It was one of the first programs for making music on a digital computer, and was certainly the first program to gain wide acceptance in the music research community as viable for that task. The world's first computer-controlled music was generated in Australia by programmer Geoff Hill on the CSIRAC computer which was designed and built by Trevor Pearcey and Maston Beard. However, CSIRAC produced sound by sending raw pulses to the speaker, it did not produce standard digital audio with PCM samples, like the MUSIC-series of programs.

<span class="mw-page-title-main">Max Mathews</span> American pioneer in computer music

Max Vernon Mathews was an American pioneer of computer music.

<span class="mw-page-title-main">Pure Data</span> Visual programming language

Pure Data (Pd) is a visual programming language developed by Miller Puckette in the 1990s for creating interactive computer music and multimedia works. While Puckette is the main author of the program, Pd is an open-source project with a large developer base working on new extensions. It is released under BSD-3-Clause. It runs on Linux, MacOS, iOS, Android and Windows. Ports exist for FreeBSD and IRIX.

<span class="mw-page-title-main">ISPW</span>

The IRCAM Signal Processing Workstation (ISPW) was a hardware digital audio workstation developed by IRCAM and the Ariel Corporation in the late 1980s. In French, the ISPW is referred to as the SIM. Eric Lindemann was the principal designer of the ISPW hardware as well as manager of the overall hardware/software effort.

<span class="mw-page-title-main">Visual programming language</span> Programming language written graphically by a user

In computing, a visual programming language, also known as diagrammatic programming, graphical programming or block coding, is a programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations. VPLs are generally the basis of Low-code development platforms.

ReWire is a software protocol, jointly developed by Propellerhead and Steinberg, allowing remote control and data transfer among digital audio editing and related software. Originally appearing in the ReBirth software synthesizer in 1998, the protocol has since evolved into an industry standard.

Ableton AG is a German music software company that produces and distributes the production and performance program Ableton Live and a collection of related instruments and sample libraries, as well as their own hardware controller Ableton Push. Ableton's office is located in the Prenzlauer Berg district of Berlin, Germany, with a second office in Pasadena, California.

Opcode Systems, Inc. was founded in 1985 by Dave Oppenheim and based in and around Palo Alto, California, USA. Opcode produced MIDI sequencing software for the classic Mac OS and Microsoft Windows, which would later include digital audio capabilities, as well as audio and MIDI hardware interfaces. Opcode's MIDIMAC sequencer, launched in 1986, was one of the first commercially available MIDI sequencers for the Macintosh.

Joshua Kit Clayton, better known by his stage name Kit Clayton, is a San Francisco-based electronic and digital musician and computer programmer. He is a developer at San Francisco software company Cycling '74, helping create the Max/MSP MIDI/audio programming environment. He is also a significant contributor to Jitter, the multi-dimensional data set processing and visualizing architecture for audio, video, and 3D graphics. Clayton uses Max, MSP, and Jitter extensively in his own abstract musical compositions, which have been described as including aspects of ambient computer music and glitch.

<span class="mw-page-title-main">Miller Puckette</span> American academic

Miller Smith Puckette is the associate director of the Center for Research in Computing and the Arts as well as a professor of music at the University of California, San Diego, where he has been since 1994. Puckette is known for authoring Max, a graphical development environment for music and multimedia synthesis, which he developed while working at IRCAM in the late 1980s. He is also the author of Pure Data (Pd), a real-time performing platform for audio, video and graphical programming language for the creation of interactive computer music and multimedia works, written in the 1990s with input from many others in the computer music and free software communities.

This is an alphabetical list of articles pertaining specifically to software engineering.


OpenMusic (OM) is an object-oriented visual programming environment for musical composition based on Common Lisp. It may also be used as an all-purpose visual interface to Lisp programming. At a more specialized level, a set of provided classes and libraries make it a very convenient environment for music composition.

<span class="mw-page-title-main">Cycling '74</span> American software development company

Cycling '74 is an American software development company founded in 1997 by David Zicarelli, headquartered in San Francisco, California and owned by Ableton. The company employs the digital signal processing software tool, Max.

<span class="mw-page-title-main">Digital Image Processing with Sound</span>

DIPS (Digital Image Processing with Sound) is a set of plug-in objects that handle real-time digital image processing in Max/MSP programming environment. Combining with the built-in objects of the environment, DIPS enables to program the interaction between audio and visual events with ease, and supports the realization of interactive multimedia art as well as interactive computer music.

<span class="mw-page-title-main">Audiocubes</span> Musical instrument

AudioCubes are a collection of wireless intelligent light-emitting objects, capable of detecting each other's location, orientation, and user gestures. They were created by Bert Schiettecatte as electronic musical instruments for use by musicians in live performance, sound design, musical composition, and for creating interactive applications in max/msp, pd and C++.

References

  1. "Max 8.6.2 Release Notes | Cycling '74". 19 March 2024. Retrieved 8 May 2024.
  2. "Max/MSP for average music junkies". Hopes&Fears. Retrieved 2018-09-16.
  3. Place, T.; Lossius, T. (2006). "A modular standard for structuring patches in Max" (PDF). Jamoma. New Orleans, US: In Proc. of the International Computer Music Conference 2006. pp. 143–146. Archived from the original (PDF) on 2011-07-26. Retrieved 2011-02-16.
  4. "Synthetic Rehearsal: Training the Synthetic Performer" (PDF). Archived from the original (PDF) on August 15, 2020. Retrieved 2008-08-22.{{cite journal}}: Cite journal requires |journal= (help)
  5. Barry, Vercoe; Miller, Puckette (1985). "Synthetic Rehearsal: Training the Synthetic Performer". International Computer Music Conference Proceedings. 1985. ICMC. Retrieved 2018-09-19.
  6. Puckette, Miller S. (11 August 1988). "The Patcher" (PDF). ICMC. Retrieved 2018-08-22.{{cite journal}}: Cite journal requires |journal= (help)
  7. Puckette, Miller S. "Pd Repertory Project - History of Pluton". CRCA. Archived from the original on 2004-07-07. Retrieved March 3, 2012.
  8. "A brief history of MAX". IRCAM. Archived from the original on 2009-06-03.
  9. "Max/MSP History - Where did Max/MSP come from?". Cycling74. Archived from the original on 2009-06-09. Retrieved March 3, 2012.
  10. The Contemporary Violin: Extended Performance Techniques By Patricia Strange, Allen Strange Accessed 10 September 2018
  11. Battino, David; Richards, Kelli (2005). The Art of Digital Music . Backbeat Books. p.  110. ISBN   0-87930-830-3.
  12. "About Us". Cycling74.com. Retrieved March 3, 2012.
  13. "FAQ Max4". Cycling74.com. Retrieved March 3, 2012.
  14. "Harmony Central News". Archived from the original on 2007-10-27. Retrieved 2018-08-23.
  15. "GEN - Extend the power of Max". Cycling74.com.
  16. "Max 7 is Patching Reimagined". Cycling '74. 2014.
  17. A conversation with David Zicarelli and Gerhard Behles, Peter Kirn - June 6, 2017 Accessed 10 September 2018
  18. "Article: Max 8 is here | Cycling '74". cycling74.com. Retrieved 2019-01-13.
  19. "What's New in Max 8? | Cycling '74". cycling74.com. Retrieved 2019-01-13.
  20. Puckette, Miller. "Max at Seventeen". msp.ucsd.edu. Retrieved 2023-06-23.