Music 171 homework 8
This assignment is to put together a generative algorithm for
melodies. It is an example of what is called a sieve. The composer
Iannis Xenakis used a variation on this technique in some of his
compositions. Here we'll work out a simple way to use a sieve to
make two melodies interlock together into a longer one.
To make the patch:
- Make any monophonic synthesizer you like; you can re-use one
that you made for an earlier homework, or else try something new
and original. (Hint: start with an osc~ or phasor~ object and just
try adding things and see what you can come up with; this might be
useful preparation for your final project.) Make a 'receive' object
that expects MIDI pitches and plays notes of a fixed duration.
- Make two arrays, or two text objects (whichever you prefer),
one containing the numbers 40, 0, 0, 0, 0, 0, 50, 0 (eight in all)
and the other containing the numbers 0, 52, 54, 56, 57, 54, 0, 56.
Each of these, if played separately, would make a simple, rather
boring, loop of length 8 (so that for instance the first one will
have two notes in it and 6 rests).
- Make an 8-step sequencer that outputs the numbers from the
first sequence, one every 200 milliseconds. Using a moses object,
filter out "0" pitches (use "moses 1", because "moses 0" will still
pass 0 to its greater-or-equal outlet). Send the numbers greater
than zero to the synthesizer. You should then hear a repeating
pattern of two notes every 8*200 milliseconds.
- Make a second 8-step sequencer that outputs the numbers from
the second sequence whenever the first sequence outputs 0. You will
get 6 outputs from the second sequencer each time the first one
cycles through its 8 steps. For each 4 repetitions of the first
sequence, the second one will repeat three times. Send the nonzero
outputs from this second sequencer to the synthesizer as well (but
not the zero outputs).
- Make an on/off toggle that starts and stops the first
sequencer. Using a trigger object, arrange so that when the toggle
is turned on the counters (the float objects) used in both
sequencers is set to 0 before starting the sequence. The first
three outputs should then be 40 (first pitch of the first
sequence), 0 (first pitch of the second sequence), and 52 (second
note of the second sequence). When the on/off toggle is turned back
off the sound should turn off (it shouldn't just hang
forever).
The output should sound something like this (but the particular sound to use is up to
you; for this example I used subtractive synthesis).
back to music 171 main page