What is SuperCollider?

Updated

SuperCollider is a free, open-source platform for audio synthesis and algorithmic composition, used by musicians, artists, and researchers working with sound. It runs on Windows, macOS, and Linux, and is built around three components: scsynth (a real-time audio engine that runs as a server), sclang (an interpreted programming language that acts as a client to that server), and scide (an editor for sclang with an integrated help system). If you want to generate, process, or algorithmically control sound through code rather than a graphical interface, it is built for exactly that.

How it is structured

The client/server split is the defining design decision. Because sclang talks to scsynth over a server interface, multiple clients can connect and control the same audio server at once. sclang is the native language and client, but there are also client implementations in other languages, including Python, JavaScript, Haskell, and Scala.

SuperCollider also ships with supernova, an alternative implementation of scsynth that adds multi-threading support.

Component Role
scsynth Real-time audio engine (server)
sclang Interpreted language and client to the server
scide Editor for sclang with integrated help
supernova Alternative scsynth implementation with multi-threading

Who it is for

The stated audience is musicians, artists, and researchers working with sound. In practice that covers:

  • Composers who want to define sound and musical structure in code
  • Artists building sound installations or generative audio work
  • Researchers and developers who need a programmable audio engine they can drive from a script or another language

If you prefer patching or timeline-based DAWs and do not want to write code, this is a different kind of tool. If you are comfortable with programming concepts, the client/server model and the ability to connect non-sclang clients are the main advantages.

A first look at the code

The documentation includes short examples. This one is a simple FM synthesis voice:

{ SinOsc.ar(SinOsc.kr([1, 3]).exprange(100, 2e3), 0, 0.2) }.play

A longer example, "Drummer" by Thor Magnusson (2006), builds a snare, bass drum, and hi-hat from noise and oscillators, with a comment noting that replacing Impulse with Dust produces a "drunk drummer." More user examples are collected on sccode.org, and the sc-140 album is distributed with code examples.

Versions and downloads

The current version listed is 3.14.1:

  • macOS — 3.14.1 universal binary, macOS 11+
  • Linux — 3.14.1 source tarball
  • Windows — 3.14.1, x64

Other operating systems and versions are available on the Downloads page.

History and licensing

SuperCollider was developed by James McCartney and originally released in 1996. In 2002 it was released as free software under the GNU General Public License. Since then it has been maintained by an active community.

Where to get help

The project points to a communities site for an incomplete list of places to join. A common starting point is the forum at scsynth.org. There is also a Code of Conduct that applies to the community.