Computer Music II

Columbia University
Spring, 2012 -- G6611Y
Brad Garton and Bryan Jacobs

course syllabus
general resources

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 topic-oriented, and we generally choose a topic for the term that resonates with work we are doing or something that we feel might be good to explore. We wind up teaching what we like! This semester is no exception. Our plans this term are to delve into 'instrument design' with a particular emphasis on building software/DSP 'instruments' that are based upon an existing model. What does this mean? Well, we'll find out...

We do plan to get into a fair amount of down-and-dirty coding, but our trail into writing software 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 synthesis and signal-processing software 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 we also have several visitors working at the CMC this term who will be assisting us (i.e. you) in learning the techniques that we cover.

The class is also an excuse to teach how to use certain music programming languages. We'll be concentrating on three DSP development environments in this class: RTcmix, SuperCollider and the new Max/MSP [gen~] feature. Again, don't worry if you have no deep familiarity with these languages. The point of the class is to show you how they may be employed in your music. If you've never heard of any of these, this may not be the best class for you to take.

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. As before, 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, Bryan will be available by appointment for informal "lab" sessions. We may 'formalize' these sessions as the term progresses if there is enough interest.

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!