git clone 'https://github.com/overtone/overtone.git'

(ql:quickload :overtone.overtone)

         _ooooooooo._                                     888
      ,o888PP""""PP88   .d88b.  888  888  .d88b.  888d888 888888 .d88b.  88888b.   .d88b.
    d88P''          '  d88""88b 888  888 d8P  Y8b 888P"   888   d88""88b 888 "88b d8P  Y8b
  ,88P                 88    88 Y88  88P 88888888 888     888   88    88 888  888 88888888
 ,88                   Y88..88P  Y8bd8P  Y8b.     888     Y88b. Y88..88P 888  888 Y8b.
,88'                    "Y88P"    Y88P    "Y8888  888      "Y888 "Y88P"  888  888  "Y8888
d8b                        88[
`88                       J88
 Y8b                     ,88'
  Y8b.                  d88'
   `Y8b._            _o88P

Collaborative Programmable Music.

Overtone is an Open Source toolkit for designing synthesizers and collaborating with music. It provides:

Quick Start


    # Install the clojure-cli tools
    # https://clojure.org/guides/getting_started

    # Create a deps.edn file with a minimum
    # {:deps {overtone/overtone {:mvn/version "0.10.6"}}}
    $ clojure
    $ (use 'overtone.live)
    # Or install leiningen
    # https://github.com/technomancy/leiningen

    $ lein new insane-noises

    # add the following dependencies to insane-noises/project.clj
    # [org.clojure/clojure "1.9.0"]
    # [overtone "0.10.6"]

    $ cd insane-noises
    $ lein repl

Making sounds

    ;; boot the server
    user=> (use 'overtone.live)

    ;; listen to the joys of a simple sine wave
    user=> (demo (sin-osc))

    ;; or something more interesting...
    user=> (demo 7 (lpf (mix (saw [50 (line 100 1600 5) 101 100.5]))
                   (lin-lin (lf-tri (line 2 20 5)) -1 1 400 4000)))

Detailed Instructions

For a more detailed set of setup instructions (including details specific to Windows and Linux) head over to the Overtone wiki installation page

We maintain documentation for all aspects of the system in the project wiki, you'll find tutorials and examples on topics such as synthesizing new sounds from scratch, live-coding and generating musical scores on the fly. If you see anything missing, please feel free to add it yourself, or hit us up on the mailing list and we'll sort something out.

Cheat Sheet

For a quick glance at all the exciting functionality Overtone puts at your musical fingertips check out the cheat sheet:


Overtone Powered Bands

A list of bands using Overtone to generate sounds:


Mailing List

We encourage you to join the mailing list to see what other people are getting up to with Overtone. Use it to ask questions, show off what you've made and even meet fellow Overtoners in your area so you can meet up for impromptu jam sessions. All we ask is that you be considerate, courteous and respectful and that you share as much of your code as possible so we can all learn how to make crazy cool sounds together.


Follow @overtone on Twitter: http://twitter.com/overtone


Our main website is hosted on GitHub: http://overtone.github.io



Head over to Vimeo for a fast-paced 4 minute introduction to live-coding with Overtone to see what's possible


For a nice overview of the basics of creating and playing with synthesized instruments in Overtone checkout Philip Potter's 20 minute workshop:


Chris Ford also delivers a beautifully paced introduction to fundamental music concepts from basic sine waves to Bach's Goldberg Variations with live examples throughout:


There are also the following tutorials:



Overtone has generated quite a bit of interest. Here's a list of available interviews which go into further depth on the background and philosophy of Overtone:


Source Repository

Downloads and the source repository can be found on GitHub:


Clone the repository on GitHub to get started developing, and if you are ready to submit a patch then fork your own copy and do a pull request.

clojure.tools.deps and Leiningen Support

Overtone and its dependencies are on http://clojars.org, and the dependency for your deps.edn is:

    {overtone/overtone {:mvn/version "0.10.6"}}

or for your project.clj (Leiningen)

    [overtone "0.10.6"]


See: https://github.com/overtone/overtone/graphs/contributors