This term is no exception, and in fact we're pretty excited about the area we will be focusing upon this semester. We have managed to embed our RTcmix music programming language inside the popular Unity game engine used to develop games and virtual-reality/augmented-reality (VR/AR) applications. This gives us the capability to employ advanced real-time synthesis, signal-processing and algorithmic compositional capabilities in a robust game/VR-AR environment. THIS IS REALLY REALLY COOL!
It's also very very new, and we'll be making a lot of this up as we go along. We're not going to assume any deep familiarity with RTcmix or Unity at all, nor will we expect that you've done a lot (or any) programming in your past (although a little familiarity with coding will help). Unity itself is designed for non-coders to use, and we believe that it will be possible to develop interesting apps without extensive a-priori knowledge.
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 several special guests 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 run it in pd, but the object uses an older version of RTcmix). Using this approach is also a good way to develop audio outside the game environment, making it much easier to tweak and hone musical parameters of the audio you'd like to use.
If for some reason it turns out to be insanely easy (instead of just INSANE) to cover all the ground we have planned, we may show how to use RTcmix in the OpenFrameworks environment, too. OpenFrameworks can also be used to develop VR/AR applications, but it's a little more intensive.
I think you will also need the
Xcode/iOS Developer Tools
installed for Unity, but I'm not sure. It's a good idea to get
these. Also, as implied by this last statement, we will be working
on Macintoshes running OSX. Unity also runs on Windows, but the
RTcmix port to Windows is not complete. Ditto for Linux, although
RTcmix does run 'standalone' on Linux machines.
Collected here are links to software that we will be using in class:
You may sign up studios and machines for doing your work at the CMC using our new sign-up system. We do these using the Google Calendar app available through your Columbia cunix account (i.e. Lionmail). You will be receiving an invitation 'join' the relevant room calendars after the class starts. We'll be demonstrating how to use the system to reserve room times in class.
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!
Do let us know if you are having problems getting equipment or
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.
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.
In general, 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:
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!