888
888
_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
d8P
d8b 88[
`88 J88
Y8b ,88'
Y8b. d88'
`Y8b._ _o88P
`Y888oo.____ooo888P'
'"PP888888PP''
Overtone is an Open Source toolkit for designing synthesizers and collaborating with music. It provides:
Install Java, since this is a prerequisite for Clojure
java -version
works and
shows you a version of 11 or higher you should be goodopenjdk-17-jdk
Install the Clojure CLI tools, see Install Clojure
rlwrap
if you can, without it clojure
will work, but clj
will not, and you won't have history and line editing in your Clojure REPLInstall SuperCollider, preferrably through your operating system's package manager (apt, yum, pacman, homebrew, chocolatey, etc.)
supercollider
everywheresc3-plugins
, then install that as wellAt this point you should have clojure
and scsynth
available.
$ clojure --version
Clojure CLI version 1.11.1.1413
$ scsynth -v
scsynth 3.13.0 (Built from '' [na])
Now you can add overtone/overtone
as a dependency, and start a Clojure REPL.
mkdir happy-vibes && cd happy-vibes
echo '{:deps {overtone/overtone {:mvn/version "0.14.3199"}}}' > deps.edn
clj
Clojure 1.11.1
user=>
;; boot the server
user=> (use 'overtone.live)
--> Loading Overtone...
[overtone.live] [INFO] Found SuperCollider server: /usr/bin/scsynth (PATH)
--> Booting external SuperCollider server...
--> Connecting to external SuperCollider server: 127.0.0.1:26325
[scynth] SuperCollider 3 server ready.
--> Connection established
;; 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)))
Run overtone.linter/emit!
to emit clj-kondo configuration.
Do not commit the generated files, it's a bunch of data.
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.
For a quick glance at all the exciting functionality Overtone puts at your musical fingertips check out the cheat sheet:
https://github.com/overtone/overtone/raw/master/docs/cheatsheet/overtone-cheat-sheet.pdf
A list of bands using Overtone to generate sounds:
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.
You can find us in the #overtone
channel on Clojurians Slack.
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:
http://skillsmatter.com/podcast/scala/clojurex-unpanel-2894
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:
http://skillsmatter.com/podcast/home/functional-composition
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:
Downloads and the source repository can be found on GitHub:
http://github.com/overtone/overtone
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.
Overtone and its dependencies are on http://clojars.org, and the
dependency for your deps.edn
is:
{overtone/overtone {:mvn/version "0.14.3199"}}
or for your project.clj
(Leiningen)
[overtone/overtone "0.14.3199"]
See: https://github.com/overtone/overtone/graphs/contributors
The MIT License, see [[LICENSE]].
Copyright © 2009-2024 Jeff Ross, Sam Aaron, and contributors.