transport

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).

Bass drum player with swing

This patch uses the transport object to control an algorithmic performer of kick drum patterns. When the transport is turned on, the metro also turns on because its active attribute is set on. The metro sends a bang on every 16th note. Those bangs are first used to trigger information from the transport itself, and then to look up in a table of patterns to see whether or not to play a bass drum note.

Conditional timepoint

The timepoint object automatically and reliably sends out a bang when the specified point in time is reached. How would you specify a point in time, and also make the notification “conditional”, such that it only occurs if a certain condition is met?

Transport-controlled phasor~

A phasor~ object, like other MSP objects such as cycle~ that use a rate for their timing, can have its repetition rate specified as a transport-related tempo-relative time value (note values, ticks, etc.). So if you want a phasor~ to work at a rate that is related to the transport's tempo, you can type in a tempo-relative time as an argument to specify its period of repetition instead of typing in a frequency.

Tap to teach tempo to Max

This patch implements tap tempo using a "simple moving average" (SMA) calculation of time between taps. The patch alters the transport tempo based on the rate at which you tap the 't' key. The method takes the average of the most recent three time intervals between the most recent four taps. So, once you tap four times, it will set the transport tempo to your tempo, and if you keep tapping it responds to your changes but takes a couple beats to move gradually to your new tempo.

Tap to set tempo

Instead of the user entering a tempo value by hand, it’s possible to have the computer measure the tempo at which the user is tapping the beat. Do do that, you simply need to measure the time difference between two events (taps).