Computer Music II

Columbia University
Spring, 2013 -- G6611Y
Brad Garton and Nina Young

course syllabus
general resources

It seems that the Geist that is in the Zeit these days is 'interactive performance', so we thought we'd chase an aspect of it during the class this term. In the ancient past, this class was a continuation of Computer Music 1 (G6610X), but that is no longer true. Our advanced computer music seminars are now relatively independent and topic-oriented.

We have offered a number of recent classes that engage the concept of performance-interactivity. To be sure, it is now a major component of our introductory courses. The challenge we face in this class is to approach interactivity from a different perspective; one that hasn't been thoroughly investigated in the other CMC courses.

With that in mind, we are planning to explore the interaction between performers and on-going processes, or semi-autonomous musical procedures instantiated in software. We will also consider how various hardware interfaces can connect with these software processes. To a certain extent, this will build upon some of the algorithmic music concepts we covered in last term's Computer Music 1 class, but it is not necessary that you have taken that class to participate in this seminar. We'll be saying more about exactly what we mean by "interactive processes" as the semester progresses.

We do plan to get into a bit of programming, mainly using the Max/MSP music development environment (and some add-ons we have developed here), but our trail into any software-hacking will be marked by musical objectives. Don't worry if you haven't done any coding before, our intention is to unpack the design and development of interactive processes in such a manner that it will be IMMEDIATELY CLEAR AND WONDERFUL for all of you. Seriously, we plan to spend a lot of time going through how things work and developing examples in class of the techniques we discuss.

As always, we'll also have a couple of special guest-stars coming into the class as the term progresses. Stay tuned for partciular info about them. They will be listed on the course syllabus as soon as things get set.


Class meets on Tuesdays in 320H Prentis from 5:30 to about 8 or so. We will be making a few assignments throughout the term, mainly to reinforce class lessons. Hopefully some of the assignments may lead to your final projects for the class (see below).

Here are a few links to software that we probably will be using in class:

We will be concentrating on the specifics of these languages, but if you are more comfortable working with another music programming environment (perhaps pd or maybe ChucK or Csound) you are welcome to use it for your project. Some of the concepts we cover should be transportable. Also, check the resources page for links to additional software and development resources. We'll be adding links to information and class examples on the course syllabus as the term progresses.


Nearly all of the CMC studios and hardware resources are available for you to use. If you prefer to work on your own computer using applications you know, that's perfectly fine. Otherwise you may sign up studios and machines for doing your work at the CMC using our on-line signup system. If you are having trouble getting access to the hardware or software you need, please let us know. The CMC is intentionally in a state of perpetual flux, reflecting the rapid evolution of the field of computer music. Our primary guide for the kinds of hardware and software investments we need to make comes from you, our happy students!

Please let us know if you are having problems getting equipment or software to work for you. In general, if you are having difficulty understanding the programming paradigms we are using or the applications and information we are covering. be sure to talk to us. We'll be happy to sit down and work through any issues with you.


The course syllabus is located here.

Each week we do will become a link to information relating to that class. We'll try to keep up with linking in class patches, examples and information, but we may fall behind. Yell at us when we do.

Contact Information

The best way to reach us is through e-mail: I will also be holding semi-official office hours from 10:30 AM-12:00 noon on Wednesdays in Dodge (my Dodge office is room 807). I will also usually be around before or after class. In addition to being around the CMC on Tuesdays, Nina will be available by appointment for informal "lab" sessions. We also started something last year that has proven to be very useful for a number of students. Each Tuesday afternoon, starting about 4 PM, CMC-people will be available in room 320H for questions and assistance with individual coding problems. We call these our "CMC Hack Sessions".

It's always a good idea to make an appointment to see me, even during my purported office hours, because I often have to run around campus like a maniac doing strange, computer-music stuff. If you need to contact someone at the CMC or Music Department using your actual voice, the relevant phone numbers are:


Grades will be based mainly on the projects you do, and of course they will be completely subjective and based on our own personal whims -- so ya better treat us right! We will discuss projects as the semester progresses. As noted above, we will be making some assignments throughout the term, and we will be discussing these in class. It'a always fun to see what you all can do.

I say this every year, and generally people believe it (I think): by this point in your career the last thing you should be worrying about is a grade. The main thing is to find something that you'd really like to do and then do it. Please don't try to impress us with your consummate knowledge and skill, we are more impressed by people who do things. Honest!

Hope you enjoy the class!