Katana VentraIP

SuperCollider

SuperCollider is an environment and programming language originally released in 1996 by James McCartney for real-time audio synthesis and algorithmic composition.[4][5]

This article is about the programming language. For other uses, see Supercollider.

Since then it has been evolving into a system used and further developed by both scientists and artists working with sound. It is a dynamic programming language providing a framework for acoustic research, algorithmic music, interactive programming and live coding.


Originally released under the terms of the GPL-2.0-or-later in 2002, and from version 3.4 under GPL-3.0-or-later, SuperCollider is free and open-source software.

access

Open Sound Control

Simple and C++11 plugin APIs

ANSI C

Supports any number of input and output channels, including massively multichannel setups

[7]

Gives access to an structure of synthesis nodes which define the order of execution

ordered tree

Bus system which allows dynamically restructuring the signal flow

Buffers for writing and reading

Calculation at different rates depending on the needs: audio rate, control rate, demand rate

Interfacing and system support[edit]

Clients[edit]

Because the server is controlled using Open Sound Control (OSC), a variety of applications can be used to control the server. SuperCollider language environments (see below) are typically used, but other OSC-aware systems can be used such as Pure Data.[6]


"Third-party" clients for the SuperCollider server exist, including rsc3, a Scheme client, hsc3, based on Haskell, ScalaCollider,[11] based on Scala, Overtone, based on Clojure, and Sonic Pi.[12] These are distinct from the development environments mentioned below because they do not provide an interface to SuperCollider's programming language, instead they communicate directly with the audio server and provide their own approaches to facilitating user expression.[6]

Live coding[edit]

As a versatile dynamic programming language, SuperCollider can be used for live coding, i.e. performances which involve the performer modifying and executing code on the fly.[18] Specific kinds of proxies serve as high level placeholders for synthesis objects which can be swapped in and out or modified at runtime. Environments allow sharing and modification of objects and process declarations over networks.[19] Various extension libraries support different abstraction and access to sound objects, e.g. dewdrop_lib[20] allows for the live creation and modification of pseudo-classes and pseudo-objects.

List of music software

Comparison of audio synthesis environments

Official website