Reading, Listening, and Code Resources

note: will be updated incrementally!


Weeks 1-2

Don Norman, "Designing for Error" from The Design of Everyday Things
Don Norman, "The Seven Stages of Action: Seven Fundamental Design Principles" from The Design of Everyday Things
Don Norman, "The Design of Everyday Things: 1988-2038" from The Design of Everyday Things
Miller Puckette, "Max at Seventeen" from Computer Music Journal 26(4)
Simon Emmerson, "Losing Touch? the human performer and electronics" from Simon Emmerson (ed) Music, Electronic Media and Culture

first work for analysis: Mario Davidovsky, Synchronisms #1

Mario Davidovsky, Synchronisms #1 (published score)
Max patch to run Synchronisms #1 by Andrew May (sound files by Davidovsky)

Mario Davidovsky, Synchronisms #1 for flute and tape; live recording by Elizabeth McNutt


Click here to get code from 1/24/2014 class, cleaned up and annotated; you may use this or not use this in your metronome project.


Week 3

Mari Kimura, "Creative process and performance practice of interactive computer music: a performer's tale"
Elizabeth McNutt, "Performing Electroacoustic Music: A Wider View of Interactivity"
Miller Puckette and Zack Settel, "Nonobvious roles for electronics in performance enhancement"
Marcelo Wanderley et al., "Gestural Control at IRCAM"
Sebastian Berweck, It worked yesterday: on (re-)performing electroacoustic music

second work for analysis: Philippe Manoury, Jupiter

Andrew May, "Philippe Manoury's Jupiter" from Mary Simoni (ed) Analysis of Electroacoustic Music
Philippe Manoury, Jupiter score (original manuscript)
Philippe Manoury, Jupiter software from Miller Puckette's Pure Data Repertory Project, with test samples by Elizabeth McNutt

Philippe Manoury, Jupiter recording from Elizabeth McNutt, pipe wrench: flute and computer


Click here to get code from 1/31/2014 class, cleaned up and annotated; includes circular buffers for max and pd, moving averages, moving lines, regression analysis, and low-pass filter for data.


Week 4

Richard Dudas, "Developing real-time systems"
Miller Puckette and Ted Apel, "Real-time audio analysis tools"
fiddle~, bonk~, and the newer sigmund~ are included in the Pure Data software; Max versions are on Ted Apel's CRCA page

third work for analysis: Richard Dudas, Prelude and Fantasy for alto flute and computer

Richard Dudas, notes on design and development of Prelude and Fantasy for alto flute and computer
Richard Dudas, Prelude and Fantasy for alto flute and computer score
Richard Dudas, Prelude and Fantasy for alto flute and computer software

Richard Dudas, Prelude and Fantasy for alto flute and computer

Click here to view live performance of Prelude and Fantasy performed by I-ju Chen


Click here to get code from 2/03/2014 class, cleaned up and annotated; you may use this combination pitch-tracker, score-follower, and cuelist-driver as the basis for your assignment.


Week 5

Arshia Cont, "Antescofo"
Arshia Cont, antescofo~: Max and pd versions, and MIDI score converter

further approaches to score following ... from your instructor

Andrew May, Chant/Songe for clarinet and computer: original time-based score follower
Andrew May, Chant/Songe: version using Arshia Cont's antescofo
Andrew May, A Room Full of Ghosts for piccolo and computer: 2012 version using antescofo
Andrew May, A Room Full of Ghosts: 2013 "emergency" version uses an operator-triggered qlist


Week 6

no readings this week ... we're focusing on patch design ...


Click here to get code from 2/14/2014 - 2/21/2014, revised and tested; the assignment for 2/28/2014 is on the front panel of the patch.

Click here to get updated beatbonkxer code from 2/26/2014, with urn bang (thanks, Seth), poly~ (thanks, Tim), adjustable-threshold version (thanks, Cort), and audio protection.


Week 7

readings: composer/programmers write about their designs, techniques and aesthetics ... possible inspiration for your own project plans?
Nick Collins, "An automated event analysis system with compositional applications"
Guy Garnett, "The aesthetics of interactive computer music"
William Hsu, "Using timbre in a computer-based improvisation system"
Andy Hunt and Marcelo Wanderley, "Mapping performer parameters to synthesis engines"
Garth Paine, "Interactivity, where to from here?"

fourth work for analysis: Cort Lippe, Music for cajon and computer

Cort Lippe, notes on Music for cajon and computer
Cort Lippe, Music for cajon and computer score
Cort Lippe, Music for cajon and computer software

Cort Lippe, Music for cajon and computer, Patti Cudd, percussion


Click here to get updated beatbonkxer code from 2/26/2014, with urn bang (thanks, Seth), poly~ (thanks, Tim), adjustable-threshold version (thanks, Cort), and audio protection.


Week 8

readings: approaches to timbre, improvisation, and interactivity
William Brent, "A timbre analysis and classification toolkit for pure data"
Agostino DiScipio, "'Sound is the interface': from interactive to ecosystematic signal processing
Pauline Oliveros et al, "Developing systems for improvisation based on listening"
David Wessel and Matthew Wright, "Problems and prospects for intimate musical control of computers
George Lewis, "Too many notes: computers, complexity, and culture in Voyager"


Click here to get code from 2/27/2014 - tools possibly useful for final projects, which will also be part of the state-machine project due after break.

Click here to get code from 3/07/2014 - further work toward the state-machine project, plus some fun math from Barry and Andrew's fifteen-minute teaching jam.


Week 9

Works for analysis

Andrew May, Ripped-Up Maps for solo instrument and computer (improvisation)
Russell Pinkston, e++ for flute, clarinet and computer: score and recording
Russell Pinkston, e++ for flute, clarinet and computer: software
Paul Wilson, Beneath the Surface for flute, clarinet and computer: score
Paul Wilson, Beneath the Surface for flute, clarinet and computer: software


Click here to get code and instructions for the state-machine project, to be due Monday 3-24-2014.


Week 10

Click here to get code from Richard Dudas and Cort Lippe's phase vocoder tutorials, slightly adapted in our class.
Dudas and Lippe, The Phase Vocoder - Part I
Dudas and Lippe, The Phase Vocoder - Part II
Click here to get Pure Data phase vocoder patches: two examples adapted from Miller Puckette's help file ... Roman Haefeli's fft-pitchshifter (the same trick will work in Max using tapin~/tapout~ instead of delwrite~/vd~) and a phase vocoder abstraction I made.


Click here to download a modularized version of Seth Shafer's control crossfader paradigm, including an event-rate oscillator and a version of the scaling router that includes a "glide time" feature.

Click here to download the spatializer from the 3/28/2014 class, plus other fun toys.


Week 11

Click here to get code from 3/31/2014 class, tidied up a bit; selects and plays (at a delay) the best match of previous bonk "hits" based on level and spectra (scalable). Turns out these are not very good matching criteria; if we do this with all the raw data, we *might* emulate the performance of Miller's matching algorithm ... or not ...

Click here to get code from 4/2/2014 class, tidied up a bit; examples of techniques for audio tracking, data storage and retrieval.


Week 12

Work for analysis

Russell Pinkston, Lizamander for flute and computer: score and recording
Russell Pinkston, Lizamander for flute and computer: software


Click here to get code from 4/7/2014 class, tidied up a bit; the same granulator as the state-machine patch used, but with added features of a resonant low-pass filter and a selector for the buffer to use ... and no more "auto-correction" of read position ...

Click here to get an even cooler granulater provided by Joseph Lyszczarz, using the "node" UI object to control probability of playing from any of 4 different samples