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

Updated: 9/24/25