Return to Main Overview Page

MSP Overview

MSP gives you the building blocks of a synthesis and DSP language in visual form. But more importantly, MSP permits synthesis and DSP to be controlled in expressive and powerful ways. The fact is, there are only so many ways to make sound, but there an unlimited variety of ways to control sound, due the way MSP's audio objects work together with Max's timing, control, and user interface tools.

Building Blocks

At its most basic level, MSP offers the basic building blocks for synthesis and audio processing: oscillators, filters, delays, and envelopes. In Max 5, we've added the ability to specify the time values of envelopes and phasors in tempo-relative units. The ability to combine low- and high-level components is one of the unique aspects of working with MSP.

Sampling, Recording, and Playback

MSP provides a group of objects that work together for sampling and sample playback. All use the buffer~ object that manages sample buffers up to four channels. You can play samples out of a buffer in multiple ways, record into a buffer, or use a sample buffer as the impulse response for a filter. Standard audio file formats are supported for both reading and writing sample buffers. MSP provides hard-disk based recording and playback, supporting files of up to eight channels. Your computer's performance is the limit to the number of players and recorders you can use simultaneously. Plus it's easy to capture the sound you're producing to a multi-channel file.


Compatibility

MSP supports up to 512 input and output channels. On the Mac, MSP provides support for Core Audio and on Windows, there is ASIO, DirectSound, and MME support. MSP can be both a ReWire host and client, and it is a highly flexible host for VST plug-ins. Max 5 adds host-based synchronization for VST plug-ins tied to its new tempo-based timing system.


User Interface

MSP objects for audio signal display include an oscilloscope, spectral display, level meters, waveform display, and a sonogram. You can use faders with internal smoothing, design multi-band filters graphically and edit functions with arbitrary numbers of breakpoints. Plus, since it's easy to convert between audio signals and scalar values, anything in the rich Max user interface toolkit can be applied to audio control and display. In Max 5, it's easy to find out the levels of any audio signal with the new signal probe.


Polyphony

The poly~ object lets you use multiple copies of any patcher you make. It supports output mixing, note allocation and voice stealing. And in Max 5, the MSP poly~ object supports dynamic patch loading and voice allocation, and can run patchers in different threads to support multiple processors.

Advanced Features

MSP includes support for spectral domain processing with FFTs as well as a means to run patchers synchronized with spectral domain processing. A number of examples including a phase vocoder sampler show how to take advantage of this powerful technology. MSP also comes with highly configurable versions of special-purpose processing elements including a multi-band compressor, pitch shifter, and an oscillator bank synthesizer. MSP also combines nicely with Jitter's matrix data processing, so you can apply "visual" signal processing techniques to audio.

Extensibility

If you want to develop your own low-level audio algorithms, Max/MSP provides an ideal platform with its C-based API for new unit generators. There's no need to worry about hardware support, and Max takes care of file I/O and user interface construction as well. Another option for lower-level development is mxj~, a modular Java-based system for audio development.

Learning MSP

The MSP documentation includes a complete set of tutorials that cover both operating the software and the theory behind digital audio synthesis and signal processing. Topics covered include FM synthesis, digital filtering, musical applications of the FFT, and MIDI control.


System Requirements

Visit the download page for a current list.