
"Third-party" clients for the SuperCollider server exist, including rsc3, a Scheme client, hsc3, based on Haskell, ScalaCollider, based on Scala, Overtone, based on Clojure, and Sonic Pi. SuperCollider language environments (see below) are typically used, but other OSC-aware systems can be used such as Pure Data. Interfacing and system support Clients īecause the server is controlled using Open Sound Control (OSC), a variety of applications can be used to control the server. It may be used to generate vector graphics algorithmically.
#CHICAGO SUPERCOLLIDER CODE#
For interactive programming, the system supports programmatic access to rich-text code files. The standard class library with user interface components may be extended by a number of available frameworks. The SuperCollider language allows users to construct cross-platform graphical user interfaces for applications. Screenshot of SuperCollider running the ixiQuarks GUI tools. With regards to domain specific knowledge, it is both general (e.g., it allows the representation of properties such as time and pitch in variable degrees of abstraction) and has copious example implementations for specific purposes.
#CHICAGO SUPERCOLLIDER SOFTWARE#
īy supporting methods of reflective, conversational, and literate programming, SuperCollider makes it relatively easy to find new sound algorithms and to develop custom software as well as custom frameworks. Its constant-time message lookup and real-time garbage collection allows large systems to be efficient and to handle signal processing flexibly. Specifics include the implicit expansion of tuples and the stateless pattern system. Further features typical of functional languages are supported, including creation of closures via partial application (explicit currying), tail call optimization, list comprehensions, and coroutines. Closures are lexical, and scope is both lexical and dynamic.

Functions and methods can have default argument values and variable length argument lists and can be called with any order of keyword arguments. Like many functional languages, it implements functions as first-class objects, which may be composed. Its architecture strikes a balance between the needs of realtime computation and the flexibility and simplicity of an abstract language. The SuperCollider programming language is a dynamically typed, garbage-collected, single-inheritance object-oriented and functional language similar to Smalltalk, with a syntax similar to Lisp or the C programming language. The SuperCollider programming language ( sclang) Supernova, an independent implementation of the Server architecture, adds multi-processor support through explicit parallel grouping of synthesis nodes.

These components communicate using OSC ( Open Sound Control). Starting with version 3, the SuperCollider environment has been split into two components: a server, scsynth and a client, sclang. 1.2 The SuperCollider programming language ( sclang).

1.1 The SuperCollider synthesis server ( scsynth).
