
Overtone - wglb
http://jng.imagine27.com/articles/2011-10-02-171602_overtone.html
======
jianshen
This is what Hollywood thinks most coding is like in the world. One shot, no
bugs and pure creation. All in a highly customized and beautifully responsive
editing environment.

Seriously though, thanks for posting this. I think music coders deserve
special attention because they mix creativity and logic together so well.

~~~
moomin
It's also what Hollywood thinks music is like: pure improvisation. In the real
world, both require an amazing amount of rehearsal and frustrating lack of
progress on your own time before the 'performance'.

I always thought the best moment of 8-mile was when Bunny stops talking and
sits down with a pen and a paper in his bedroom. It's fairly explicit that
that's the point he starts on the road to being a successful musician.

------
DonnyV
I'm not really sure what you would use this for. I'm a musician and I can't
possibly find any use for this. It would take forever to write a song in this
and then you would have to mess with the timings just to make it not sound
like a programmed piece of music and give it some feel.

~~~
kragen
> I'm not really sure what you would use this for.

"Live coding" means you go to a nightclub, hook your laptop up to the sound
system and a big projector, and start programming, while everybody is watching
you program and listening to the sounds your program is making.

~~~
palish
Almost like... a synth.

~~~
burgerbrain
Implying that this isn't a synth?

~~~
palish
Mm, I didn't mean to come off as a dick. Overtone is cool as hell, and is
worthy of a lot of respect.

My point was, there's a reason why musicians often use "a box with a bigass
row of large physical keys" to do this sort of thing.

That said, a synth costs thousands of dollars; so I love the idea of Overtone
making live music more accessible to "dabblers" like me.

( Unfortunately, a MacBook also costs thousands of dollars, and I've given up
hoping people still care about Windows. =) )

~~~
SwellJoe
You could say the same of every new instrument ever. Why use a piano when a
harpsichord is so much simpler to build? (Louder, mostly, but that's not my
point. And pianos were much more expensive than any previous instrument when
they were new.) Why build a harpsichord if you have stringed instruments? Why
put strings on an instrument...why not just bang on that stick.

New instruments provide new means of expression not previously available. That
_alone_ is reason enough to keep experimenting and building new instruments,
even if most of them never go anywhere or see anything resembling widespread
adoption. They expand the palette of possibilities.

If you find a full keyboard strapped to a synthesizer more conducive to what
you want to express today, that's fine. There are still guitars, and drums,
and harpsichords, and pianos, and analog synthesizers. This doesn't close off
those options to anyone, it only opens new doors.

Cost, or being "better" than some other option in some dimension, is not the
reason for something like this. New means of expression is the reason, and it
is reason enough.

~~~
palish
Erm... The piano allowed dynamic volume; a serious improvement over the
harpsichord.

I hate to pick at your example, 'cause I agree with you in spirit. Your
harpsichord/piano example was just... Well, exactly my point. The piano was a
major improvement over the harpsi; I hope the same will be said of Overtone.
That's all.

------
ehsanu1
Thia isn't overtone, but here's some very impressive livecoding in
scheme/impromptu (<http://impromptu.moso.com.au/>), building up to a wonderful
piano improvisation which has a very natural feel: <http://vimeo.com/2433947>

~~~
tizoc
The author of Impromptu is now working on Extempore, which unlike Impromptu,
is opensource, and runs on other operating systems other than OS X.

<https://github.com/digego/extempore>

------
Raphael
Interesting how his command line glows and shows CRT-like distortions. Is that
actually how it looks, or is that post-processing applied to the video?

~~~
samaaron
Sadly it's just post-processign FX. However, a terminal that looked like that
would be totally badass.

~~~
agumonkey
The glow fits very well with the flymake (i guess) flashing.

In theory a ~compiz composite plugin for this purpose wouldnt be hard to
create, if it doesn't already exists. And Qt seems capable of glowing to..
time to patch Konsole.

------
eegilbert
This is great. Thank you. If you're interested in this stuff, also take a look
at ChucK, a project out of Princeton's CS & Music departments. I've been
extremely happy with its results when generating backgrounds for videos, for
instance.

<http://chuck.cs.princeton.edu>

~~~
rescripting
From what I can tell ChucK is no longer supported and has stopped working in
OSX Lion.

~~~
AllTom
Not quite true, I know the developers and they're working on Lion support, as
well as some major updates to the vm.

~~~
erikschoster
That's great news!

------
muyuu
If you like this you may want to check Fluxus.

<http://www.pawfal.org/fluxus/> <http://www.pawfal.org/fluxus/projects-using-
fluxus/>

And impromptu: <http://impromptu.moso.com.au/>

~~~
tizoc
If you like Impromptu, take a look at Extempore by the same author. Unlike
Impromptu, Extempore is open source, and runs on Linux and Windows too.

<https://github.com/digego/extempore>

------
jcfrei
here's the project website: <http://overtone.github.com/>

~~~
agumonkey
They also publish their dotemacs which is lovely to use (theme, autocomplete,
some lambda beautification)

<https://github.com/overtone/live-coding-emacs>

------
FuzzyDunlop
This really interests me, being a musician as well. The idea of coding music
(and not just programming a synth or whatever) has never occurred to me before
and I really fancy spending an evening or two with this to see what happens.

My only dislike with increasingly virtual instruments, however, is that I
don't really get the same sort of involvement out of using them. I can bang
out some fairly decent beats with my PadKontrol but it makes me long for my
old, battered drum kit, and the band practices where I'd lay down a beat and
just let myself get lost in it all as the guitarists and bassist improvised
over it.

What you gain in technology (and all the amazing things you can do with it)
you lose in that sense of physicality.

~~~
yaxu
A big part of Sam Aaron's research is into integrating interfaces like the
monome into live coding languages.

------
przemoc
Sounds (and looks) interesting.

BTW After watching it I've finally submitted my first Ask HN:

What are your music prototyping solutions?

<http://news.ycombinator.com/item?id=3089259>

------
moomin
I was lucky enough to see Sam Aaron rehearse his ClojureConj course at
skillsmatter last week. The room was full of musicians who know Clojure.
Personally, I think overtone has potential. It's already usable as an
alternative synth design tool (beats the hell out of visual design). As for
taking on Cubase... There are all sorts of features it doesn't have (like a
usable UI), but as sam says... pull requests are welcome. :)

------
sbochins
This is very cool. I remember there was another clojure music library that
came out several months ago. It was very cool, but nowhere near as cool and
extensible as this.

EDIT: this was the library I was thinking of <http://mad.emotionull.com/>

------
mikefox
I’m seeing educational value in this, musical output as a way of teaching
programming to beginners, especially to auditory learners (or to the blind,
for that matter). Is there anything out there like this that’s specifically
intended as an educational tool?

------
wylie
I'm so glad that somebody built a better front-end for SuperCollider. It's
badly in need of a better guide and tutorial for new users, and this seems
like an excellent way to go about it.

~~~
marquis
Is SuperCollider really that complicated? I've seen some incredible things
built with it by musicians who have learnt to code specifically for it.

~~~
rosejn
It's not necessarily that SC is complicated, but it is a custom language that
has to be learned to use a single application. Also, many musical ideas and
projects extend beyond what sclang can do, or you want to use external libs,
etc. By using Clojure you get all of the power of sclang and more, because you
also get lisp macros, while also getting access to the whole java ecosystem of
libs. We've got a gui library for Overtone in the works, and it will be a good
example of this in action.

------
mcav
Overtone looks fantastic, and I've been meaning to really look into it for a
while now. It seems to be an active project with a lot of momentum. I was
writing something similar in Clojure, but more directly musically focused
rather than on sound synths, before I found overtone. I tried installing it
once a while ago, but had trouble getting SuperCollider to install and work
with overtone.

Are there any overtone-related gatherings in the bay area?

~~~
samaaron
Hey mcav, you should definitely head over to the Overtone mailing list on
google groups: <http://groups.google.com/group/overtone>. We should be able to
sort out your SC install <-> Overtone troubles easily :-)

------
malkia
Somehow this resonates with me as a game developer, and actually Naughty Dog's
use of Lisp (common lisp) got me into learning it, but slowly has been moved
to lua (but can see the difficulties in using lua as live coding language)

pretty cool, and also started using emacs since then....

------
dplakon
Max/MSP is this times a million. check it out if you haven't heard of it.
cycling74.com it does the exact same things but with more options, complexity,
and a more usable interface. It also has visual fx.

~~~
erikschoster
Signal flow approaches like Max/MSP and PureData are awesome and have their
own strengths and weaknesses - but certainly they have no more or less
'options' or capacity for complexity than any similarly mature text-based DSP
system like SuperCollider or ChucK.

~~~
msutherl
Hey Erik ;)

Strictly Max/MSP/Jitter is a much more encompassing environment than
SuperCollider and ChucK, which focus on audio. The advantage of Max is that it
combines a great control language with audio programming, a great video matrix
library and a dataflow OpenGL API. Generally there are many more 3rd party
contributions to Max/MSP than any of the other media programming frameworks
with the exception of perhaps vvvv (which is video centric).

That said, the nice thing about all of these environments is that they heavily
integrate OSC messaging, which allows you to mix and match anything together.
People often combine openFrameworks/Cinder and SuperCollider for instance.

~~~
erikschoster
I suppose Jitter is a big honking extra option, yeah. :-) I read the original
comment as suggesting that SuperCollider was somehow lacking in flexibility
compared to Max/MSP, which isn't true. They're all excellent tools with
different approaches.

------
moultano
If you like this, check out nyquist. Lisp for audio programming:
<http://www.cs.cmu.edu/~music/nyquist/>

~~~
swannodette
But that's not "realtime" like SuperCollider right?

------
chrisrickard
As a musician & coder, i have always been intrigued by this idea.. it does
seem like a tricky process to "play" live - but still - could be pretty fun

------
nicklovescode
I have a hell of an upvote waiting for the person who ports this to the Audio
Data API

------
rorrr
It was amazing to watch him write the flawless LISP code.

The project itself is interesting, but very niche.

~~~
fragsworth
For the purpose of the video, it was probably transcribed from existing code.

~~~
samaaron
I practiced writing that code for about a day before I could write it
flawlessly in one take. I guess, in a similar fashion to how a musician will
practice using an instrument before going on stage.

~~~
stygianguest
That only holds for some kinds of playing. How is your experience with
improvisation? Can you manage quick changes? Or does it always tend to be a
slow buildup of rythms harmonics and melodies?

~~~
swannodette
Improvisation requires plenty of practice -
[http://www.amazon.com/Improvisation-Its-Nature-Practice-
Musi...](http://www.amazon.com/Improvisation-Its-Nature-Practice-
Music/dp/0306805286)

~~~
stygianguest
Apparently my question is not clear. I'm asking this as a musician who does a
lot of improvisation. The question is wether livecode improvisation is
comparable.

The most enjoyable thing in improvisation, are sudden changes that can emerge
in a good session. You typically have less than a second to react to such
things. That is, less than a second to change rythm/feel, tempo, harmonics,
volume, etc. More often than not all at the same time. Playing like that makes
you feel part of the organism from which the music emerges, rather than a
thinking actor in a rehearsed play. A feeling that I only find in dancing and
other things I do with my wife.

I would really like to get into this livecoding stuff, and have tried ChuCK
and SuperCollider. Clearly I never practiced enough to improvise in the live,
but I'm wondering if it is at all possible in the sense I described above.

