Week 3

Home Up Code 3

This week, we will read and discuss practical code examples demonstrating a number of important techniques and operations in Nyquist. There will also be listening sessions.

Slides

sampling.lsp -- some demos from class

Jan 30

Nyquist programming
What is a behavior?
Evaluation environment
Transformations
AT, STRETCH
SEQ, SIM
SEQREP, SIMREP
Creating and synthesizing a "score"
Type coercion
Sample rate conversion
Multichannel expansion
Scalar/signal polymorphism
Listening session
Legend, Alistair Riddell 9:00

 

Feb 1

Sampling Theory
Sample rate
Quantization
Nyquist's Theorem
Quantization Noise
Listening session
Homework 3

 

Homework 4 due Feb 7

Make a 30" composition, based on your interesting sound from the last homework assignment. You should make significant use of Nyquist to create and/or manipulate sounds in this piece. You may also use an audio editor and other software.
Details: Think about the development of sound in time. What can you change about the sound that will be interesting? You can change pitch, loudness, duration of repeated sounds, tempo (rate at which sound events occur), density (do sounds occur often or not?), degree of polyphony or overlap (do sounds occur simultaneously or sequentially?), spectral properties (brightness, bassiness, etc.). Changes can occur at higher levels (a sequence of sounds can repeat with variations) or lower levels (within a single sound object, parameters can evolve). Your piece does not have to be exactly 30 seconds. The term "music" was intentionally omitted from this assignment (up until now). Try to forget everything you know about "music" and do not be bound by conventional ideas of what music is. Think about sounds for what they are rather than what the signify or the expectations they may or may not satisfy.
Grading: In grading the homework, we will be looking for the development of sounds. In general, a composition that shows evidence of effort will do well. If you simply string together a bunch of sounds with slight modifications and without much thought for the overall composition, you will not do as well. You should think about changing the pitch, duration, timbre, etc. For ideas on how to vary your sounds, take a look at the code examples. In addition, your Nyquist code should be clean and easy to read. You should call PLAY only once.

Late homework will lose 1 point per hour.

Submitting your homework:
You need to submit three things to django.music.cs.cmu.edu (instructions here).
-Your text description, named andrewid_hw4.txt
-Your lisp code, named andrewid_hw4.lsp
-Your resulting wav file, named andrewid_hw4.wav
Be sure to keep a backup copy of your work. Do not depend on the server.
Note: You may also use code from the class examples and from other students, but you should always acknowledge your sources. Also, when you reuse code, you should make sure that you are not simply recreating someone else's work. For this assignment, you should not use materials from CDs or the web.