The Can

The Can

For Max 5+. Updated continuously.
Download newest distribution here:
The Can © 2004-2012 Eric Marty.
modified 9.12.2012 1:57:14 (

Max 4.6 distribution available upon request.

The Can is... a guided introduction to Max, MSP and Jitter oriented to students of interactive art; a set of demonstrations and examples that can be copied and modified for use in artworks or education; and a set of abstractions to simplify programming for interactivity:

can.± (a.k.a. ±) • plus or minus
can.±x (a.k.a. ±x) • plus or minus x (outputs x and -x)
can.bezierfunction • wrapper for Toshiro Yamada's sa.function external
can.browser • pass url to a browser
can.buildmodels • train a model for pattern recognition • calculate ∆ for ints or floats
can.doubletap • detect multi-taps by watching the timing of a series of 1's and 0's
can.hat • pick a number from a hat (and replace numbers, etc.)
can.ibva.MIDItoOSC • OSC wrapper for the IBVA MIDI brainwave sensor
can.ID3editor • Bpatcher GUI for Jeremy Berstein's metatag external (edit soundfile metadata)
can.jit.light-meter • use DV camera as a light meter
can.jit.matchmodel (a.k.a. jit.matchmodel) • training-based video pattern matching
can.jit.motion • motion sensing and tracking
can.jit.recorder • simplify recording video with soundtracks
can.jit.stats • min, mean, max, and population standard deviation of a matrix
can.jit.vidmix8 • 8 channel video mixer
can.jit.vidmix8-GUI • 8 channel video mixer w/ GUI
can.listline • ramp between lists of floats
can.markov • build and run 1st, 2nd and 3rd order Markov chains
can.matchmodels • compare float list input to stored models
can.QTEffect-GUI • GUI wrapper for QT effects
can.random • generate random floats in a given range
can.recursive-smoother • recursive data smoothing
can.scrub~ • scrub an audio file
can.sequencematch • detect a sequence in a stream of input
can.sfplayer~ (a.k.a. SoundFilePlayer~) • simplified polyphonic stereo sound file player
can.stringsub • string substitution
can.survival • pass or reject events at random according to assigned probability
can.tetraspat~ (a.k.a. tetraspat~) • tetrahedronal 3-D pan+reverb spatialization
can.threshold-trigger • generate bangs when threshold conditions are met
can.time-smoother • time based data smoothing
can.tripgate • self closing gate • video delay line
can.webbrowser • a simple Max-based web browser built around jweb
can.xfade~ • constant power crossfade using a square-root curve

Remote Timeline Tools (RTT) v1.3 • create and control multiple OSC timelines
wacom-to-osc • OSC wrapper for the wacom object

The Can also contains information about many third-party Max objects considered essential or useful in interactive art.

Installation: Unzip the file and drag the folder "can/" to your Max5 directory. Add the folder "can/" to your Max searchpath under File Preferences. The Can is continually updated. The Can and all patches carry a timestamp indicating the latest modification date.

Tutorials are in numbered folders. Abstractions are in the Tools/ folder.

RTT (Remote Timeline Tools)

Remote Timeline Tools (screenshot) Remote Timeline Tools (screenshot)

Version 1.1 (2004) For Max 4.5 (OSX): no longer available
Version 1.2 (2007) For Max 4.6 or later (OSX):
Version 1.3 (2012) For Max 5 or later (OSX): included in The Can
Requires Open Sound Control objects for the Max environment from CNMAT.

A set of Max objects for synchronization and remote control of timelines of events over Internet, using OSC over UDP. RTT implements a master-controlled slave clock synchronization scheme using OSC time tags.

Note that this technique relies on a use of the OSC time tag that does not conform to the OSC specification. Since RTT was relased, CNMAT has released a new external object for dealing with OSC time tags in Max in a conforming manner.

RTT was initially supported and distributed by Ideas for Creative Exploration (ICE) at the University of Georgia. Now included in The Can (see above) or as a separate download here.

Installation instructions: Unzip the file and drag the folder "RTT_v1.2/" to your Max5 directory. In the Max5 file preferences, add the folder "RTT_v1.2/" to your searchpath.


wacom-to-OSC (screenshot) wacom-to-OSC (screenshot)

Version 0.2 (2007) For MaxMSP 4.5 or later (OSX UB): included in The Can
Requires Jean-Michel Couturier's wacom external object (version 3.0 - 3.1).
Recommended for use with Open Sound Control external objects from CNMAT.

An OSC wrapper for the wacom external object. Included in The Can (see above).

Stereo Spatializer

Stereo Spatializer (screenshot) Stereo Spatializer (screenshot)

Version 1.0 (2006) (OSX)

A script-driven stereo spatialization utility (standalone application). Input: mono. Output: stereo. A spatialization script can be recorded to a text file in real time through a simple graphic interface. The editable script can then be applied to a mono soundfile in either preview or record mode. Intended for teaching spatialization and for adding trajectories to sound objects.

PC Set Analyzer

PC Set Analyzer (screenshot)

Version 1.0 (2005) (OSX)

A pitch class set calculator. Provides complete typing of pitch class sets, including normal form, Tn-type, prime form, Forte set class, complement and Z-relation, interval class vector, difference vector, index vectors for all forms of the set, and common tone structure tables for all forms of the set. INPUT:

• on screen pitch wheel / onscreen piano keyboard
• keyboard (typed letters or numbers)
• microphone (pitch tracking)

Feature Notation Tools

Version 1.0 (2003-2005) For Max 3.6.2 (OS9) and 4.5 (OSX)
Requires Peter Elsea's List Objects.
Version 1.1 (2010) For Max 5 or later (OSX) available soon

Fuzzy logic operators and utilities optimized for real-time analysis of binary "feature sets" (expressed as binary lists, binary strings, or binary integers). Feature notation can be used to describe phonemes or other linguistic elements, objets musicaux, or any phenomena that can be characterized by the presence or absence of given features. Objects can be compared by comparing sets of features that describe them.

Installation instructions: Unzip the file
Drag the folder "FeatureNotationMax452_abstractions" to your Max directory.
and make sure "FeatureNotationMax452_abstractions" is in your searchpath.
Drag the folder "FeatureNotationMax452_Help" to the Max help folder.


tetraspat (diagram)

Version 1.0 (2003) For MaxMSP 3.6.2 (OS9)
Version 1.1 (2005) For MaxMSP 4.5 or later (OSX):
Version 1.2 (2012) For MaxMSP 5 or later (OSX): included in The Can

A 3-D sound spatialization tool designed for a four-speaker tetrahedronal array, using a "panning plus reverberation" approach. Included in The Can (see above).



Version 1.0 (2003) For MaxMSP 3.6.2 only (OS9)
contact for the Max patches

A Max interface for the NIQ EZIO (TM), a serial sensor interface (no longer available).