Assignment 7

Due Thursday April 12 at noon.

  1. Using frequency modulation, create an instrument that generates an evolving “soundscape”. Specifically, use a carrier and modulating frequency that are comparable to one another, but vary them using infrasonic low-frequency oscillators. Feel free to also use time-varying filters to further evolve the sound.
  2. Using a combination of FM, envelope shaping, and subtractive synthesis, design a guitar-like instrument. Do this in four steps, as follows:
    • First create a pitched signal with a rich source of harmonics by using the oscPartials signal function, where the number of harmonics is set to one-half the sampling rate divided by the fundamental frequency (to avoid aliasing).
    • Add a little more richness to the signal by adding a small amount of vibrato.
    • Now create an amplitude envelope that suitably creates a “plucking” effect.
    • Finally, run the signal through a low-pass filter whose cut-off frequency is initially very high, and then drops to a lower frequency that is a function of the pitch (so that low notes and high notes have similar timbre). This reflects the fact that the higher partials die off more quickly than the lower ones.
  3. Test your guitar-like sound by playing the first eight bars of Beethoven’s Fur Elise (see below) using your instrument. You are welcome to use p-fields to control your sound, but remember that the first three arguments in the Instr interface are Dur, AbsPitch, and Volume, which should be all that you need.
> module FurElise where

> import Euterpea

> rh1 = line [e 6 en, ds 6 en, e 6 en, ds 6 en, e 6 en, b 5 en, 
>             d 6 en, c 6 en, a 5 qn] 
> rh2 = line [c 5 en, e 5 en, a 5 en, b 5 qn]
> rh3 = line [e 5 en , gs 5 en, b 5 en, c 6 qn]
> rh4 = line [e 5 en] :+: rh1
> rh5 = line [e 5 en, c 6 en, b 5 en, a 5 hn]

> rh  = rh1 :+: rest en :+: rh2 :+: rest en :+: rh3 :+: 
>       rest en :+: rh4 :+: rest en :+: rh2 :+: rest en :+: rh5

> lh1 = line [a 3 en, e 4 en, a 4 en]
> lh2 = line [e 4 en, gs 4 en, b 4 en]
> lh3 = lh1 :+: rest dqn :+: lh2 :+: rest dqn :+: lh1 

> lh  = rest wn :+: lh3 :+: rest dqn :+: rest dhn :+: lh3

> furElise = rh :=: lh 

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>