Download, installazione e risorse in rete

Super Collider (SC) è un software multi-piattaforma Open Source rilasciato sotto una licenza GNU versione 3 ed basato sul paradigma della programmazione orientata ad oggetti (OOP - Object Oriented Programming). Imparare un software che usa un linguaggio OOP facilita l’apprendimento di altri programmi che seguono lo stesso paradigma, magari non necessariamente dedicati alla musica ma che possono creare prodotti multimediali interagendo con SuperCollider in diversi modi (Processing, Lilypond, Arduino, etc.).

Altri software musicali simili utilizzati in ambito professionale, come Max, Pure Data, Open Music, PWGL, si basano su di una programmazione grafica a oggetti (VPL - Visual Programming Language) che rappresenta un diverso paradigma di programmazione, molto più legato alla specificità dell’informatica musicale. Sono oltretutto ottimizzati per scopi molto specifici (Open music e PWGL per la composizione assistita e la sintesi del suono, Max e Pure Data per l’interazione in tempo reale), mentre SuperCollider è più ”aperto” nel plasmarsi alle diverse esigenze musicali ed espressive.

E’ possibile scaricarlo direttamente dalla rete: Download SuperCollider scegliendo la versione più adatta al proprio sistema operativo (MAC, WIN o LINUX) e seguendo le istruzioni d’installazione. Allo stesso link possiamo trovare tutte le notizie relative al software (Documentazione, Mailing list, link, etc.).

Di seguito sono indicati alcuni link dove è possibile sia trovare manuali e tutorials scaricabili gratuitamente, sia curiosare tra le potenzialità di SuperCollider.


Interfaccia utente

Una volta scaricato il software, possiamo lanciare l’applicazione con un doppio click sull’icona. Compare l’interfaccia utente che, dalla versione 3.4 in poi è cambiata radicalmente. La figura sottostante mostra la schermata iniziale delle versioni più recenti (IDE) che è uguale su tutti i sistemi operativi ed è divisa in quattro parti:

image not found

Architettura

SuperCollider è un linguaggio OOP (Object-Oriented Programmation) basato su Smalltalk e, anche se vediamo una sola interfaccia utente suddivisa in diverse parti non è un applicazione unica ma due applicazioni separate. Entrambe sono aperte contemporaneamente e comunicano tra loro attraverso il protocollo OSC.


Comandi principali

Esploriamo ora i comandi principali nell’ordine in cui solitamente si effettuano le operazioni più o meno quotidiane. Per prima cosa dobbiamo creare un nuovo file oppure aprirne uno esistente.

New file

Per creare un nuovo file: MAC: cmd+n, WIN: ctrl+n

Open file

Per aprire un file esistente: MAC: cmd+o, WIN: ctrl+o

Dopo aver creato o aperto un file, se vogliamo far compiere un’azione a SuperCollider (come eseguire un’operazione matematica, scrivere una partitura, definire un algoritmo di sintesi, cambiare i parametri di un Synth, farlo suonare, stopparlo, etc.) dobbiamo:

  1. scrivere nell’interprete una o più righe di codice contenenti una sequenza di istruzioni
  2. selezionare una o più righe di codice con il mouse
  3. eseguire (valutare) il codice selezionato schiacciando i tasti shift+invio

Entriamo nel dettaglio di queste operazioni.

Eseguire il codice (Evaluate)

L’Interprete è suddiviso in righe numerate da 1 a n e ogni riga termina con un ; (punto e virgola). Se scriviamo su più righe ma non mettiamo punto e virgola prima di andare a capo, SuperCollider le interpreta come una sola. Se invece scriviamo del codice sulla stessa riga dopo un punto e virgola SuperCollider lo interpreta come se fosse scritto una riga sotto.

1+2;      // questa e' una riga
(         // ma anche da qua...
1+
2/
3;        // a qua per SC e' una sola riga...
1+2; 3*7; // Queste sono due righe...
)							

Possiamo eseguire il codice in tre possibili modi:

In queste ultime due modalità le operazioni sono eseguite consecutivamente da sinistra a destra, riga dopo riga, dall’alto verso il basso in quasi tutti i casi (vedremo le eccezioni di volta in volta nel dettaglio).

Eseguendo i due esempi precedenti probabilmente non avete sentito alcun suono. Questo perché se vogliamo generare o elaborare segnali audio, prima dobbiamo accendere il Server (boot) e poi eseguire il codice.

Boot del Server

Abbiamo a disposizione tre possibili modi di accendere e spegnere il server:

Tutti gli esempi di codice che seguono questo punto si intendono da eseguire con il Server acceso.

Stop dei processi in corso, audio compreso

Per fermare la computazione dei processi in corso (anche quella audio) senza spegnere il Server, possiamo usare la seguente abbreviazione da tastiera: MAC: cmd+., WIN: alt+.

Eseguendo il ”Boot” del Server, accendiamo o spegnamo la computazione dell’audio in SuperCollider. Se però non inviamo alcun segnale all’uscita, non udiremo alcun suono. E’ possibile paragonare quest’azione all’accendere o spegnere la corrente di un sistema elettroacustico minimo (mixer, amplificatore e altoparlanti). Quando invece eseguiamo il codice e fermiamo l’esecuzione come abbiamo visto, è come se schiacciassimo i pulsanti ”Play” e ”Stop” di un CD player o di un altro generatore di suono collegato al sistema elettroacustico di cui sopra.

Se finora tutto è tutto andato bene, sentiremo il risultato sonoro delle istruzioni date a SuperCollider, se invece abbiamo commesso qualche errore nello scrivere il codice compariranno nella post window uno o più messaggi di errore.

Messaggi di errore

Eseguiamo il seguente codice che contiene volutamente un errore (manca la virgola prima di 0.1)

play({SinOsc.ar(LFNoise0.kr(12, mul: 600, add: 1000) 0.1)})					

Leggiamo nella post window cosa ci dice SuperCollider: le freccette o il pallino indicano dove si è interrotta la compilazione, quindi l’errore sarà necessariamente prima e tocca a noi scovarlo. In seguito incontreremo ulteriori informazioni riguardo i messaggi di errore [METTI LINK]

Cancellare il contenuto della post window

Se vogliamo cancellare (pulire) il contenuto della post window possiamo utilizzare la seguente abbreviazione da tastiera: MAC, cmd+shift+p, WIN: ctrl+shift+p

Commenti

Come potrete presto realizzare, è molto utile inserire dei commenti nel codice sia per agevolare la memoria nel caso volessimo modificare un patch a distanza di tempo, sia nel caso volessimo passarlo a qualcuno che sarebbe così agevolato nell’analisi del codice e nella lettura dei processi mentali da noi usati per programmarlo. I commenti sono colorati di rosso e ci sono due possibili sintassi:

Possiamo anche utilizzare un’abbreviazione da tastiera: scriviamo il testo e lo selezioniamo digitando cmd + shift + /.

Help files

Gli Help files sono i nostri migliori amici quando incontriamo qualche oggetto (parola) di SuperCollider sul quale vogliamo ottenere informazioni.

Per richiamare un help file dobbiamo selezionare la parola (Doppio click o Click and drag)

SinOsc;		

dopodichè schiacciare: MAC: cmd + d, WIN: ctrl + d.

Per sapere se un oggetto (parola) ha un help file o meno, possiamo eseguire la riga seguente, sostituendo ”Array” con il nome dell’oggetto del quale vogliamo richiamare l’Help.

Array.hasHelpFile;	

Le istruzioni precedenti sono quelle più comunemente usate, ma vediamo ora come possiamo ottenere altre informazioni utili. Al momento alcuni termini potranno risultare oscuri, in seguito però potremo tornare a questo paragrafo e utilizzarlo come reference.

- Per richiamare le definizioni di una Classe oppure vedere quali Classi rispondono a un metodo: MAC e WIN: Cmd+i

SinOsc;    // cmd + i
rand(100); // cmd + i	

- Per richiamare la gerarchia di una Classe.

Clock.dumpClassSubtree;

- Per richiamare i metodi d’Istanza e di Classe che possono essere invocati da messaggi (Come possiamo notare per i metodi di Classe bisogna aggiungere 'Meta_' al nome della Classe).

Array.dumpInterface;      // metodi d'istanza
Meta_Array.dumpInterface; // metodi di classe

- Per richiamare un Browser grafico contenente una serie di informazioni.

Array.browse;

Save

Infine quando siamo soddisfatti del nostro lavoro oppure quando la giornata lavorativa è terminata per orologio o sfinimento e dobbiamo salvare il file: MAC: cmd+s, WIN: alt+s.

Si aprirà un menù a comparsa nel quale possiamo specificare quattro formati differenti:

In questi formati viene salvato il codice scritto nell’interprete, non l’audio eventualmente prodotto da esso.