3.4 16 Jul 2010

Programming language for real time audio synthesis and more.


Developer website: SuperCollider Group

SuperCollider is an environment and programming language for real time audio synthesis and algorithmic composition. It provides an interpreted object-oriented language which functions as a network client to a state of the art, realtime sound synthesis server.

SuperCollider was written by James McCartney over a period of many years, and is now an open source project maintained and developed by various people. It is used by musicians, scientists, and artists working with sound. For some background, see SuperCollider described by Wikipedia.

What's New

Version 3.4:
  • 2009-09-03 add support for Mac OS 10.5 and greater 64-bit builds of plugins and scsynth
  • 2009-07-xx iphone support by Axel Balley added - ab
  • 2009-07-21 EnvirGui added, a gui for livecoding/editing environments - adc
  • 2009-07-24 Server.plotTree method for visualising the groups and synths on the server - sw
  • 2009-07-31 mac osx text-completion feature now includes sclang objects - ds
  • 2009-08-01 sclang now has a flag (Platform.ideName) for which IDE is in use (scapp, scvim, scel, sced, jsceclipse...) so that the same class-library can be used with different IDEs, enabling IDE-specific code as necessary - ds
  • 2009-08-16 add emergency escape route: if sclang is caught in an infinite loop, send it a USR1 signal to break out of it - ds
  • 2009-09-12 String:findRegexp and other regular expressions now available on linux as well as mac - mb,ds
  • 2009-09-18 n_order and Server:reorder allow one to specify chains of nodes - sw
  • 2009-09-20 simplify the Server recording interface. prepareForRecord is now optional (will be automatically invoked if you don't), and the server gui button is now just two-state "record" "stop" - ds
  • 2009-10-04 support multichannel indices for Env:at - jr
  • 2009-10-29 improve OSC message correctness: for convenience, sclang allows command names as symbols with no leading slash e.g. g_new. To improve compliance with the OSC standard, the leading slash is now added to those symbols before dispatch - ds
  • 2009-11-07 use nova-simd framework for performance improvements of unit generators - tb
  • 2009-11-21 Event type note supports polyphonic sustain, lag and timingOffset, and responds correctly to free and release. Add grain event type. - jr
  • 2009-11-28 windows: system "application support path", previously hardcoded as C:SuperCollider, now settable by environment variable SC_SYSAPPSUP_PATH. Default setting for that env var (when using official wix bundle) will be [SC3INSTALLLOCATION] - ds
  • 2009-12-15 sclang: 64-bit safety - tb
  • 2009-12-15 sclang: performance improvement of math ops - tb
  • 2010-01-02 scsynth: use osc-compilant address patterns for server/lang communication - tb
  • 2010-01-24 add readline interface to sclang command-line. This is used by default when invoking "sclang" (to use the non-readline interface set the "-i" option to something other than "none") - ds
  • 2010-01-24 enable GPL3 code by default - this 'upgrades' the overall binary license from GPL2+ to GPL3+, and allows supercollider to benefit from GPL3+ libraries such as libsimdmath and gnu readline - ds
  • 2010-02-04 Improvements to editor: Split pane documents, AutoInOutdent - sw
  • 2010-02-18 scvim: now compatible with gnu screen, opens post window using screen, making it compatible with a pure-CLI environment - ds
  • 2010-02-xx add the Deployment32-64 build style for building on OS X (10.5 and greater) - jp
  • 2010-03-10 SynthDef:memStore deprecated in favour of the more coherent and typeable SynthDef:add - jr
  • 2010-04-11 Moved some more experimental JITLib classes to "JITLib extensions" Quark - jr
  • 2009-06-12 fix for level indicator: critical and warning now display based on peak if it is shown rather than on value - sw
  • 2009-06-18 fix for mouse coordinates bug - sw
  • 2009-06-22 fix for negative bounds issue in SCUserView - sw
  • 2009-06-23 avoid memory corruption when unknown OSC type tags are received. Instead forward them to sclang - jr
  • 2009-06-23 Fix server crash with negative buffer numbers. - jr
  • 2009-07-20 factors(): no prime factors exist below the first prime - jr
  • 2009-07-21 Loudness ugen now supports LocalBuf - nc
  • 2009-07-23 Fix very nasty bug in Pbindf: if a key is an array, new values were written into the incoming event, instead of the outgoing event - jh
  • 2009-07-28 catch unintialised value in sc_GetUserHomeDirectory(), fixing potential memory corruption if HOME not set - ds
  • 2009-08-01 SpecCentroid, fix its reaction to silence (output zero instead of NaN) - ds
  • 2009-08-01 NamedControl: single default value now returns instance, not array, default values are obtained in a consistent way - jr
  • 2009-08-04 fix the CPU-usage issue when calling plain "./sclang" from the terminal on OSX (seems it was caused by a bug in how OSX handles poll() calls) - ds
  • 2009-08-15 LinPan2: fix initialisation issue - panning was not correctly applied during the first calc block - ds
  • 2009-09-28 Workaround for faded colours in HTML docs - sw
  • 2009-09-13 fix PV_MagShift argument handling, so that the defaults mean no-change, matching the behaviour of PV_BinShift - ds
  • 2009-09-20 warn about weirdness of Float:switch - ds
  • 2009-09-30 prevent NaN output from SpecFlatness when input is silence - ds
  • 2009-10-16 fix cropping issue in printing documents - cq
  • 2009-10-17 many phase-vocoder (PV_) ugens previously didn't handle the DC/nyquist bins as expected. fixed most of these (PV_MagAbove, PV_MagBelow, PV_MagClip, PV_LocalMax, PV_BrickWall, PV_MagSquared, PV_BinWipe, PV_CopyPhase, PV_Max, PV_RandComb) - ds
  • 2009-11-01 fix audio rate arg problem in PlayBuf - jp
  • 2009-11-02 fix amplitude-convergence issue in Pan2, Balance2, LinPan2, XFade2, which could sometimes result in sound despite zero amp, as discovered by jh - ds
  • 2009-11-03 fix unsafe implementation of methods that allow sending collections to buffers - jr
  • 2009-11-04 fix signalRange for MouseX, MouseY and KeyState, so that the range message works now - jr
  • 2009-11-19 Fix for PV chains and LocalBuf - sw
  • 2009-12-14 fix uninitialised variable in Pulse (could sometimes cause small glitch on init), thanks to rhian lloyd - ds
  • 2010-01-10 Demand ugens can now handle more than 32 channels, thanks Patrick Borgeat for the patch - ds
  • 2010-02-05 scsynth now respects the -D commandline option when running in NRT mode - ds
  • 2010-02-11 Fix for nowExecutingPath with Routines - sw
  • 2010-02-23 Performance fixes for SCUserView - sw
  • 2010-02-25 Fix interpolation / indexing problem in VDiskIn that caused slight pitch fluctuations - jp
  • 2010-03-11 SequenceableCollection:reduce no longer returns nil if the collection has only 1 element - ds
  • 2010-03-28 fix memory leak of empty command line, for interactive sclang mode - tb
  • 2010-03-29 main menu for Mac lang editor app: correction to key for evaluate selection, used to be return, now return+shift - nc
Other additions/improvements:
  • 2009-06-11 Evaluate Selection menu command - sw
  • 2009-06-23 allow remote apps to send type chars - jr
  • 2009-06-27 build 32bit sclang on x86_64 - tb
  • 2009-07-xx efficiency improvements on some UGens - tb
  • 2009-07-xx improve Quarks use of svn for smoother user experience - ds
  • 2009-07-22 catch the case when a user tries to compile into a synthdef, a unary/binary operator that the server can't apply - jh
  • 2009-08-29 String:toUpper and String:toLower - ds
  • 2009-09-06 Boolean:while now throws an informative error, since Boolean:while has no particular use but is often used in error by beginners in code where Function:while is intended - ds
  • 2009-09-12 method FunctionDef:makeEnvirFromArgs allows to create template events from a function - jr
  • 2009-09-30 Error is now posted if maxSynthDefs exceeded -sw
  • 2009-11-03 TwoWayIdentityDictionary has a removeAt method now - jr
  • 2009-11-04 update of deferredTaskInterval from 0.038 to 0.01667 - fo
  • 2009-11-07 improved PyrSlot typesafety - tb
  • 2009-11-23 menu system improvements in Windows IDE - mv
  • 2009-12-13 tidyups for "sclang when on osx but not in" - ds
  • 2009-12-13 added lincurve and curvelin methods for numbers and UGens - jr
  • 2010-01-01 OSCresponder and OSCresponderNode respond equally to messages with or without preceding slash - jr
  • 2010-01-04 sclang: deprecated Proutine - switch back to the original Prout
  • 2010-01-06 UnitTest Quark improved, added script support - jr
  • 2010-01-23 Improved NodeProxy and ProxySpace helpfiles. Added proxy composition syntax to NodeProxy - jr
  • 2010-01-30 Make multichannel plotting easier. If no numChannels is given, find out automatically - jr
  • 2010-01-31 add new LOOP1 macro - tb
  • 2010-01-31 use c99 log2 functions for sc_log2 - tb
  • 2010-02-09 rearrangement of supercollider source code tree - ds
  • 2010-02-11 Server:default_ now assigns to s by default. Settable with flag - sw
  • 2010-02-27 removed SCAnimationView and added SCUserView:animate_ - fo
  • 2010-03-10 SCPen:setSmoothing changed to SCPen:smoothing_, harmonised change with swingosc - ds
  • 2010-03-23 exponentiation for Complex numbers - jr
  • 2010-xx-xx many helpfiles improved - various authors
  • 2010-03-30 Image class added, a redirect for SCImage or JSCImage - hr
  • 2010-03-30 Pitch ugen ability to output clarity measure (by default not activated, for backwards compat) - ds


Mac OS X 10.4 or later


Current Version (3.x)


Version Downloads
Multimedia Design / Audio
16 Jul 2010
OS X / PPC 32 / Intel 32