Intro to SuperCollider 3 for the Uninitiated
There are so many good tutorials, books, and websites out there for learning SuperCollider that one may scoff at “yet another…” SuperCollider intro and for good reason. This article, however, aims to answer really basic questions at the absolute beginner level, questions such as “ok, but how do I get SuperCollider and what version do I want?” I will present information in the form of an extended FAQ largely based on questions I have answered over and over again.
Q. What is SuperCollider?
A. From the website: SuperCollider (SC3 for short) 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.
Q. What does that mean?!?
A. It means that the SC3 interface is ostensibly a text editor and the way you interact with the program is by writing text. You will have to know how to code to use SC3. You either have to a) come in with coding experience, or b) learn as you learn SC3. No matter what, though, you will have to study some non-SuperCollider programming language materials to advance.
If this seems unmusical and like a terrible way to interact with music in real-time you will be happy to know that, while you have to code it up yourself, you can write programs that create GUIs for you to twiddle knobs and move sliders, or you can plug in a MIDI controller and use it to perform and interact with your code. The difference between SC3 and what you may be used to with other music programs is that SC3 is a blank slate. You start with a blank page and go from there. While this makes getting started take a bit longer, it also means you can create anything you want.
More specifically yet, SC3 is a program in three parts:
- The part you interact with (the IDE, emacs, gedit or other text editor
- The part that interprets the code you write (sclang)
- The part that receives the compiled code and makes the noises (scsynth.)
The IDE (integrated development environment) is the bomb-ur-mom-diggity and using anything else is dumb. The IDE created for SC3.6 and aims to replace all other (older) text interfaces to sclang across all platforms — in short, one interface to rule them all. If you are new to SC3 you should use the IDE version (i.e. the latest version of SC3.x.)
Additionally, SC3 uses extensions to the “vanilla” program described above in the form of Extensions (additions to the sclang) and Plugins (extensions to the scserver.) The extensions are installed using a built-in packaging system called Quarks. Quarks allow you to see what extensions are installed, install new extensions and their dependencies, and uninstall extensions all from within the IDE.
Q. Who uses SC3 and for what?
A. Lots of different people use SC3 for lots of different reasons. Because it’s so good at real-time interactive audio, beat and pattern-based music, and non-realtime things like algorithmic composition, the user base is really diverse. Personally, I have used SC3 to create algorithmic music, live interactive pieces (complete with janky GUI) as well as one-offs and single-line pieces for dubious purposes.
Q. Okay, so what is SuperCollider NOT good at?
A. I would say if you were going to score a movie or commercial, or mix/master a pop album (or R&B/hip hop/metal) you would be better off using a tool like Logic or Pro Tools. Why reinvent the wheel if there are programs that have been designed and refined over years to do exactly what you want? (You may also like Sunvox. I think this program is awesome. Also, it runs on everything including your MeeGo.)
Additionally, the reality is that SC3 hard. You may have to invest serious time to feel even moderately proficient enough with SC3 to make music with it. Many are called, but few invest the sweaty human-hours necessary to become SuperCollider Heroes.
Q. What’s the easiest way to get started?
A. Download the SuperCollider IDE package from sourceforge and start with the built-in tutorials.
All download packages can be found here: http://supercollider.sourceforge.net/downloads
I’ve written a couple of tutorials on installing SuperCollider on Debian (Ubuntu and CrunchBang) Linux that you may find helpful if you are a Linux user. Mac and Windows users should just click the downloads under the respective OS headings.
Q. OK, I’ve got it and installed it… now what?
A. Open the program and, in the help browser to the right you should see “Getting Started tutorial series.” (If you don’t, scroll down a few lines 😉 ) Click that and work your way through.
If you just want the satisfaction of making sound NOW NOW NOW, do the following:
1. Open SuperCollider
- Mac: double-click the SuperCollider.app
- Linux: boot jack (from terminal: qjackctl then click ‘Start’) then run ‘scide’ in a new terminal.
- PC: double-click the SuperCollider.exe executable. (note: the first time you run SC3 on Windows the Windows Firewall will pop up and ask you if you want to allow SuperCollider to connect to different networks. Click ‘allow’.)
2. Click on the Language menu item and then select “Boot Server” or:
- Mac: command+B
- Linux & PC: control+B
3. copy this code (including the parentheses) to SuperCollider:
( play{a=SinOsc.ar(LFNoise0.kr(5, 500, 600));b=CombC.ar(a,2,LFNoise1.kr(0.5, 0.99, 1)); FreeVerb.ar(a+b)!2} )
Click inside the top parenthesis and press command+return (Mac) or control+return (Linux & PC) to evaluate the code and make some noise.
4. When you are sick of it, press:
- Mac: command+period
- Linux & PC: control+period
to stop the audio.
Q. Kewl, but I want those sweet plugins and externals and…
A. Well, that’s not a question, but OK. On the same page as above you will find links (at the bottom) to the plugins page.
- Mac: download the dmg, double-click it to mount it and drag the folder to: /Library/Application Support/SuperCollider/Extensions
- Windows: download the .zip and unzip wherever you like. Follow instructions in the readme.txt to install in the place appropriate for your system.
- Linux: sorry, but you will have to compile from source code and a lot of them don’t work on linux. :'( ‘ ‘
Q. Wouldn’t a list of commonly-used keyboard shortcuts be helpful?
A. Sure.
To get help: select an entire UGen or other “word” in the code and press
- Mac: command+d
- Linux & PC: control+d
To Boot the server:
- Mac: command+B
- Linux & PC: control+B
To evaluate a selection, line, or region of code:
- Mac: command+return
- Linux & PC: control+return
To stop all running audio processes:
- Mac: command+.
- Linux & PC: control+.
Q. Are there any useful GUIs I should know about?
A. Yes.
Show audio meters:
- Mac: command + M
- Linux & PC: control + M
Show Server GUI (from which you can record audio:)
Server.default.makeGui; // evaluate this code
Note, in addition to starting and stopping recordings, you can use this GUI to boot and quit the server as well as control the overall sound volume.
Show Quarks GUI*:
You can use this GUI to see what quarks you have installed, install more, and uninstall and Quarks you want.
Quarks.gui; // evaluate this code
Please note that at the time this post was composed, Quarks are sort of jacked-up. If you have problems installing Quarks, please check out the Nabble SuperCollider email list.
Q. What are some of the resources available for learning/exploring SC3?
A. There are metric tonnes of information in bits and bytes all across the interwebz. Here are some.
_SuperCollider Sourceforge “learning” page: http://supercollider.sourceforge.net/learning/
_Nabble SuperCollider Forum / Mailing List: you MUST join this mailing list and troll this forum if you plan on doing anything with SC3.
_SC3 code/example site: Great site with lots of code you can download and run: http://sccode.org/
_SuperCollider Book: Get thee hence to a book dispensary and purchase this goodly book! http://supercolliderbook.net/
_Computer Music using SuperCollider and Logic Pro: http://www.lulu.com/us/en/shop/david-michael-cottle/computer-music-using-supercollider-and-logic-pro/ebook/product-21296573.html
_People: (in no order)
Joshua Parmenter: http://www.realizedsound.net/josh/SuperCollider.html
James Harkins: http://www.dewdrop-world.net/sc3/index.php
Scott Wilson: http://scottwilson.ca/scottwilson.ca/Software.html
Dan Stowell: http://www.mcld.co.uk/
Andrea Valle: http://www.fonurgia.unito.it/wp/
Nick Collins: http://www.sussex.ac.uk/Users/nc81/code.html
Stelios Manousakis: http://modularbrains.net/supercollider.html
_Groups:
Soundcloud: https://soundcloud.com/groups/supercollider