Musical Overtones

I’m starting to play with a new tool I heard about on a FLOSS Weekly episode: Overtone. It’s an open-source audio environment for programmatically generating music.  Now, I’ve got a decent grasp of musical theory, and I can sing very well, but my weak spot as a musician has always been that I don’t put in the time/effort into learning a musical instrument necessary to become proficient at it.  It’s not just musical instruments, though: I don’t put in the time/effort necessary to develop the hand-eye coordination necessary to be proficient at video games, so I find them difficult and frustrating.

Overtone, on the other hand, leverages a skill set that I’ve spent years upon years honing: programming.  If I could write programs that play music, then I could finally produce musical output some other way than singing. By myself. A capella.

So far, I’ve managed to get Overtone (and all its requirements like Clojure and SuperCollider) installed and producing sound.  Now I’m setting out to find more documentation on how Overtone works so I can hack out some music with it.  It’s an interesting exercise, learning a programming language solely to be able to produce music. Fortunately, Clojure is a dialect of Lisp, and I had a class back in college that covered Lisp, so I’m already familiar with the basic concepts.  Unfortunately, the way Lisp works, where everything is an expression and all operators are postfix, is very foreign to my raised-on-procedural-languages mind.  I’m looking forward to some frustrating hours ahead as I wrap my brain around it.