A newer version of Max is available. Click here to access the latest version of this document.


Output a bang message at regular intervals


The metro object can act as a metronome which outputs bang s at a regular, specified interval. This object uses the Max time format syntax, so the interval that the metro object uses can be either fixed or tempo-relative. Its output can be quantized using tempo-relative syntax, and if the autostarttime attribute is set, the object can also start at a tempo-relative point.


Name Type Opt Description
output-interval (milliseconds) int float symbol opt The optional first argument sets an initial value for the time interval at which metro sends its output. This time interval can be either a number which specifies time in milliseconds (e.g. metro 100) or notevalue (e.g. metro 4n).

Note: While the metro object lets you specify time in any of Max's standard time formats, the interval attribute argument should be used when specifying time in any other time unit besides milliseconds or notevalues (e.g. metro @interval 11025 samples).

If there is no argument, the initial time interval is 5 milliseconds.


bang In left inlet: starts the metro object.
int start/stop (0 or non-zero) [int]
In left inlet: Any number other than 0 starts the metro object. At regular intervals, metro sends a bang out the outlet. 0 stops metro.

In right inlet: The number is the time interval, in milliseconds, at which metro sends out a bang. A new number in the right inlet does not take effect until the next output is sent.
float start/stop (0 or non-zero) [float]
Performs the same function as int.
list input [list]
In right inlet: A list may be used to specify time in one of the Max time formats.
anything interval [list]
Same as list.
clock setclock object name [symbol]
The word clock, followed by the name of an existing setclock object, sets the metro object to be controlled by that setclock object rather than by Max’s internal millisecond clock. The word clock by itself sets the metro object back to using Max’s regular millisecond clock.
stop In left inlet: Stops metro.


Name Type g/s Description
active int Turns the metro on and off.
autostart int If turned on (non-zero) the metro will begin running automatically at the time specified with the autostarttime attribute.
autostarttime atom If the autostart attribute is enabled (non-zero) the metro will begin running automatically at the time specified with the this attribute. The autostart operates as a timepoint object that is internal to metro.
defer float Turn this on to send output in the low-priority queue.
interval atom Sets the The time interval at which metro sends out a bang. Time can be specified in any of the time formats used in Max.
quantize atom Send output only on the specified time-boundary if appropriate. This is achieved by making internal adjustments to the times used for sending output. The quantization can be specified in the following time formats: bars.beats.units, ticks or note values.

If the applicable time is a 'fixed' unit (for example: ms, seconds, hz, samples, etc.) then this attribute will have no effect.
transport symbol This attribute names a master time transport. If the time is specified using a 'relative' unit (for example: ticks, bars.beats.units, or notevalues), then the named transport is used to determine delay times based on tempo, time-signature, and other related information.

Information for box attributes common to all objects


bang: A bang is sent immediately when metro is started, and at regular intervals thereafter.


Repeatedly send a message or trigger a process

See Also

Name Description
clocker Report elapsed time, at regular intervals
counter Count the bang messages received, output the count
cpuclock Precise "real-world" time measurements
delay Delay a bang before passing it on.
setclock Control the clock speed of timing objects remotely
tempo Output numbers at a metronomic tempo
transport Control a master clock and report time values.
uzi Send a specific number of bang messages
Max Basic Tutorial 4: Metro and Toggle Max Basic Tutorial 4: Metro and Toggle