3 ms·
I've been learning SuperCollider for a month or so. It's a weird but very interesting and powerful language. Got some of the nice elements of Ruby : lambda func
by geoffroy 15y ago
I've been learning SuperCollider for a month or so. It's a weird but very interesting and powerful language. Got some of the nice elements of Ruby : lambda functions, live coding, etc. with realtime goodness.
Overtone is a Clojure port of SC, but since I don't know Clojure, I chose to learn SC language directly (and the community is very good).
Would love to have a Ruby port of SC though!
- pfeyz 15y agoI feel like it's worth pointing out the distinction between SuperCollider the programming language and SuperCollider the audio synthesis server. The audio server is stand-alone and can be controlled via Open Sound Control. The language is a music DSL that abstracts over the OSC messages and acts as a client to the synth server. Overtone is another client to the synth server, but I'm not sure how much it's following the SuperCollider language. Also, there's an scruby project https://github.com/maca/scruby https://github.com/maca/scruby .
- rosejn 15y agoYou're right, and in Overtone we haven't really tried to mirror SCLang at all. The DSP core of scsynth is a great piece of software with many years of testing, debugging, and extension, so it's wonderful that we can leverage this externally by just sending OSC. Of course we want to pull in any good ideas we find from the sc class library or any other music system, but generally we have been working on creating an expressive synthesis language that clearly communicates what is being produced. In SCLang there are many syntactic tricks and shortcuts which allow you to create very terse definitions, but they are often to the detriment of readability. With Clojure's lazy sequences we can easily model many interesting types of generative musical structures, and with easy access to the JVM ecosystem of libraries we can now control our musical processes with external tools or devices, visualize them with nice graphics, auralize external phenomena (e.g. people have hooked into automated build/test systems), etc., far easier than in SClang.
- sassafras 15y agoSupderCollider is a lot of fun, though I've been getting more and more interested in overtone lately, especially because by using a more general purpose language you can avoid some of the quirks that make writing code in SuperCollider occasionally tedious. Things like needing to recompile the whole class library every time you write or modify a class, or the lack of third party code on par with an environment like Clojure. I also feel like the functional approach and Lisp-style macros lend themselves quite well to the task. The nice thing, of course, is that since the synthesis server and language are decoupled, you're not limited to one client or the other, and in theory even the synthdefs you compile in one client can be loaded and manipulated from another. Rohan Drape has done some work on Haskell (http://www.haskell.org/haskellwiki/SuperCollider http://www.haskell.org/haskellwiki/SuperCollider) and Scheme (http://slavepianos.org/rd/r/d/darcsweb.cgi?r=rsc3 http://slavepianos.org/rd/r/d/darcsweb.cgi?r=rsc3) clients as well.