Skip to content

Installing Overtone

Swapnil Chand edited this page May 22, 2024 · 5 revisions

Make sounding and music with Overtone is done by doing interactive programming inside a Clojure project. You evaluate (execute) snippets of code on the fly, to control what Overtone is doing. This is typically done from within a Clojure-aware editor, but can also be done directly inside a command line Clojure REPL.

To generate sound Overtone uses the SuperCollider sound engine under the hood, so you need that as well.

So to get started with Overtone you need

  • Clojure
  • SuperCollider
  • A Clojure project with the overtone/overtone dependency
  • An editor capable of starting or connecting to a Clojure REPL, for interactive programming.

Installing Clojure and SuperCollider, and initializing your project

Start by follow the instructions in the README. You should have

  • clojure and clj available (try which clojure or clojure --version)
  • scsynth available (try scsynth -v)
  • created a new empty directory, with a a file names deps.edn, containing the overtone/overtone dependency (the README will have the latest version number).
;; deps.edn
{:deps {overtone/overtone {:mvn/version "..."}}}

Setting up an editor

The Clojure site has a rundown of the most popular editors with Clojure interactive coding support. If you have a friend who already does Clojure, then this is a good time to reach out to them. Ask them what they use, and if they can show you their workflow. Watching some Overtone demos on YouTube can also help to figure out what to expect from an editor. The process of "doing Clojure" is more interactive than most popular programming languages, and so it's an important to have an editor that supports that, and to learn how to use that power.

What next?

Familiarise yourself with the process of Starting a REPL and Connecting scsynth then head over to Getting Started to learn how to make some radical sounds. If you want to run the latest and greatest development version of Overtone have look at Overtone on the Edge!