INTERACTIVE MUSIC COMPOSITION
1:00-4:10 Tuesday Thursday
Thanassis Rikakis, than@music.columbia.edu
BULLETIN DESCRIPTION
The course instructs students in the realization of interactive sound compositions through the MAX/MSP software package. Digital sound processing, digital sound synthesis, algorithmic processes and controllers necessary for the creation of these works will also be covered. The course combines lectures and hands-on lab sessions for instruction. Students use the Computer Music Center studios to realize their works
FULL DESCRIPTION
Students learn to program their own, real-time, music composition and analysis tools (software based sequencers, synthesizers, samplers, editors, mixers, composition tables etc). They also learn to program compositional algorithms for the synthesis and production of many different styles of music. The environment used (MAX/MSP) is an object oriented, graphically controlled environment. MAX/MSP is an ideal environment for receiving and manipulating continuous external control data. Thus it is ideal for receiving data from external controllers, movement tracking and motion capturing devices, dynamically evolving graphics tables etc. Algorithmic procedures can be used for the real time control of both digital sound and image. Having completed the course students are able to create compositions where performers (musicians, dancers, visual artists, actors) can interact in real-time with the computer for the creation of a composition/performance
REQUIREMENTS
Weekly assignments (40%), Final project (40%), Class/Lab participation and attendance (20%)
Students should be prepared to spend at least 8 hours a week in the studios realizing their programs and compositions. Electronic, on-line, sign-up sheets for the studios are available.
TENTATIVE SYLLABUS
Readings are in Italics.
Class 1
Welcome - MIDI fundamentals; Roads: 97-1004; fundamentals of a computer music system; combining MIDI, signal synthesis / processing and sampling; What is MAX/MSP; Anatomy of a musical note; Campbell 5-164, Basic concepts in digital sound; Roads 11-63, Realizing basic sounds in MAX (object box, message box, number box, bang, metro, makenote, qtmusic);
Class 2
Realizing basic sounds in MSP (cycle~, amplifier, line~, dac~, ezdac~, start/stop messages, simple wave, complex wave, phasor~ and noise~ objects); Getting help in MAX and navigating the help system and documentation; introduction to working in our studios; defaults for patches (loadbang); Various controllers in Max, Doing math in Max, Making decisions in MAX; (sliders, dials, speedlim, operators, signs, random, select, gate, switch, Ggate, Gswitch, route, trigger, pack unpack); Messages in MAX (comma, semicolon, $, \, set, append, prepend);
Class 3
Storing numbers in MAX, number groups, tables, histograms (int, float, accum, split, iter, swap, table, histo, TogEdge); sending and receiving without patchchords (send-receive); using timers in MAX (clocker, counter, line, tempo); using delay lines in Max (pipe, delay);patchers/subpatchers in MAX and in MSP (inlets-outlets in MAX and MSP, creating you own object, supplying arguments to objects).
Class 4
importing sound to the Mac; exporting sound from the Mac; burning CDs; More on sound synthesis in MSP, importing sounds into MSP, playing back sound in MSP; Creating your own sampler/sequencer in MAX/MSP; (loading files to buffers, gates in MSP, sliders in MSP, sig~, selector~, begin~, mute~, pccontrol, variable length wavetable, index~, play~, groove~, wave~, sfplay~); getting input from the mouse and the keyboard (ascii characters, key, numkey, MouseState);
Class 5
Data structures in MAX (coll, preset, menu, detonate); Manipulating and experimenting with lists in MAX; Writing sequences of numbers without loops and without using random; complex additive synthesis in MSP (combining tones, function, function tables); Fourier Transform for musicians; Roads:535-566 (really optional: 1075-1112);
Class 6
Filters, Digital filters; Roads: 185-197 (optional: 399-419); Filters in MSP (reson~, loreson~, comb~, biquad~--filtergraph~); Score following and other performance following approaches (fiddle~; bonk~; envfol1~; simple fft~ tricks);
Class 7
Frequency Modulation (FM) theory and other modulation techniques (AM, waveshaping) Roads 213-236; Modulation synthesis in MSP; AM, FM, waveshaping; Expressions and If statements in MAX; Repertory(Jupiter/Pluto; Synchronism no 9; Lemma II, Movement Study II, I am dying; Orizonte, FEQ)
Class 8
Presenting your final project
READINGS (all readings are on reserve in the Music Library)
Roads, Curtis: The Computer Music Tutorial
Nevin Campbell: The guide of Musicians to acoustics
Winkler, Todd: Composing Interactive Music
Zicarelli, David: MAX/MSP manual
Video tapes (on reserve)
Puckette, Sorensen, Steiger: Lemma II
Siegel, Wayne: Movement Study II
Garton, Brad: I am dying
Massimo Magrini: Orizonte degli eventi
CDs (on reserve)
Manoury, Phillip: Pluto
Manoury, Phillip: Jupiter
Boulez, Pierre: Repons
Davidovsky, Mario: Synchronism no 9 for violin and electronics