De server staat bij het opstarten van SC niet standaard aan. Dit is net als in Max, waar je ook eerst de audio aan moet zetten voor er geluid mogelijk is.
De server zet je aan door de volgende regel code uit te voeren:
s.boot;
Je zult nu zien dat de server-meters groen worden. De server kiest als output standaard de output van je computer.
Wil je de server uitzetten, gebruik dan de volgende code:
s.quit;
Om geluid af te kunnen spelen kun je een functie maken die je uit kan voeren. In Supercollider maak je een functie door code tussen { } te plaatsen:
~sinus = {SinOsc.ar(440);}
De functie voer je vervolgens uit met:
~sinus.play;
Als het goed is hoor je nu een sinustoon van 440Hz. Je moet hierbij wel de server aan hebben staan, anders gebeurt er niets. Gebruik cmd/ctrl + . om het geluid weer te stoppen.
Als je de volgende code gebruikt hoor je niet alleen de sinustoon, maar zie je hem ook verschijnen op de spectroscoop:
~sinus.scope;
Supercollider wordt geleverd met een groot aantal Unit Generators, kortweg UGens. Als je in de help browser op Browse klikt en dan onderin op UGens krijg je een overzicht met welke UGens er beschikbaar zijn.
Je kunt een UGen op twee verschillende manieren gebruiken: met .ar of met .kr als achtervoegsel. .ar staat voor AudioRate, dit is te vergelijken met de audio objecten in Max, dit zijn de objecten die audio genereren / bewerken en hoorbaar moeten zijn. .kr staat voor KontrolRate, dit is te vergelijken met de objecten zonder ~ in Max, deze kun je bijvoorbeeld gebruiken als LFO.
Als je de naam van een UGen met je mouse selecteert en op cmd/ctrl+D drukt krijg je een overzicht (description) van hoe je deze kunt gebruiken. Bij bijvoorbeeld SinOsc.ar zie je dat je vier argumenten moet invullen: de frequentie, de fase, de mul en de add. Ook kan je zien dat er standaardwaarden zijn ingevuld. Als je niets invult worden die waardes gebruikt.
Twee argumenten die je bij bijna elke UGen tegenkomt zijn mul en add. Net als in Max zijn de digitale audiosignalen in Supercollider uitgedrukt in getallen tussen -1 en 1.
Met mul kan je deze waarden vermenigvuldigen met een getal. Als je het signaal van een standaard oscillator wilt verzwakken tot de helft moet je bij mul dus 0.5 invullen, de range van de oscillator zal dan tussen -0.5 en 0.5 zijn.
Met add kan je een offset meegeven aan een signaal. Wil je bijvoorbeeld een sinus-oscillator gebruiken als LFO-signaal om de amplitude van een oscillator aan te passen dan zul je van het signaal van -1 tot 1 een signaal van 0 tot 1 moeten maken. Je hebt net gezien dat met een mul van 0.5 het signaal van -0.5 tot 0.5 loopt. Door er dan 0.5 bij op te tellen loopt het signaal van 0 tot 1.
SinOsc.ar(100,0,0.5,0.5);
-
Let op! Voer deze code niet zomaar uit! Het is geen bipolair audiosignaal meer, je kunt hier je speakers mee beschadigen!
Wil je nu de frequentie van een oscillator moduleren dan kan je ook de mul en add gebruiken. Wil je dat de frequentie moduleren tussen 50 en 150Hz moet je een mul gebruiken van 50 en een add van 100.
SinOsc.ar(100,0,50,100);
-
LET OP! VOER DIT NOOIT ZOMAAR UIT. EEN SIGNAAL DAT 50X VERSTERKT IS, IS ERG HARD!
Als je wil berekenen welke mul en welke add je moet invoeren dan kun je dat als volgt aanpakken: (bij een range tussen de 50 en 150)
Mul: bovengrens – ondergrens / 2 150 – 50 = 100/2 = 50 Add: ondergrens + mul 50 + 50 = 100
De oscillator zal nu bewegen met 100 als nulpunt en tot maximaal 50 daaronder en daarboven.
De kracht van Supercollider ligt erin dat je gemakkelijk UGens kunt combineren tot complexere en daarmee vaak meer interessante synthese. In het bovenstaande voorbeeld kan je bijvoorbeeld nooit de modulerende sinus zomaar uitvoeren, je zult deze moeten gebruiken om de frequentie van een andere UGen te moduleren. Dit doe je met de volgende code:
{Saw.ar(SinOsc.kr(1,0,50,100),SinOsc.kr(0.5,0,0.5,0.5),0)}.play; Zorg bij het uitvoeren van de code dat je het volume van je laptop altijd heel zacht zet. Als je code typt die er voor zorgt dat het hard wordt afgespeeld, zal Supercollider dit ook hard afspelen! Gebruik nooit een hoofdtelefoon of oortjes als je aan het experimenteren bent.