SuperCollider

From Wikipedia, the free encyclopedia

Jump to: navigation, search
SuperCollider
Developer James McCartney and others
OS Linux, Mac OS X
Genre Audio programming language
License GNU General Public License
Website http://supercollider.sourceforge.net/

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

Since then it has been evolving into a system used and further developed by both scientists and artists working with sound. It is an efficient and expressive dynamic programming language which makes it an interesting framework for acoustic research, algorithmic music and interactive programming.

Released under the terms of the GNU General Public License in 2002, SuperCollider is free software.

Contents

Since version 3 the SuperCollider environment is split into a server, scsynth, and a client, sclang, that communicate using OpenSound Control.

SC Language combines the object oriented structure of Smalltalk and features from functional programming languages with a C family syntax.

The SC Server application supports a simple C plugin API making it easy to write efficient sound algorithms (unit generators) which can then be combined into graphs of calculations. Due to the fact that all external control in the server happens via open sound control, it is possible to access its functionality from other languages or applications.

  • OpenSound Control access
  • Simple ANSI C plugin API
  • Supports any number of input and output channels
  • Gives access to an ordered tree structure of synthesis nodes which define the order of execution
  • Bus system which allows to dynamically restructure the signal flow
  • Buffers for writing and reading
  • Calculation at different rates depending on the needs: audio rate, control rate, demand rate

  • Class system for generation of graphical user interface for applications
  • Programmatic access to rich text code files
  • Vector graphics

|

SC runs under Linux and Mac OS X, a beta version is available for Microsoft Windows under the name PsyCollider. The Linux version can be controlled from GNU Emacs.

SC is available on a LiveCD called pure:dyne (a modified version of dyne:bolic).


// play a mixture of pink noise and an 800 Hz sine tone
{ SinOsc.ar(800, 0, 0.1) + PinkNoise.ar(0.01) }.play; 

// modulate the sine frequency and the noise amplitude with another sine
// whose frequency depends on the horizontal cursor position
{ 
        var x = SinOsc.ar(MouseX.kr(1, 100));
        SinOsc.ar(300 * x + 800, 0, 0.1) 
        + 
        PinkNoise.ar(0.1 * x + 0.1) 
}.play; 

// list iteration: create a collection of indices multiplied by their values
[1, 2, 5, 10, -3].collect { |item, i| item * i }

// factorial function
f = { |x| if(x == 0) { 1 } { f.(x-1) * x } }

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. A specific kind 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. Various extension libraries support different abstraction and access to sound objects, e.g. dewdrop_lib allows for the live creation and modification of pseudo-classes and -objects.

SuperCollider consists of two separate applications: the server (sound synthesis engine), and the client application to control it. Because the communication uses OpenSound Control, a variety of applications can be used to control the server including systems such as Pure data.

"Third-party" clients for the SuperCollider server exist, including rsc3, a Scheme client, and hsc3, based on Haskell.[3]

  1. ^ J. McCartney, SuperCollider: A new real time synthesis language, in Proc. International Computer Music Conference (ICMC’96), 1996, pp. 257–258.
  2. ^ J. McCartney, Rethinking the computer music language: SuperCollider, Computer Music Journal, 26 (2002), pp. 61–68.
  3. ^ More examples on the SuperCollider wiki

Advanced Search
Included Web Search Engines


Safe Search

close

Top Matching Results

Occasionally Search.com will highlight specialized results that are based on the context of your query. Examples of specialized results include specific links to news, images, or video.

Top Matching Results may highlight information from other Search.com pages, content from the CNET Network of sites, or third party content. The listings are based purely on relevance. Search.com does not receive payment for listings in this section but our partners that provide this data may get paid for listing these products.

Sponsored Links

This section contains paid listings which have been purchased by companies that want to have their sites appear for specific search terms and related content. These listings are administered, sorted and maintained by a third party and are not endorsed by Search.com.

Search Results

Search.com sends your search query to several search engines at one time and integrates the results into one list which has been sorted by relevance using Search.com's proprietary algorithm. You can customize the list of search engines included in your metasearch from the preferences.

The search engines that are used in your metasearch may allow companies to pay to have their Web sites included within the results. To view the Paid Inclusion policy for a specific search engine, please visit their Web site. Search.com does not accept payment or share revenue with any search engine partner for listings in this section.