Writing code for music may still seem a remote notion to the vast majority of even geekier digital musicians, but as exemplified by the language Overtone, it looks very different than coding once did. Whereas sound code was once a type-and-render affair, new coding environments focus on live coding. They use elegant, lightweight modern languages that take up less space. And they can be surprisingly musical, coming remarkably close to just typing “play a c major chord.”

Not to say that you won’t look plenty geeky doing it — but, hey, if you can’t impress slash frighten your friends a little…

Using a brew of powerful free and open source tools, all available via GitHub and running here on the Mac (though any OS will work), contributor Sam Aaron walks through the program at top and demonstrates some musical examples. After the jump, a much longer screencast walks you through how to get up and running with the emacs text editor for live coding.

Key ingredients:
overtone @ github
emacs live coding @ github
supercollider for sound production
clojure, the language, modern dialect of lisp

Features, as described by the creators:

Overtone is a toolkit for creating synthesizers and making music. It provides:

  • a Clojure API to the SuperCollider synthesis engine
  • a growing library of musical functions (scales, chords, rhythms, arpeggiators, etc.)
  • metronome and timing system to support live-coding and sequencing
  • plug and play midi device I/O
  • simple Open Sound Control (OSC) message handling

Note the MIDI support — code, like many other things on the computer, isn’t very tangible. But you can quickly go to MIDI or OSC for some hands-on control of what you’re making. I have to say, some of this is quite a lot easier and less abstract than what you see in a Max/Pd-style environment. We’re blessed to have such choices in music making. Let us know if you try it out.

More videos and screencasts from this Cambridge-based artist:
Sam Aaron on Vimeo

CDM’s Matt Ganucheau contributed to this story in San Francisco.