Music 206B Computer Assisted Composition

libyantawdryAI and Robotics

Oct 23, 2013 (3 years and 11 months ago)

78 views

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: howell@ucsc.edu

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



5. Markov composition



Lisp programs



Higher ordrs



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



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


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)