Max/Msp
   HOME

TheInfoList



OR:

Max, also known as Max/MSP/Jitter, is a
visual programming language In computing, a visual programming language (visual programming system, VPL, or, VPS) is any programming language that lets users create programs by manipulating program elements ''graphically'' rather than by specifying them ''textually''. A VPL ...
for
music Music is generally defined as the art of arranging sound to create some combination of form, harmony, melody, rhythm or otherwise expressive content. Exact definitions of music vary considerably around the world, though it is an aspe ...
and
multimedia Multimedia is a form of communication that uses a combination of different content forms such as text, audio, images, animations, or video into a single interactive presentation, in contrast to tradit ...
developed and maintained by
San Francisco San Francisco (; Spanish for " Saint Francis"), officially the City and County of San Francisco, is the commercial, financial, and cultural center of Northern California. The city proper is the fourth most populous in California and 17t ...
-based software company
Cycling '74 Cycling '74 (also known as "C74" and stylized as '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 processi ...
. 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. The Max program is modular, with most routines existing as
shared libraries In computer science, a library is a collection of non-volatile resources used by computer programs, often for software development. These may include configuration data, documentation, help data, message templates, pre-written code and ...
. An
application programming interface An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
(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
extension Extension, extend or extended may refer to: Mathematics Logic or set theory * Axiom of extensionality * Extensible cardinal * Extension (model theory) * Extension (predicate logic), the set of tuples of values that satisfy the predicate * Ext ...
s to the program. Because of this
extensible Extensibility is a software engineering and systems design principle that provides for future growth. Extensibility is a measure of the ability to extend a system and the level of effort required to implement the extension. Extensions can be ...
design, which simultaneously represents both the
program Program, programme, programmer, or programming may refer to: Business and management * Program management, the process of managing several related projects * Time management * Program, a part of planning Arts and entertainment Audio * Programm ...
's structure and its
graphical user interface The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, ins ...
(GUI), Max has been described as the
lingua franca A lingua franca (; ; for plurals see ), also known as a bridge language, common language, trade language, auxiliary language, vehicular language, or link language, is a language systematically used to make communication possible between groups ...
for developing interactive music performance software.


History

1980s: Miller Puckette began work on Max in 1985, at the Institut de Recherche et Coordination Acoustique/Musique (IRCAM) in
Paris Paris () is the capital and most populous city of France, with an estimated population of 2,165,423 residents in 2019 in an area of more than 105 km² (41 sq mi), making it the 30th most densely populated city in the world in 2020. Si ...
. Originally called ''The Patcher'', this first version provided composers with a graphical interface for creating interactive
computer music Computer music is the application of computing technology in music composition, to help human composers create new music or to have computers independently create music, such as with algorithmic composition programs. It includes the theory and ...
scores on the
Macintosh The Mac (known as Macintosh until 1999) is a family of personal computers designed and marketed by Apple Inc., Apple Inc. Macs are known for their ease of use and minimalist designs, and are popular among students, creative professionals, and ...
. 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 MIDI (; Musical Instrument Digital Interface) is a technical standard that describes a communications protocol, digital interface, and electrical connectors that connect a wide variety of electronic musical instruments, computers, and ...
or a similar
protocol Protocol may refer to: Sociology and politics * Protocol (politics), a formal agreement between nation states * Protocol (diplomacy), the etiquette of diplomacy and affairs of state * Etiquette, a code of personal behavior Science and technology ...
. 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 The Sogitec 4X was a digital sound processing workstation developed by Giuseppe di Giugno at IRCAM (Paris) in the 1980s. It was the last large hardware processor before the development of the ISPW. Later solutions combined control and audio proce ...
for audio processing. In 1989, IRCAM developed ''Max/FTS'' ("Faster Than Sound"), a version of Max ported to the IRCAM Signal Processing Workstation (ISPW) for the
NeXT Next may refer to: Arts and entertainment Film * ''Next'' (1990 film), an animated short about William Shakespeare * ''Next'' (2007 film), a sci-fi film starring Nicolas Cage * '' Next: A Primer on Urban Painting'', a 2005 documentary film Lit ...
. 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 A digital signal processor (DSP) is a specialized microprocessor chip, with its architecture optimized for the operational needs of digital signal processing. DSPs are fabricated on MOS integrated circuit chips. They are widely used in audio s ...
(DSP) board. The same year, IRCAM licensed the software to Opcode Systems. 1990s: Opcode launched a commercial version named ''Max'' in 1990, developed and extended by
David Zicarelli Cycling '74 (also known as "C74" and stylized as '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 processi ...
. 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. The timing was fortunate, as Opcode was acquired by
Gibson Guitar Gibson Brands, Inc. (formerly Gibson Guitar Corporation) is an American manufacturer of guitars, other musical instruments, and professional audio equipment from Kalamazoo, Michigan, and now based in Nashville, Tennessee. The company was former ...
in 1998 and ended operations in 1999. 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 Silicon Graphics, Inc. (stylized as SiliconGraphics before 1999, later rebranded SGI, historically known as Silicon Graphics Computer Systems or SGCS) was an American high-performance computing manufacturer, producing computer hardware and soft ...
(SGI) and later for
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, whi ...
systems. It used Java for its graphical interface and C for its real-time backend, and was eventually released as
open-source software Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. ...
. Meanwhile, Puckette had independently released a fully redesigned open-source composition tool named ''
Pure Data 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 d ...
'' (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 Digital audio is a representation of sound recorded in, or converted into, digital form. In digital audio, the sound wave of the audio signal is typically encoded as numerical samples in a continuous sequence. For example, in CD audio, samp ...
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 David Rokeby (born in 1960 in Tillsonburg, Ontario) is an artist who has been making works of electronic, video and installation art since 1982. He lives with his wife, acclaimed pianist Eve Egoyan, and daughter, Viva Egoyan-Rokeby, in Toronto, ...
. Cycling '74 released their own set of video extensions, ''Jitter'', alongside Max 4 in 2003, adding real-time video,
OpenGL OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardwa ...
graphics, and
matrix Matrix most commonly refers to: * ''The Matrix'' (franchise), an American media franchise ** '' The Matrix'', a 1999 science-fiction action film ** "The Matrix", a fictional setting, a virtual reality environment, within ''The Matrix'' (franchi ...
processing capabilities. Max 4 was also the first version to run on
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for se ...
. 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 Ableton Live is a digital audio workstation for macOS and Windows developed by the German company Ableton. In contrast to many other software sequencers, Ableton Live is designed to be an instrument for live performances as well as a tool ...
sequencer software, and an extension called Gen, which can compile optimized Max patches for higher performance. Max 7 was released in 2014 and focused on 3D rendering improvements. On June 6, 2017,
Ableton 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. ...
announced its purchase of Cycling '74, with Max continuing to be published by Cycling '74 and David Zicarelli remaining with the company. On September 25, 2018 Max 8, the most recent major version of the software, was released. Some of the new features include MC, a new way to work with multiple channels, JavaScript support with Node for Max, and Vizzie 2.


Language

Max is named after composer Max Mathews, and can be considered a descendant of his
MUSIC Music is generally defined as the art of arranging sound to create some combination of form, harmony, melody, rhythm or otherwise expressive content. Exact definitions of music vary considerably around the world, though it is an aspe ...
language, though its graphical nature disguises that fact. 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 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. It is free software, available under the LGPL-2.1-or-later. Csound was o ...
, and control rate vs. audio rate in
SuperCollider A particle accelerator is a machine that uses electromagnetic fields to propel charged particles to very high speeds and energies, and to contain them in well-defined beams. Large accelerators are used for fundamental research in particl ...
). 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++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
,
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
, or
JavaScript JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of websites use JavaScript on the client side for webpage behavior, of ...
. 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 Ableton Live is a digital audio workstation for macOS and Windows developed by the German company Ableton. In contrast to many other software sequencers, Ableton Live is designed to be an instrument for live performances as well as a tool ...
through the Max for Live extension. With the increased integration of
laptop A laptop, laptop computer, or notebook computer is a small, portable personal computer (PC) with a screen and alphanumeric keyboard. Laptops typically have a clam shell form factor with the screen mounted on the inside of the upper li ...
computers into live music performance (in
electronic music Electronic music is a genre of music that employs electronic musical instruments, digital instruments, or circuitry-based music technology in its creation. It includes both music made using electronic and electromechanical means ( electro ...
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

*
Pure Data 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 d ...
*
Comparison of audio synthesis environments Software audio synthesis environments typically consist of an audio programming language (which may be graphical) and a user environment to design/run the language in. Although many of these environments are comparable in their abilities to produ ...
*
List of music software This is a list of software for creating, performing, learning, analyzing, researching, broadcasting and editing music. This article only includes software, not services. For streaming services such as iHeartRadio, Pandora, Prime Music, and Spotify, ...
*
Visual programming language In computing, a visual programming language (visual programming system, VPL, or, VPS) is any programming language that lets users create programs by manipulating program elements ''graphically'' rather than by specifying them ''textually''. A VPL ...


References


External links

* {{DEFAULTSORT:Max (Software) Audio programming languages MacOS multimedia software Software synthesizers Visual programming languages Windows multimedia software