My supercollider’s first birthday
Yes, this last weekend’s Todaysart Festival 2008 has reminded me that it’s been one year since i first started learning supercollider. What are my thoughts, after one year of usage ?
- I never want to go back to patching in max !
- (unless i need to do something fast, off course)
- Supercollider allows meone to make complex structures, with dynamic scalability very easily. Being free from the constraints of patching means that dealing with something that has one input, 100 inputs, or whose inputs are not even know at this moment is easy. In terms of arrays, collections, etc manipulation it appears that the supercollider team has already included all the methods you could ever think off.
- At first I was really disappointed when I thought that I needed to connect synths in the audio bus to patch things up, since that would be even more trouble than connecting graphical cords (or real ones, for that matter). Fortunately I soon realized that that is rarely needed. A single synthdef can most of the time include incredible complexity with no problem at all. In fact, almost all of the synthesis I’ve done is always inside one synthdef which in the end I play ( { theSynth }.play).
- Another thing that worried me at first was, how do I reuse code, since it’s not through synthdefs. Well, that’s easy, one defines new classes. When I learned that, then I became really happy and fully able to do my coding in supercollider. Basically I use classes to contain reusable snippets of code like an FM synth algorithm, and also to organize my code. I learned early on that if I didn’t break the code into several different classes, each one doing it’s thing, the code would become unmanageable.
- Well, It can’t all be good, can it ? Off course not. Supercollider suffers from the “I don’t care about guis or user interaction” open source syndrome. Such simple things as choosing the sound card, or metering the outputs and inputs, are not even possible from the menu bar. Sure, it would be easy to add those things, but the developers don’t appear to be interested in that. Another limitation is that it’s quite difficult (but I won’t say impossible) to do sample level stuff in the language, but that limitation arises because of the need to be hiper fast in real-time. The documentation is getting better, but there are lots of bits and pieces that need to be learned in the mailing lists and are kind of not that well documented.
- I also think that opening files, dealing with buffers, and other activities are more complex than they need be. I’d like if supercollider could take care of a lot of those things for me.
- Building a gui can be a very tiring activity at first. But if you do it in an algorithmic way you can then forget about it as it adds itself more elements automatically. Still, it’s not as fun as in max. oh, and thank god for SCIBToolboxWindow !
All in all, I’m quite happy with supercollider !