Returns a Sound that results from applying a list of envelopes
to a given wave form. The wave form is a Sound generator that
takes a frequency and a duration as arguments and produces a
Sound with the given frequency and duration. Each envelope is
applied to a harmonic: the first harmonic has the given frequency,
the second has twice the frequency, the third three times the
frequency etc. The harmonics are then layered simultaneously to
produce the resulting Sound.
Parameters
waveform: SoundProducer
function from pair(frequency, duration) to Sound
base_frequency: number
frequency of the first harmonic
duration: number
duration of the produced Sound, in seconds
envelopes: List
– list of envelopes, which are functions from Sound to Sound
Returns a Sound that results from applying a list of envelopes to a given wave form. The wave form is a Sound generator that takes a frequency and a duration as arguments and produces a Sound with the given frequency and duration. Each envelope is applied to a harmonic: the first harmonic has the given frequency, the second has twice the frequency, the third three times the frequency etc. The harmonics are then layered simultaneously to produce the resulting Sound.