SuperCollider
|
SuperCollider is a real time audio synthesis programming language. After being proprietary software it was released in 2002 by its author, James McCartney, under the free software GPL license.
The SuperCollider environment is split into a server, scsynth, and a client, sclang, that communicate using OpenSound Control. SuperCollider language combines the object oriented structure of Smalltalk and features from functional programming languages with a C programming language family syntax. Its real time garbage collector and constant time message lookup make it an efficient and expressive dynamic programming language. (See also interactive programming).
Code example
// play a mixture of pink noise and an 800 Hz sine tone { SinOsc.ar(800, 0, 0.1) + PinkNoise.ar(0.01) }.play; // list iteration: create a collection of indices multiplied by their values [1, 2, 5, 10, -3].collect { |item, i| (item * i).postln }
System requirements
SC runs under GNU/Linux and Mac OS X. There is also a port of the audio synthesis server available for Microsoft Windows.