Week 4

Home Up Code 4

Slides, Code Examples: code_4.lsp

Feb 6

Listen to and discuss composition I homework
The Frequency Domain
Mathematical definition
Examples of simple spectra
Fourier Transform vs Short-Term Fourier Transform
DFT - Discrete Fourier Transform
FFT - Fast Fourier Transform
Windowed Short-Term Fourier Transforms
Listening
FM examples, Horner, Beauchamp, & Haken
Tracks 36-38, Current Directions CD
Le Souffle du Doux, Daniel Arfib 10:22

 

Feb 8

Frequency Modulation
Vibrato
FM Synthesis
Amplitude Modulation
Amplitude vibrato
Control signal with constant offset
Ring modulation of natural sounds
Sampling
Why sampling synthesis?
How it works.
Advantage: natural sound that is easily captured
Disadvantages: space, controllability
Techniques in Nyquist:
Playing a sound from a file
Sampling unit generator
Sounds as variables
Listening
Homework 4

 

Homework 5 due Feb 14

Make an interesting FM instrument behavior in Nyquist. Illustrate the default behavior and then use stretch, loud, and transpose transformations. 
Details: This is not a composition (wait until next week). Your task is to create an interesting sound using FM synthesis. Making a good sound with FM is a challenge, so the idea is that by the time you find something you like, you will have explored the FM parameter space and gained some valuable insights into FM, spectra, etc.
This project should be done entirely in Nyquist. If we load and run your source code, we should hear an exact copy of the sound file that you turn in.
The sound file should play a sequence of 4 sounds:
The default behavior, e.g. (my-fm-sound)
A stretched behavior, e.g. (stretch 3 (my-fm-sound))
A louder or softer behavior, e.g. (loud 12 (my-fm-sound))
A transposed behavior, e.g. (transpose 5 (my-fm-sound))
You should choose transformation parameters that illustrates your design clearly. E.g. if your sound gets brighter when it gets louder, make the loud version loud enough that the change is easy to hear.
Grading: In grading the homework assignments, we will be looking for evidence that you did some careful design and that you understand and use the concept of behavioral abstraction. You can implement FM in one or two lines, but it is unlikely that you can make something that sounds interesting without some careful choices of parameters and careful envelope design. This what we want to see. Your code should be designed with transformations in mind. If your instrument has a clear, sharp attack, but the attack turns into a long, slow onset when the sound is stretched, this is evidence that you have relied upon default behaviors rather than customizing the behavior to achieve a characteristic sound (and points will be deducted). Similarly, if transposition causes vibrato to speed up, expect to lose points. Your code should be documented so we understand what behavior you are after. Even if you do something odd on purpose, we might deduct points unless you indicate through documented code that you know what you are doing.

Late homework will lose 1 point per hour.

Please check to make sure that your files are submitted and that they are the right sizes. If you are unsure about how to submit your homework, please contact one of the TAs.

Missing sound file = 80 points
Missing lisp file = 20 points

Submitting your homework:
You need to submit two things:
-Your lisp code, named andrewid_hw5.lsp
-Your resulting wav file, named andrewid_hw5.wav

Submit these to the hw05 folder on the server. You do not need to make a .zip file, just submit the two files as-is.