Sound: Advanced Topics I



Columbia University
Fall, 2020-- GU6610
Brad Garton and Onur Yildirim

course syllabus


This promises to be an... "interesting" ... term. We will be teaching the course remotely, using Zoom for our class meetings. We'll be meeting each week Wednesday at 6:10 PM (Eastern Time), and hopefully the pedagogy won't suffer too much. I will be sending out the Zoom link to each class before the weekly meetings.

Every year we change the particular 'Advanced Topic' we'll be covering, and this year we're hoping to take advantage of the net-mediated world we now inhabit. Originally I had planned to teach algorithmic composition, or the use of computers by lazy, lazy composers to get the machines to do all their work for them (I stole that line from a previous algo-comp class I did, ha ha!). But the twist this time is that we will be doing it with an eye towards deploying the techniques we explore on the World Wide Web! And that's not all -- we're aiming towards next term when we bring the fun of the Unity VR/AR development engine; the final result will be, well, that will be up to you. I truly believe, however, that there is a HUGE untapped potential in all these things to create some amazing music/art.

So we'll be making this up a lot as we go along, plus we'll be moving very quickly over topics (like "algorithmic composition") that I have devoted an entire semester to investigating in the past. I will also be showing you a fair amount of coding, BUT don't be worried about it! Everything we do will be with a musical goal in mind, and I think you'll pick up what we're doing without too much trouble. If you are feeling totally befuddled, or even just a little befuddled, please get in touch with Onur or me. We're here to help!

I use the computer music language RTcmix for most of this work. It's a functional, procedural language and I think it does a nice job of showing how various compositional algorithms work. It runs as a standalone program (for free!) on Windows/OSX/Linux, or you can run it inside Max/MSP or pd (Pure Data) (pd is also free!). It also works as an 'embedded' feature inside things like the Unity VR/AR engine. Plus I wrote the language, so I know it pretty well.

Just to make sure you know: we also won't expect that you've done a lot (or any) programming in your past, although a little familiarity with coding will help. We will be doing a fair amount of programming in class, but I've found that it's not too difficult to learn, especially when you have a good reason to learn it.

Because the underlying framework we are using for the class is still in flux, you will need to stay on your toes as the semester progresses. We also have no idea if we can even cover one-tenth of the materials we have planned to cover, but hey, this is Columbia! Go Lions!

We'll also be having a special guest or two come to talk to the class during the term. The dates may shift slightly on the syllabus as we work out the schedule. We may also have to radically bend and stretch the syllabus to accommodate what we plan to teach. Thus you should think of the syllabus primarily as a rough guide to the term and not necessarily set-in-stone. We will, however, link all of the code, patches and projects to each class in the syllabus for you to download and use.

To demonstrate how RTcmix functions in an embedded environment, we will be using it initially as the [rtcmix~] object in Max/MSP. You can also use it in pd if you'd rather not shell out the $$$ for Max/MSP. Or you can run RTcmix as a free "standalone" app on OSX, Windows and Linux computers. We can show you how to set that up. John Gibson at Indiana University has built a nice interface-app called RTcmixShell that runs on Windows and OSX.


Structure

As mentioned above, class will meet via Zoom on Wednesdays from 6:10 PM to about 8:00 PM. We may make assignments throughout the term intended to get you working with the development tools and also to spur class discussion. Hopefully some of the assignments may lead to your final projects for the class.

Collected here are links to software that we will be using in class:

For our guest speakers, watch for announcements on the syllabus. As stated above, we may need to rearrange the classes as the term unfolds to accommodate these guests. Plus if we're getting totally behind, then we'll modify the schedule accordingly.


Facilities

The CMC studios will not be available for semi-public use until after October 1 because of the pandemic. Contact me or Onur if you'd like to have limited access after that point. Unfortunately the emphasis will be on "limited" for now. We expect that most of your work will be done on your own computer.

If you are having trouble getting access to the hardware or software you need, please let us know. We will try to work something out. Also, do let us know if you are having problems getting the software to work for you. This promises to be a more intense term because of the range of material we will be discussing. 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.


Syllabus

The course syllabus is located here.

Like we said, 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: We won't be havving "office hours"; use e-mail to make an appointment to talk with us via Zoom. If you need to contact someone at the CMC or Music Department using your actual voice, the relevant phone numbers are: I don't know how well-covered these phones will be in the Fall, however. Seriously, e-mail is best. We check it a lot.


Security and Access Policy

When we do open up the CMC for limited(!) access, you will need to abide by the Columbia regulations in place at that time for campus access. The information for this (and other Columbia/COVID-19 issues) is here:

Grades

Grades will be determined mainly on the final 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 may be making some assignments throughout the term and 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!