Music 171 homework 6
This assignment is to build a polyphonic FM instrument, using
the phase modulation formulation of FM synthesis (see
2.10c.frequency-modulation.pd in the class examples).
To make it simple, use the same frequency for the carrier and
modulator (the phasor~ and the osc~ in the patch), and make a
single envelope that you will use (scaled differently) for both the
output amplitude and for the index of modulation. The envelope
should look like this:

Your successful patch should be able to make sounds like
this.
To make the patch:
- Once more make a main patch and a "voice" abstraction, and have
the main patch include 8 copies of the abstraction. Make a voice
selector to distribute pitches to the voices using the same
mechanism as in homework 4. (You won't need to use any "$"
arguments for this example).
- Inside the abstraction put objects to do phase modulation. The
pitch of both of the oscillators can come from the inlet. When a
pitch arrives at the inlet you should also set in motion a line~
using the timing and values shown above.
- Use a multiplier to scale the line~ output so that its maximum
value is 0.25 (one quarter). Use that scaled value to control the
index of modulation.
- Square the output of the same line~ object and use that value
to control amplitude.
- You should be able to test this by simply connecting a number
box to the input of the voice selection step. You can make a
sequencer if you want, or simply use a random number generator to
generate pitches in a reasonable range (60 to 90, say). The
sequence of pitches in the soundfile I made was (60 62 65 67 70 72
74 77) separated by 200 milliseconds each.
Make the usual output level control and some way (clearly
labeled) to make the patch play notes (either a number box or
something automatic as described above), and make a zip archive of
the main patch and the abstraction together in a directory as
usual.
back to music 171 main page