Music Abstractions

Programatically Making Music with Clojure and Overtone

In this presentation I used the Overtone library for Clojure to live code a simple piece of generative music starting from the smallest building blocks of sound. This live coding demonstrates some of the basic principles of sound, as well as shows off how interactive development in Clojure can be.

The video of the presentation can be found here:

Music with Clojure and Overtone

All of the code used in the video can also be found on github here:

Overtone Music Abstractions Presentation

Additional Resources

The environment I used for this presentation is using Emacs with Cider as a Clojure IDE.

There’s a fair amount of setup involved in getting everything working, but it’s a lot of fun when you do. The github repo for this presentation includes some information on getting started with Overtone.

If you’d like to see another live demo of overtone, I very much enjoy Chris Ford’s Functional Composition presentation, which dives more into the process of making compositions rather than simply sounds.

If you’re looking for a simpler way to dip your toes into programmatic music, the SonicPi project aims to be “The Live Coding Music Synth for Everyone.”


Any questions, comments, suggestions about this post? Or anything else? Feel free to send me an email: TheErikSwanson@gmail.com.