Music 172: assignment 3
Assignment 3 sounds like something complicated but is in reality very simple:
17 looping samplers, whose looping speeds are in a 8:9:10:...:24 ratio. They
are arranged to all start together (in phase).
Here's how:
- Make an abstraction that reads a wavetable in a loop (use a phasor~ object). In my example the
The loop in the example is three seconds long, from a recorded sound
( HERE , whose pitch is G (MIDI 55, 195.998 Hz).
- Choose an apropriate "chunk size" for looping the sample.
The loops might click -- you can probably control that by nudging the chunk size.
My chunk size was three seconds.
- The abstraction can take an argument to specify the relative speed (8
through 24 for the 17 copies). (There are more sophisticated ways to do this
that would allow you to specify different numbers at run time if you want to be
more ambitious.)
- To compute the frequencies of the phasor~ objects, figure out an appropriate
base frequency (very low) and multiply this by the relative speed (which will
vary in individual copies of the abstraction) to get the frequency of the phasor~.
In my example, the base frequency was computed to give a "pitch" of MIDI 12, so that
the resulting output pitch started at MIDI 48 (3 octaves up because the lowest
multiple was 8). The original sample was MIDI 55 and the chunk size was
three seconds; this gave 0.027809 Hz., or once every 35.96 seconds.
- Make a "start" button to bash all their phases to zero (using the right
inlet of the phasor~ object inside the abstraction).
- Enjoy... with the parameters as I specified the whole thing should repeat
every 35.96 seconds. The first half of the cycle I made sounds like
THIS .