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 .