Music 171 homework 8
prototypical vocal synth
This assignment is designed to give you practice with qlists and delay
lines. There's no relationship between the two, it's just what's happening
in the course right now. The assignment is to use a recirculating comb
filter and a qlist-based sequencer to make our tedious radio announcer sing
his phrase "soft and relaxing". The melody I chose was the playground chant
sometimes known as "I'm the king of the castle" but you're free to choose your
own if you can think of something more interesting.
To impose your own pitch on the sound of the recorded voice, send it through a
recirculating comb filter (a delay loop with a short delay time tuned to the
desired period). Here's how to do it:
- Make a sampler, which could be simply based on "tabplay", that plays from a
wavetable with the familiar "voice.wav" sample. The sample should be read with
a "loadbang" message using the soundfiler object, and should be long enough to
hold the whole sample (hint: the soundfiler object can be directed to resize the
wavetable to fit the sample you're loading). There should be a way to control
the start location in the wavetable, and the duration of the output (playback
time), controlling the output amplitude with a line~ and using the usual
de-clicking strategy.
- Make a recirculating delay line with delwrite~ and delread4~ (use the
interpolating delread4~ object, not the non-interpolating delread~, to get the
most accurate control over delay length that you can - this will affect pitch
accuracy later). The recirculation gain can be set to 0.9. The delay length
should be set to 1000 divided by the desired resonant pitch in Hz.
- Set up a control structure as follows. Make a receive name ("note" would
be fine) unpacked into three parameters: wavetable onset, playback time, and
resonant pitch (as a MIDI number) for the comb filter. So that you can test it,
also make a setup that packs the output of three number boxes into a message to
the same receive, so that changing any of the three number boxes causes a new
"note" to come out.
- Make a qlist object with a "bang" (button) to start it. A message in the
qlist like "note 1000 200 60" should then go to the receive you built in the
previous step and make an audible note when you start it via "bang".
- Make the sequence. Mine consisted of the pitches 60, 57, 62, 60, 57. The
first one cam out immediately and the succeeding ones with delays of 1, 2/3,
1/3, and 1 "beat" respectively (I used 600, 400, 200, 600, but then ended up
setting the tempo (a message to the qlist object) to 1.1 or 1.2 to speed things
up slightly).
IMPORTANT: contrarry to something I said in class last week, the qlist
object does NOT save its contents in the containint patch - instead, it's best
to use "write" and "read" messages to the qlist object to save its sequence
between sessions, and make it "read" the file with a loadbang.
Your successful patch should sound something like
this (but not necessarily that exact melody).
back to music 171 main page