Installing SuperCollider on Asus Eee

SuperCollider is an audio/music synthesis environment: a combination of an audio-centric programming language and a highly efficient synthesis server. Website here: http://supercollider.sourceforge.net/

Here's how I installed in on default Xandros (i.e. not even in "advanced" mode):

Enable repositories

In order to make it easy to add the required software, follow these instructions: Adding Additional Software Repositories

Install some pre-requisites

I installed these things by starting a command window (Ctrl+Alt+T) then typing "sudo synaptic" to launch the graphical interface for installing software.

Development tools

(i.e. things for compiling software. I installed the build-essential package for this; some more detailed description at Installing Development Tools)

JACK

JACK is a very widely-used audio infrastructure for linux. I installed 4 separate packages:

Other prerequisites

Some other packages are required, here's what I installed:

Download SuperCollider source-code

You can download the source-code from Sourceforge. Alternatively you can directly get it from the Subversion repository (this gets the latest bleeding-edge version):

svn co https://supercollider.svn.sourceforge.net/svnroot/supercollider/trunk SuperCollider3

This creates a folder "SuperCollider3" and downloads the source code into it; takes 30 secs or so.

Compile and install SuperCollider

The "scons" system can build SuperCollider in various configurations (use "scons -h" to see the available options). However, I just did this:

cd SuperCollider3
scons
sudo scons install

The "scons" line does the compilation, and takes about 5 minutes. The last line installs SuperCollider, and takes about 30 seconds.

Installing SwingOSC (OPTIONAL)

SwingOSC is a Java-based GUI system that works nicely with SuperCollider to let you build your own GUIs. You don't need it, it's totally optional, but kinda nice. Download site inc install instructions are at http://www.sciss.de/swingOSC/

Here's how I installed it: after unzipping the download I moved it to /usr/local/SwingOSC - but then, to make sure that SuperCollider could access the SwingOSC-specific files, I created a symlink from SuperCollider's extensions directory to the extensions that SwingOSC provides:

sudo ln -s /usr/local/SwingOSC/SuperCollider /usr/local/share/SuperCollider/Extensions/SwingOSC

In order to make sure SuperCollider connects correctly to SwingOSC I edited my SuperCollider startup file (vim /home/user/.sclang.sc ) and added the following lines:

GUI.swing;
SwingOSC.program = "/usr/local/SwingOSC/build/SwingOSC.jar";
g = SwingOSC.default;
g.boot;

The final line makes the GUI manager boot automatically when I start SuperCollider.

Try out SuperCollider

Firstly make sure you've got jack running. I started it by running this command:

sudo jackstart --realtime --timeout 1000 -d alsa -r 44100 --period 256 -n 4 &

Then you can run the Linux test script (to make some noise) by typing:

sudo sclang linux/examples/onetwoonetwo.sc

That runs SuperCollider from the command-line. Press Ctrl-C when you want it to stop.

Once you've got that working you probably want to use SuperCollider's emacs interface, which you can launch by typing

sudo emacs -sclang

By the way, a friend of mine helped me measure the latency of the system. Running audio input --> SuperCollider --> audio output, the total latency was measured as 23.78 milliseconds, which is pretty darn good actually.

Learning SuperCollider

Now the fun begins. Not sure what's best to recommend, but here are a couple of tutorial resources:


(c) 2008 Dan Stowell.

I've also added this information to the eeeuser.com wiki at wiki.eeeuser.com/howto:installingsupercollider - other users may have added info to that page.

Creative Commons License
This tutorial is licensed under a Creative Commons Attribution-Noncommercial 2.0 UK: England & Wales License.