Music 2SI | Spring 2010

Introduction to Computer Assisted Composition Using Lisp Software

Mauricio Rodriguez and Juan Cristobal Cerrillo (Course Leaders)

Chris Chafe (Faculty Sponsor)

class wiki | lectures | assignments |

class: Th 3-5pm
location: CCRMA seminar room (the Knoll)
textbook: (recommended) Common Lisp: A Gentle Introduction to Symbolic Computation, by David S. Touretzky

course summary:

This student initiated course will focus on how to use, interact with, and create computer software dedicated to the generation, analysis and manipulation of musical data for compositional usage. Class discussion will center on modeling algorithms oriented towards the creation of compositional systems and musical analysis. The course uses PWGL , OpenMusic and LispWorks as programming languages for assignments and projects. The format consists of in-class discussions and lectures during the first hour, and an on-hands laboratory during the second. The overall approach of the course is to make discoveries by creating work in a collective, non-hierarchical learning environment.

This is our preliminary syllabus.

required software

  • homework #1 : OM loop
    • Complete our messy-ann patch so that the chords are expressed in a non-retrogradable rhythm.
    • Create a patch using omloop that produces the same output as the 'posn-match' box.
    • (Optional) see OM tutorials 15 and 16 to review omloop.

  • homework #2 : more work on messy-ann
    • Modify or recreate our messy-ann patch so that the Chord-seq output contains more than one type of chord structure.

  • homework #3 : even more work on mmmessy-ann
    • Modify mmmessy-ann so that you are able to specify for each voice: a starting time, a range, minimum pulse subdivision, etc...

  • homework #4 : Starting as a "Lisper"
    • Code your own version of the NTH-RANDOM function of the OM environment. Make sure your newly defined function will only accept lists or list of lists as input. Test the function under the OM package as we did in class with the random-value function.

CCRMA | Music Department | Stanford University