B- Sistemi e linguaggi di programmazione per l'audio e le applicazioni musicali 1
Programma di Studio
Il linguaggio di programmazione per l'audio Supercollider: l'ambiente di sviluppo: sclang e server,
elementi del linguaggio, utilizzo degli Ugens, esempi di funzioni audio; Tipi di dato, costanti e variabili,
variabli globali, locali e d’ambiente, funzioni, argomenti delle funzioni; Scope delle variabili, collezioni: gli
Array, metodi costruttori e metodi per modificare gli array; Somma di sinusoidi tramite Array e l’Ugen
Mix; Il controllo del flusso: selezione (if), cicli (while, do), utilizzo del ciclo do per iterare un array;
L’oggetto Signal: caratteristiche e metodi; Sintesi per wavetable, sintesi addittiva mediante sineFill a
partire da un Array; Modulazione dei parametri di una function audio; I Bus (audio e control),
l’organizzazione degli audio Bus nel server, Bus interni e esterni, Multichannel expansion; Generatori
stocastici e caotici, generatori di rumore; sintesi sottrattiva, rappresentazione di segnali nel dominio della
frequenza; I generatori di inviluppo in Supercollider: Env e EnvGen, inviluppi per breakpoints, inviluppi asr
e adsr, inviluppi percussivi; Linee di ritardo, DelayN e DelayL, realizzazione di delay e echo; Delay
multitap; Banchi di oscillatori (Klang e DynKlang) e risuonatori (Klank e DynKlank); La classe OscDef e il
suo utilizzo per lo scambio di dati con altri ambienti di sviluppo; Gestione eventi, app clock, system clock e
tempo clock; Routine, uso di una routine per la temporizzazione di eventi sonori.
Modalità di svolgimento dell’esame
Realizzazione di uno strumento originale / ambiente esecutivo / composizione algoritmica in
Supercollider.
Bibliografia