
Description
Here we create a 2-voice canon
whose pitch interval is up one octave and whose time
interval is 1 sec (1000 ms). The patcher is explained
in bullet-point fashion below.
- The tempo object is set to 120 b.p.m. The constant pulse is set to 1/8 notes (= 500 ms).
- Pitches are selected randomly from from 8 equally-weighted pitches.
- The pitches form a diatonic scale on C4: 60, 62, 64, 65, 67, 69, 71, 72.
- The current pitch is displayed in a number box and
then is sent over to the makenote object via
a send-receive pair ('pitch').
- The default arguments to makenote are: Velocity = 90, and Duration = 2000 ms.
- Because makenote's default duration (2000 ms) is 4 times greater than the pulse duration (500 ms), notes events overlap in 4-note grouping to create a sense of harmony.
- To create Voice 2, a pipe object delays
each Voice 1 pitch by 1 sec. (1000 ms) and then
transposes it up one octave (see +
12), and then sends it to make note.
- The pitches of each canonic voice are visually
displayed in real time using two kslider
objects.
Object Reference
Further Reading
- Wikipedia, Canon
- Wikipedia, Diatonic scale
Updated: 9/24/25