The very firsts step to SC3
SuperCollider is a powerful programming environment for live music making. It is a textual programming language, combined with a state-of-art sound engine. The basic architecture is based on client-server model, which means that you launch two separate applications, the language (sclang
, client) and the sound synthesis engine (scsynth
, server). The online help is available at sccode, and the mailing list at nabble.
How to start
In order to make some sound, the first step is to launch scsynth
. Lowercase letter s
is reserved for the localhost server. In order to start the sound synthesis engine we have to boot the server.
s.boot; // equivalent to Server.local.boot;
You should get something like this on the Post Window.
booting 57110
localhost
Found 0 LADSPA plugins
Number of Devices: 3
0 : "Built-in Microph"
1 : "Built-in Output"
2 : "Aggregate Device"
"Built-in Microph" Input Device
Streams: 1
0 channels 2
"Built-in Output" Output Device
Streams: 1
0 channels 2
SC_AudioDriver: sample rate = 48000.000000, driver's block size = 512
SuperCollider 3 server ready.
Receiving notification messages from server localhost
Now SC3 is ready to make some noise.
Some useful GUI are the followings:
s.meter;
s.volume.gui;
FreqScope.new;
Basic keyboard shortcut for SC3 IDE
Ctrl+RET
: execute code block (RET
stands for Return/Enter)
Shift+RET
: execute code block
Ctrl+.
: stop sound (Ctrl + dot)
Shift+Ctrl+L
: Recompile class library
See and hear some sounds
If the output sound is not stereo, SC3 sends the output to the left channel.
{ LFSaw.ar(20, 0, 0.5) }.plot(1)
{ LFSaw.ar(20, 0, LFSaw.kr(1)) }.plot(1)
{ LFSaw.ar(20 * Line.kr(10,1,1,1,0,2), 0, LFSaw.kr(1)) }.plot(1)
{ LFSaw.ar(20 * Line.kr(10,1,1,1,0,2), 0, LFSaw.kr(1)) }.play
Using Ndef
// execute sequentially
Ndef('x', { LFSaw.ar(200 + (100 * LFSaw.kr(9)), LFSaw.kr(1)) }).play
//
Ndef('x', { LFSaw.ar(200 + (100 * LFSaw.kr(19)), LFSaw.kr(1)) }).play
//
Ndef('x', { LFSaw.ar(200 + (100 * LFSaw.kr(19)), LFSaw.kr(11)) }).play