
Functional composition: from sine wave to Bach canon - yayitswei
http://skillsmatter.com/podcast/home/functional-composition
======
yayitswei
Chris Ford explains music theory using Clojure. He starts with a pure sine
wave and builds up abstractions, ending up with a Bach canon.

~~~
sgrove
Thanks for sharing this, it totally blew my mind. He explains each piece and
term so clearly that I really felt I could finally get my head around some of
the basic music terminology, and maybe even try recreating some basic
melodies.

Wish it had made it higher up on the front page though, it certainly seems
worthy.

------
sodiumphosphate
Is this useful for someone with no knowledge of functional programming
languages? I'm certainly interested in the topic.

I recently spent some time learning [ChucK](<http://chuck.cs.princeton.edu>),
and used it to generate sound effects for my game. After several
unsatisfactory crops with audacity and other tools (bfxr, etc), I found it to
be a real pleasure to do the task with a text editor and terminal instead. I'm
happy with the result, but I think I'd like to continue learning audio
programming.

~~~
sgrove
There are a few FP-related piece you might want to know, but as long as you
understand the idea of first-class functions (passing a function to another
function as an argument), then you should be able to get your head around it
quickly. It's definitely worth it, and may be a great way to generate sounds
for games as well.

Overtone itself is a bit more sophisticated/batteries-included than the video
lets on, because he builds up everything himself to show there's no magic.

~~~
sodiumphosphate
Thanks. It turns out I enjoyed this very much, and though the syntax was a bit
foreign it made a lot more sense than I expected.

