patcher
Polyphonic granular synthesizer with parameter controls
Rhythmic automated panning
This example allows a choice of four different modes of intensity panning, and two ways to specify the rate of panning change. The choice of four possible pannings is: static centered, left-to-right sudden switching, left-to-right gradual gliding, and random gliding. The rate of change can be controlled by sliders, either in Hertz (changes per second) or note values (based on the current transport tempo).
Simulation of MIDI lighting control
Choose from among multiple processes
For this example to work properly you'll first need to download two other patches.
Pseudo-random numbers appear random
Programming languages all provide some means of generating random numbers. Those numbers aren’t truly random, though. They’re what’s called pseudo-random. They’re actually generated by a known, deterministic process for generating a sequence of numbers, but that process generates a long series of apparently random numbers that doesn’t repeat for a very long time.
The patcher object encapsulates a subpatch
In programming, it’s often useful to divide a task into parts, and consider the overall program as a combination of small tasks. Each small task can be considered a subset of the overall program, to be called upon when needed. In programming lingo, that’s often called a “subroutine” or a “function”.
Very low frequency modulation for gradual change
This example combines seven pre-recorded saxophone sounds, slowly modulating several aspects of their playback to create an ever-changing mix.
Ways to turn MSP on and off
Did you know that there are several different ways to turn MSP audio on and off in Max?
Routing MIDI data flow
Managing the flow of data in a program is a common issue. Often you'll want to receive data from different sources, or send it to different destinations.