Functional composition: from sine wave to Bach canon
Chris Ford explains music theory using Clojure. He starts with a pure sine wave and builds up abstractions, ending up with a Bach canon.
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.