CCRMA logo

Linux Sound 2002:
Open Source Music Synthesis, Composition, and Audio Programming

instructor: Christopher Burns
resources: "http://www-ccrma.stanford.edu/workshops/linux2002/"

Course Description

The Center for Computer Research in Music and Acoustics (CCRMA) has been using the Linux operating system for music composition, synthesis, and audio DSP research since 1996. This workshop will cover the basics of sound synthesis, signal processing, and algorithimic composition, with an eye towards practical applications in the CLM and Pd programming environments, running on Linux. Additionally, the workshop will provide an overview of the most popular linux distributions, and a brief installation clinic with a specific focus on audio, midi and real-time performance.

Schedule

Monday, June 24
acoustics basics: the time and frequency domains
digital audio basics: sampling, quantization, and aliasing
synthesis with sinusoids I: additive synthesis, ring modulation
introduction to Pd: audio basics
iICEsCcRrEeAaMm / Fernando Lopez-Lezcano (1998)
Tuesday, June 25
introduction to Pd: messages, order of operations, abstractions
synthesis with sinusoids II: ring modulation, amplitude modulation, frequency modulation
instrument simulation: frequency modulation techniques
Study #21 for Player Piano / Conlon Nancarrow (1950s)
Mantra / Karlheinz Stockhausen (1970)
Phoné / John Chowning (1981)
Wednesday, June 26
introduction to Lisp: basic syntax
introduction to CLM: instruments and scores
frequency modulation review
spatialization I: panning and quadrophony
Thursday, June 27
algorithmic composition I: probability distributions
(see also "Random Values in Composition")
signal processing I: delays, filters
Advaya / Jonathan Harvey (1993-4)
Friday, June 28
signal processing II: filters
(see also the CLM Moog filter)
algorithmic composition II: state machines
Strain / Christopher Burns (1999)
Monday, July 1
Bill Schottstaedt: CLM history, architecture, etc.
granular synthesis
algorithmic composition III: cellular automata
(see also the Music 220b page about CAs)
Wait for me! / Bill Schottstaedt (1988)
Tuesday, July 2
signal processing III: chorusing, flanging
spatialization II: reverberation
(see especially the CLM port of freeverb)
Wednesday, July 3
spatialization III: panning, moving-source simulation
(see also dlocsig)
algorithimic composition IV: recursion
A Pierre / Luigi Nono (1985)
Thursdsay, July 4
physical modeling: Karplus-Strong, waveguides
Transect / Chris Chafe (1999)
Friday, July 5
spectral modeling: ATS
Points de Fuite / Francis Dhomont (1982)
Fernando Lopez-Lezcano: programming for ALSA

Images and visualizations

Example images
Visualizations of waveforms, synthesis techniques, etc.
Matlab code
Code for generating the images

Pd references

Pd documentation
the Pd online manual
Pd course examples
from daily lectures...

CLM references

Common Lisp Music
the CLM online documentation
CLM course examples
from daily lectures...
CLM instruments
Prebuilt instruments packaged with the CLM distribution
Music 220a and 220b
synthesis techniques and CLM instrument tutorials by Fernando Lopez-Lezcano
Common Lisp the Language (second edition)
the Lisp bible, by Guy Steele

Emacs and XEmacs editor references

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

Software installation resources

Planet CCRMA
audio-optimized kernels, audio and utility applications
uses "apt-rpm" for simplified package management

General information

Feel free to browse through the CCRMA User's Guide which describes the available facilities and how best to use them. The document also includes a link to the FAQ (Frequently Asked Questions) about the CCRMA computing environment. A relatively new guide to applications at CCRMA (especially those running in the Linux environment) is available at Planet CCRMA.

©2002 Christopher Burns, based on an earlier instance © 2000-2001 Fernando Lopez-Lezcano.