Music 680: Special Topics in Music Theory (Spring 2006) - Programming for Sound Synthesis
University of Wisconsin-Milwaukee
Wednesdays 4:30-7:10 pm, Music B40
Instructor: Christopher Burns
email: cburns at uwm dot edu
office: Music 367
office hours: Monday afternoons, 2-4 pm or by appointment

Course description: Study of the acoustics, mathematics, and programming techniques required to synthesize digital audio "from scratch" with the Common Lisp Music and Pd environments. Consideration of aesthetics and compositional technique, including study of historical and current repertoire composed with these methods. Students will complete short programming and composition assignments and a final creative project.

This course is listed for credit towards the Digital Arts and Culture Certificate Program.

Prerequisites: Open to juniors, seniors, and graduate students in the Music Department and the DIVAS program; others admitted by consent of the instructor. Prior experience with programming is not required.

Grading policy: Semester grades will be determined in accordance with the following priorities.
Participation 15%
Assignments 40%
Final project 45%
Attendance is required; students who miss three or more class meetings will receive reduced grades.

Course materials: Listening assignments (scores and recordings) for the course will be on reserve in the Music Library; readings are available via electronic reserve. (Computer Music Tutorial and Microsound are both authored by Curtis Roads and published by MIT Press). The Common Music and Pd software environments are freely available and may be downloaded from commonmusic.sourceforge.net and crca.ucsd.edu/~msp respectively. The Common Lisp Music and source code are available at ccrma.stanford.edu/software/clm. The course website is at www.uwm.edu/~cburns/680-spring-2006 and will include lecture notes, code resources, and longer explanations of the weekly assignments.

Course schedule:
January 25: course introduction
topics:
basics of acoustics and digital audio
introduction to LISP
history of Music N synthesis languages, the unit generator concept
reading:
Computer Music Tutorial "Digital Audio Concepts," pp. 5-48
lecture notes
assignment 0:
get started with Lisp!
February 1: additive synthesis
topics:
fourier synthesis / bandlimited waveforms
amplitude and frequency envelopes
synthesis parameters derived from analysis, algorithmic generation of synthesis parameters
non-sinusoidal oscillators
UPIC as a form of additive synthesis
introduction to CLM
listening:
James Tenney For Ann (Rising)
Brigitte Robindore L'Autel de la Perte et de la Transformation
Julio Estrada Eua-on
reading:
Computer Music Tutorial "Additive synthesis," pp. 134-156
lecture notes
sample additive synthesis code
assignment 1 (due February 8):
code an additive synthesis instrument in CLM which can provide an arbitrary number of oscillators
February 8: wavetable synthesis
topics:
introduction to Pd
sampling-rate conversion, DAC waveform reconstruction, linear interpolation, sinc interpolation
looping short wavetables, complex loop construction for samples
soundfile playback
listening:
Paul Lansky Table's Clear
Bill Schottstaedt Wait For Me!
Lukas Ligeti Delta Space
reading:
Computer Music Tutorial "Sampling," "Multiple Wavetable Synthesis," "Wave Terrain Synthesis," pp. 115-133, 157-167
code resources
class interactive file
assignment 2 (due February 15):
new: scheme up a technique for generating additive synthesis data algorithmically, and compose a short etude using that method
[old: code a sample-playback instrument in Pd with time-variant looping]
February 15: subtractive synthesis
topics:
filter types: highpass, lowpass, bandpass, notch
filter parameters: passband, stopband, transition region; bandwidth / Q relationship
filter sources: analog-style waveforms, sample playback
time-variant filters
listening:
Luciano Berio Momenti
Milton Babbitt Philomel
Pauline Oliveros I to IV
Paul Lansky Night Traffic
Anthony Braxton [with Richard Teitelbaum] Open Aspect #3
reading:
Computer Music Tutorial "Subtractive synthesis," pp. 184-212
code resources plus butterworth.cl and moog.lisp from the CLM-3 distribution
class interactive file
assignment 3 (due March 1):
compose a short piece using the CLM environment and any of the synthesis techniques covered so far
February 16: special event - Alvin Lucier at Milwaukee Art Museum, 6:15 pm
February 22: no class meeting - rescheduled for February 16
March 1: modulation synthesis I
topics:
ring modulation, amplitude modulation, single-sideband modulation, frequency modulation
listening:
Karlheinz Stockhausen Mantra
reading:
Computer Music Tutorial "Bipolar and Unipolar Signals," "Ring Modulation," "Amplitude Modulation, "Frequency Modulation," pp. 213-236
code resources
assignment 4 (due March 8):
new: create a complex (multi-operator) modulation instrument in CLM
[old: create a complex (multi-operator) modulation instrument in Pd]
March 8: modulation synthesis II
topics:
time-variant fm
Chowning's recipes for spectral modeling, Schottstaedt's recipes for oscillator configurations
listening:
John Chowning Stria and Phoné (quadraphonic playback in class)
reading:
Computer Music Tutorial "Multiple-Carrier FM," "Multiple-Modulator FM," and "Feedback FM," pp. 237-251
John Chowning, "The Synthesis of Complex Audio Spectra by Means of Frequency Modulation," Journal of the Audio Engineering Society vol. 21 no. 7 (September 1973), pp. 526-534
code resources: Pd basics, Pd frequency modulation, Pd complex FM
assignment 5 (due March 15):
implement one of Chowning's instrument simulations as a Pd or CLM instrument
March 15: granular synthesis
topics:
synchronous and asynchronous granulation
synthetic and soundfile granulation
frequency-domain effects of granulation
listening:
Curtis Roads Sonal Atoms
Matthew Burtner Fern
John Oswald Dab
Maja Ratjke Octo
reading:
Microsound "Granular Synthesis," "Varieties of Particle Synthesis," pp. 85-178
code resources: grani.ins
assignment 6 (due March 29):
compose a short piece using the CLM environment and granular synthesis
March 22: spring break
March 29: signal processing
topics:
delay-based effects: echo, flanging
sampling-rate conversion on delays: pitch-shifting, chorus
delay and filtering
listening:
Kaija Saariaho Pres
Brian Ferneyhough Time and Motion Study II
reading:
Computer Music Tutorial "Basic Concepts of Signal Processing", pp. 387-448
code resources: CLM, Pd
assignment 7 (due April 5):
create a delay-based "effects processor" of your own specification using Pd
April 5: signal / spatial processing
topics:
global reverberation
early reflections
impulse response synthesis
listening:
William Kleinsasser Double Concerto
reading:
Computer Music Tutorial "Sound Spatialization and Reverberation", pp. 449-492
code resources: CLM, Pd: schroeder.pd, allpass.pd, comb.pd
April 12: spatial processing
topics:
constant-power panning
Doppler shift simulation
reverberation and localization
listening:
Luigi Nono A Pierre. Dell'Azzurro Silenzio, Inquietum
Fernando Lopez-Lezcano iICEsCcRrEeAaMm (quadraphonic playback in class)
Olga Neuwirth Instrumental-Insel II aus "Bählamms Fest"
reading:
John Pierce, "Hearing in Time and Space," in Perry R. Cook, ed., Music Cognition, and Computerized Sound (Cambridge: MIT Press), 2001, pp. 89-104.
code resources: Pd, CLM, Pd octophonic playback
additional code: hrtf.ins, HRTF data, diffuse-map.lisp, fir-coeffs.lisp
final project proposal (due April 19):
a> write a composition using CLM and/or Pd and the synthesis techniques covered in the course
b> implement a complex synthesizer or signal processor in CLM or Pd and demonstrate its function
compositions and demonstrations will take place at the Electroacoustic Salon, May 18, 7:30 pm
April 19: physical modeling
topics:
Karplus-Strong synthesis, waveguide synthesis
listening:
Chris Chafe Transect
Interface [Dan Trueman & Curtis Bahn] sphism
Matthew Burtner s-morphe-s
reading:
Computer Music Tutorial "Physical Modeling Synthesis," "Source and Paramteter Analysis for Physical Modeling," and "Karplus-Strong (Plucked String and Drum) Synthesis," pp. 263-296
code resources: CLM: strategies and tricks, pluck.ins, flute.ins, piano.ins, strad.ins, singer.ins, prc-toolkit95.lisp
April 26: spectral modeling
topics:
windowed analysis
oscillator resynthesis
residual analysis and modeling
listening:
John Oswald/Grateful Dead Cease Tone Beam
Arturo Parra/Francis Dhomont Sol y sombra... L'espace des spectres
reading:
Computer Music Tutorial various sections pp. 534-577
Microsound "Windowed Analysis and Transformation," pp. 235-300
code resources: CLM
May 3: algorithmic synthesis
topics:
algorithmic generation of synthesis parameters
GENDYN as a instance of an algorithmic synthesis technique
feedback systems as algorithms
listening:
Agostino Di Scipio Audible Ecosystemics n. 2 (Feedback Study)
Thomas Gaudynski Rock
Iannis Xenakis s.709
reading:
Computer Music Tutorial "Waveform Segment Techniques,""Stochastic Waveform Synthesis," pp. 317-329, 338-345
code resources: CLM: stochastic.ins, Pd: waveshaper.pd, compressor~.pd, randomwalk.pd, peak-waveshape~.pd
May 10: course wrap-up
May 18: Electro-acoustic Music Center Salon #20, 7:30 pm - final project presentations