- 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