Music 206B Computer Assisted Composition

Music 206B
Computer Assisted
Composition
Arvo Pärt
Cantus In Memorium Benjamin Britten
(1977) for strings and bells
Music 206B
Computer Assisted Composition
David Cope
Spring 2008
Office phone: 831 459-3417
email: [email protected]
WWW: http://arts.ucsc.edu/faculty/cope/music206B.html
Office Hours: T/Th 2-4, Rm 292.
Computer Assisted Composition covers the basics of algorithmic composition as well as Lisp programming, music
and AI, pattern matching, sonification, neural nets, genetic algorithms, cellular automata, fuzzy logic, and
interactive systems.
This course meets Th from 4-7 in room 136 in the Music Center. Required Text: Cope, David. Computer Models
of Musical Creativity. Cambridge, MA: MIT Press. This book is available from the Baytree Bookstore. Final
projects will consist of 1) a short and intelligible paper; 2) well-documented code; 3) a tape of 4 or more
representative outputs - due at the final exam period (Thursday June 12, 8-11am).









1. History and Background
Definitions
Historical musical algorithms
LISP basics
2. Basics
Early programs
AI rudiments
Lisp functions
Sonification - random concepts
3. Music Representation and Programming
Hardware versus software
MIDI
Lisp recursion
Mathematics and music - statistics and
probabilities
4. Markov analysis
Lisp programs
State transition matrices


6. GAs and CAs
Genetic algorithms
GA logic
Cellular automata

7. Data-Driven programming
Patterns
Experiments in Musical Intelligence

8. Agents and Association
Association networks
Agents
Multi-agents

9. Learning
Gradus


5. Markov composition
Lisp programs
Higher ordrs

10. Other techniques
Neural Nets: basic concepts of the
black box
Hidden units
Training and back propagation
Fuzzy logic
Algorithm:
from
Greek word arithmós—number
Arabic word algorism—number series
meaning:
a set of rules for solving a problem in a
finite number of steps.
recipe
ranging from severe control
(bach)
to
almost no control
(Cage)
historically:
hardware algorithms
isorhythmic motets
figured bass
fugues
Musikalisches Würfelspiele
golden mean
serialism
indeterminacy
minimalism
Xenakis
Hiller
QuickTime™ and a
TIFF (U ncompressed) decompressor
are needed to see this picture.
QuickTime™ and a
TIFF (U ncompressed) decompressor
are needed to see this picture.
voice-leading/doubling/triad rules
are
algorithms
both
paper
and
computer
algorithms
Why computers?
faster
more accurate
Why programming?
Composing and Analysis
applications
harbor their creator's biases
The less bias the more apt you are to get
what YOU want.
Why Lisp?
great programming environment
IRCAM, Grame, CCRMA, CNMAT, MIT,
etc.
Lisp is:
(1) high level
(2) functional
(3) symbolic
(4) interpreted
(5) recursive
Programming Credo
Divide and Conquer
Lisp Credo
Simple is beautiful
(kiss)
Small is best
Readability is
@#$%^&* everything.
Note:
CL works on all
platforms
The standard manual
for CL is Steele:
Common Lisp: The
Language
Using a text for
reference:
A Gentle Guide to
Common Lisp
David Touretzky
(on class website)
Music from CL
Code on Website for
saving MIDI files.
To Save Music:
use Cope-events which are
(0 60 1000 1 127) where element
1. is ontime in 1000s of second
2. is midi note (60 = middle C)
3. is duration in 1000s of second
4. is channel (1-16)
5. is loudness (0-127)