Music 171 homework 2
Starting in the early sixties, the composer Steve Reich made famous a technique
called 'phasing' in which two loops, almost identical but of slightly different
lengths, are played simultaneously so that you hear the contents of the loop
juxtaposed against itself at all possible phases. This assignment is to make
a simple phased-loop player using sinusoidal oscillators with wavetables to
control their pitches. You could make your own choice of pitches or
frequencies; the example provided uses this sequence:
990 770 880 1210 1320 770 1320 880
Your successful patch should sound like this,
although with perhaps your own more artistic collection of pitches.
To make the patch (each of the following steps is worth 2 points for a total
of 10):
- make two oscillators (osc~ is fine), preferably one playing to the left
output channel and the other to the right. Their amplitudes should be turned
off and on with a line~ object; you can use the same line~ to control both.
- make a table with 8 to 20 frequencies (or MIDI pitches if you prefer). The
range of the table should be set to something reasonable so you can see the
frequencies or pitches; 0 to 1000 might be a good frequency range and 21 to 108
might be a good range for MIDI pitches. Make a message box to stuff the values
you want in the table; but set the table up so that its contents are saved with
the patch or else so that the table-filling message is sent when you hit the
"start" button.
- Make start and stop buttons as before but also provide number boxes so that
we can try changing the tempo (the speed at which the patch runs through the
sequence) and number of notes in the sequence.
- Make a phasor~ whose frequency is controlled by the tempo control. .Using
a multiplier, adjust the output amplitude of the phasor~ to equal the number of
notes in the sequence (the second numeric control you made). Connect to a
tabread~ object to get an audio signal to cotrol the pitch frequency of one of
the osc~ objects. (If you want pitch control you will beed a conversion object,
mtof~.)
- Add a second phasor~ and tabread~, with the difference that the phasor~'s
frequency has 0.1 added to it so that it runs slightly faster. Hook output
to the frequency input of the second osc~ and presto.
back to music 171 main page