CCRMA Winter 2000:

220b: Compositional Algorithms, Psychoacoustics and Spatial Processing


Feb 4:

Assignment #3 is out! and you can find it at the end of the lecture notes for class 5 (it deals with - surprise - cellular automata...). Due on Feb 11!

Jan 21:

Assignment #2 is out! and you can find it at the end of the lecture notes for class 3 (it deals with streaming...)

Jan 18:

IMPORTANT! there are two versions of CLM and we're still using the old one for this course (clm-1 as oppossed to the newer clm-2. The CCRMA web page points to the NEW one so don't follow that link to go to the clm manual. The correct manual for the system is here, as opposed to the newer version here... PLEASE pay attention, there are enough small differences to confuse you if you hit the wrong page!. The correct reference is now included in this page but there might be other pages with the wrong link...

* Course Description

This is the second course in the 220 series. It covers some basic sound synthesis techniques not covered last quarter (see 220a), algoritmic composition techniques, spatialization and some psychoacoustics. The course uses the CLM (Common Lisp Music) environment to create all sound examples and the Common Lisp programming language (in which clm itself is implemented) for all programming examples.

Common Lisp Music (CLM) is a public domain sound design language written on top of Common Lisp, currently running in Macintosh PowerPCs, Windows and several UNIX environments including SGI, Sun, NeXT and Linux.

* Lectures

Jan 4Additive, Wavetable and Modulation Synthesis, Simple FM
Jan 11Complex FM, CLM basics, the lisp LOOP macro
Homework 1: Modulation Song (due on Jan 18)
Jan 18Item Streams
Homework 2: Streaming using item streams (due on Jan 28)
Jan 25State Machines
Feb 1Cellular Automata
Homework 3: Cellular automata (due on Feb 11)
Feb 8Chaos
Feb 15More on chaos and fractals
Feb 22Spatialization
Feb 29Neural Networks, Digital Filters, Granular Synthesis
Homework 4: Flying Grains (due on March 7)
Mar 14Final Project Presentation
exact date may change...

Suplemmentary information and links, by Matthew Burtner.

See also some useful stuff from the 1998 220a's edition, by Randal.

Pointers to a previous year's Lisp Workshop pages by Juan Pampin:

* Course Materials

All course materials will be placed on-line in CCRMA's World Wide Web server (

The on-line clm distribution (source code, examples and so on...)

The on-line "CLM Manual".

* Emacs and XEmacs editor references

Emacs cheat sheet
the most commonly used commands
References materials
getting started, reference card, the complete manual in html and more...
XEmacs Home Page
the official home of the xemacs editor...

Suplementary texts

* Elements of Computer Music
F. Richard Moore, Prentice Hall, 1990
* The Computer Music Tutorial
Curtis Road, MIT press, 1996
* Musical Sound
John Pierce, Scientific American Books, 1990
* Computer Music: Synthesis, Composition and Performance
Charles Dodge and Thomas Jerse, Schirmer Books, New York, 1985

* Administrative Information

Music 220b meets Tuesdays 12:15 to 3:00pm (with a 10 minute break). Winter quarter only, in the Ballroom at CCRMA.

Units: The student may sign up for two or four units. Two units involves no project work, and the student is responsible only for completing the homework assignments. Signing up for four units implies at least six hours per week devoted to a project.

Homeworks: Assignments or homeworks are going to be posted on the course web site and are to be emailed back to a TA (to whom will be announced during class). The homework must include all materials necessary for the TA to be able to recreate the results (for example, a soundfile is not enough, the homework must include all code necessary to recreate the soundfile from scratch - ie: clm instruments used, programs, scripts, clm note lists, etc). All auxilliary files must be sent to the TA as MIME attachments. Homeworks are due one week after the class during which they were posted. A late homework will have a substantially lower grade than one submitted in time. Late homeworks will not be accepted after the last day of finals this quarter (Winter 2000).

Projects: The project may consist of clm work, independent study, research work or a small compositional project. Requirements for the project include a one-page proposal by the third week of the quarter (to be submitted through email to the TA), a project report due by the end of the quarter and an in-class demonstration on the last day of class. For projects which span multiple quarters, interim write-ups are required each quarter. The project report is due by the last day of finals at the end of the quarter (Winter 2000). If that deadline cannot be met, you may take an incomplete for the course and turn in your project sometime later in the year, provided your homeworks have been properly received.


a) Two Units:
The grade is based on homework (70%) and classroom participation (30%).
b) Four Units:
The grade is based on homework (40%), classroom participation (30%), and final project (30%).

Teaching Assistant: The TA's are Matthew Burtner (office hours will be [not yet defined]) and Unjung Nam (office hours will be [not yet defined]). Office hours for the instructor (Fernando Lopez-Lezcano) are Tuesdays from 3:30pm to 5:00pm. At all other times we can be reached by email.

Mailing list: We have a mailing list available for discussions, tips, tricks and general consultation. The address is "".

General Information: Feel free to browse through the "CCRMA User's Guide" which highlights the available facilities and how to best use them. The document also includes a link to the FAQ's (Frequently Asked Questions"... try to browse through them before asking questions....

©2000 Fernando Lopez-Lezcano. All Rights Reserved.