Music 171 homework 5
This assignment is designed to give you practice with making
abstractions and also to introduce non-linear distortion as a
synthesis technique, using index of modulation and evenness/oddness
to control timbre.
The assignment is to make a patch that plays a five-note chord
(in my example, I just fixed the chord as having pitches 60, 62,
65, 67, and 70. A chord is a sound containing more than one note
played together at once.)
The synthesis algorithm should consist of a sinusoidal
oscillator, with an amplitude (an "index of modulation") and an
added onset between 0 and 0.25, sent to a cosine function to
distort it. The technique itself is described in class and also
demonstrated in the Pd example E07.evenodd.pd.
Your successful patch should be able to make sounds like
this. One individual note of the five
(the one playing MIDI pitch 60) sounds like this.
To make the patch (oops, I only wrote only 4 bullets, so you get
2 points for nothing and the rest ae worth 2 points for a total of
10):
- As before you'll need to make two patches, one that is an
abstraction to generate a single voice, and one as the main patch.
(Zip them together as a folder named for yourself so that it will
unpack in an easy-to-understand way.) The main patch should use 5
copies of the abstraction. You can just pass the five pitches
(above) as arguments to the abstraction.
- In the main patch, set up controls for amplitude, even/odd, and
index of modulation. Each should have a reasonable range, like
0-100. You can send the control values directly into the
abstraction voices using send and receive objects. The main patch
should then collect the sum of the signal outputs of the voices and
send the sum to a hip~ 10 to clean up DC and then to the audio
output.
- The abstraction should use its pitch (obtained as an
abstraction argument or otherwise) to control the frequency of an
osc~ object. This should be multiplied by an index (calculated as
described below), added to an even/odd offset (also below), then
summed for output in the main patch.
- Inside the abstraction, "receive" the index, scale it to range
from 0 to 1, use "pack" and "line~" to cause it to change
continuously, and use that as the index of modulation. In the same
way, use the even/odd control, scaled to range from 0 to 0.25, as
an additive offset, and the amplitude control (either inside or
outside the abstraction as you prefer) to control the output.
back to music 171 main page