For some reason, Coursera doesn't seem to have the page up any more, but there was a great MOOC about programming for musicians[0] that featured ChucK as the main language. They even featured the creator of ChucK in some of the videos. He's also the creator of some of the popular Smule Apps for iPhone, like the autotuning app "I am T-Pain"[1], which all feature ChucK under the hood.
I'm currently taking a class taught by the creator of Chuck, Ge Wang. Great guy. He always tells people that Chuck "crashes equally on every platform".
I find ChucK to be a pretty easy language to get into. It lends itself really well for algorithmic composition and live coding. I have quite a bit of fun with it!
A big downside to ChucK is that it has a very limited set of unit-generators for sound, and it's very hard to do any sophisticated synthesis and sound design. That being said, it's pretty easy to build third party chuck plugins (called "chugins"). I really like working with Csound, so I built a Csound chugin: https://github.com/PaulBatchelor/ChuckSound
For people unfamiliar:
ChucK is probably one of the easiest ways to get started programming synths, and still one of the best ways to play live, layered audio. It comes with some nice tools (miniaudicle) to mix/arrange live music.
Supercollider (or less programming-focused tools) are more stable and can even more configurable, though there's a bit more of a curve. They're also not as explicitly focused on live performers.
> "ChucK is probably one of the easiest ways to get started programming synths"
i have to disagree. if you compare to SC, maybe. but because time is a first class citizen of ChucK, it actually complicates the process of programming sound. in that sense, i think something like Overtone is actually much simpler.
there are higher level methods for programming synths... the highest level, of course, being an actual (hardware or software) synth with an interface. which is certainly the easiest way to start programming sounds.
Do you have any experience with cSound ?
ChucK is kinda hard to make a wrapper for.. So you have to run it parallel with other controller or audio workstations... At least as far as I've learned. But I've only been into ChucK for a few months.
no I don't. I only dabble with these languages for fun. as a musician before a programmer, I find live coding very novel, but never the optimal way to produce live music.
so I know this is not the answer you are looking for at all, and I know people will argue with this, but, my 2 cents: if you find yourself trying to sync multiple live coding environments, start a band, or learn something like FL Studio.
music is solely about output. the means to create it are irrelevant.
Will you ever annotate/comment the source? It seems really interesting that the little amount of code can produce such a long work. Would love to learn how it all fits together. Will also have to look at the docs and figure out what's happening...
It was a rewarding experience, and quite fun to start from musical principles, which have many common concepts, ranging from control structures to continuous and integer variables.
This was part of the Oxford University Laptop Orchestra, which was a spin-off from the Princeton project.
The blog posts went the way of all side-projects...
When I tried it a few years ago, there was no way to read a stereo wave file :-) Looking at the changelog, it seems it was introduced around version 1.3.0. It was a showstopper for me then. At that time, I could not find an equivalent of SuperCollider's Patterns library which is fantastic : http://doc.sccode.org/Tutorials/A-Practical-Guide/PG_01_Intr...
[0] https://www.mooc-list.com/course/introduction-programming-mu... [1] https://www.youtube.com/watch?v=5HaIMA9YkSg