Notes & Code as I attempt to figure out overtone.
Clojure JavaScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


# explore_overtone

Just exploring overtone and taking some notes.  Mainly for me to be
able to come back & figure this out if I ever get distracted by other

## Usage

Use at your own risk.  Most files are meant to be used standalone via
the REPL.  Overtone is a dynamic project and sometimes older code may
not work any more.  Let me know if you have any questions.

## License

Copyright (C) 2012 Roger Allen.

Distributed under the Eclipse Public License, the same as Clojure.

# Results so far...

There are more half-baked ideas in the repo, but these are some of the highlights.

* Monotron clone

  Makes somewhat interesting electronic beeps and also can be
  controlled via TouchOSC iPad/Android App.

* Guitar

  A derivative of this code has found its way into Overtone!  See

* Ambient Piano via Pi

  Further explorations on this theme are being developed here

* Drawing a random Maze & using it to create a composition.

  Maze code from "Clojure Programming" Chapter 3.

* Drawing sequences with Quil, playing them with Overtone

* A Variable-Rate Metronome

  Who would have thought that musical tempo involved calculus & differential equations?

* A bit of "Take 5" to see how the piano & cello sound from oversampler.

# Questions & Answers

For questions about Overtone, etc. that need code and confused me at the beginning, see:

I'll write down questions as I think of them.  Answers as I get to them.

* where to understand the basics of Clojure?

  Nice intro for me:

  Looks like a nice, more detailed resource:

  I've got the O'Reilly book "Programming Clojure" on the way...

  UPDATE: found a bug!  See

* how do I get a standalone SuperCollider for server mode? is fine to start with, but eventually you'll want
  more/better ugens.

  download from
  1) main app -- install normally
  2) extra plugins -- apparently on the mac it goes to...
     ~/Library/Application Support/SuperCollider/Extensions/

* how do I increase SuperCollider's memory allocation?


Jeff Rose suggests: it is running out of real-time allocated RAM.  (It
looks like the default amount of RAM is really low, only 8 megs or
so...)  Inside an SC window I ran this:

s.options.memSize = 655360;  // e.g., could be different for you

* other resources to look at:

  Supercollider Links

  Abc4j? for display of notes?


  Found this
  what's the difference?

  Haskell School of Music

* how do I try the latest code?

  Just clone the github project & use lein...

  git clone git://
  cd overtone
  lein deps
  lein repl

  (use '
  (definst foo [] (saw 220))

  You can also fork the code & use that.  Follow github instructions
  on forking and setting your upstream properly.  Then

  git fetch upstream
  git merge upstream/master

* how do I use the latest code in my own project?

  cd ...local path to your.../overtone
  git fetch upstream
  git merge upstream/master

  You need to update the jar file for use locally.
  lein clean
  lein deps
  lein install
    Created .../overtone/overtone/overtone-0.X.X-SNAPSHOT.jar
    (where 0.X.X is a placeholder for the latest version)

  cd .../explore_overtone/
  edit project.clj to use the "0.X.X-SNAPSHOT" version

  Afterwards, just use lein normally.
  lein clean
  lein deps
  lein repl