Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
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 things. ## 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 https://github.com/rogerallen/explore_overtone/blob/master/src/explore_overtone/monotron.clj Makes somewhat interesting electronic beeps and also can be controlled via TouchOSC iPad/Android App. * Guitar https://github.com/rogerallen/explore_overtone/blob/master/src/explore_overtone/guitar.clj A derivative of this code has found its way into Overtone! See https://github.com/overtone/overtone/blob/master/src/overtone/synth/stringed.clj * Ambient Piano via Pi https://github.com/rogerallen/explore_overtone/blob/master/src/explore_overtone/irrational_infinite_song.clj Further explorations on this theme are being developed here https://github.com/rogerallen/irso * Drawing a random Maze & using it to create a composition. https://github.com/rogerallen/explore_overtone/blob/master/src/explore_overtone/maze.clj Maze code from "Clojure Programming" Chapter 3. * Drawing sequences with Quil, playing them with Overtone https://github.com/rogerallen/explore_overtone/blob/master/src/explore_overtone/quil_display.clj * A Variable-Rate Metronome Who would have thought that musical tempo involved calculus & differential equations? https://github.com/rogerallen/explore_overtone/blob/master/src/explore_overtone/my_rhythm.clj * A bit of "Take 5" to see how the piano & cello sound from oversampler. https://github.com/rogerallen/explore_overtone/blob/master/src/explore_overtone/take5.clj # Questions & Answers For questions about Overtone, etc. that need code and confused me at the beginning, see: https://github.com/rogerallen/explore_overtone/blob/master/src/explore_overtone/qna.clj I'll write down questions as I think of them. Answers as I get to them. * where to understand the basics of Clojure? http://dev.clojure.org/display/doc/Getting+Started+for+Beginners Nice intro for me: http://moxleystratton.com/clojure/clojure-tutorial-for-the-non-lisp-programmer Looks like a nice, more detailed resource: http://java.ociweb.com/mark/clojure/article.html I've got the O'Reilly book "Programming Clojure" on the way... UPDATE: found a bug! See https://github.com/clojurebook/ClojureProgramming/issues/7 * how do I get a standalone SuperCollider for server mode? overtone.live is fine to start with, but eventually you'll want more/better ugens. download from http://supercollider.sourceforge.net/downloads/ 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? See https://groups.google.com/forum/?fromgroups#!topic/overtone/n0zzgY4Z2Vo 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.quit; s.options.memSize = 655360; // e.g., could be different for you s.boot; * other resources to look at: Supercollider Links http://sccode.org/ http://www.freesound.org/ http://theremin.music.uiowa.edu/ Abc4j? http://code.google.com/p/abc4j/ for display of notes? Impromptu? Found this http://impromptu.moso.com.au/tutorials.html what's the difference? Haskell School of Music http://haskell.cs.yale.edu/?page_id=276 * how do I try the latest code? Just clone the github project & use lein... git clone git://github.com/overtone/overtone.git cd overtone lein deps lein repl (use 'overtone.live) (definst foo  (saw 220)) (foo) 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