MSP functions

This patch shows the lookup tables (a.k.a. transfer functions) being used on three formal levels: 1) the microscopic level, to determine the timbre of the waveform, 2) the note level, to determine the amplitude (and timbre) envelope, and 3) at the phrase level, to control the amplitude over a 15-second time span.

First, turn on audio (below), then start the tempo object.


This example demonstrates accelerando by playing 7-note scale (diatonic) over five octaves while increasing the velocity from soft to loud (20 to 125), and also the rate from 2 to 22 notes per second.

Using table to transpose a MIDI note

Pitch transposition of MIDI notes is easy; you simply add (or subtract) some number of semitones to the pitch value. However, whenever you transpose a MIDI note-on message you have to make sure to transpose the corresponding note-off message by the same amount. Otherwise, the note will not get turned off and you'll get a "stuck" note that never ends.

Converting notes per second to ms and using the Tempo object

This example shows how to convert a value expressing “notes per second” into "milliseconds per note", which is a more useful value for the metro object.  The right side of the patch shows how to use the tempo object to specify tempo in bpm, and to specify the division of the whole note at which to output numbers indicating which division of the measure it's on.