Sei sulla pagina 1di 5

088_CORSO_AUDIOFACILE 21 03 2007 18:24 Pagina 88

Corsi
AUDIO FACILE

AUDIO FACILE (18) Sintesi Granulare (2)


di Alfredo Capozzi

Parlare di tecniche di sintesi non è facile, anche perché nel tempo, grazie anche ai processi informatici, si sono
molto ampliate le possibilità di manipolazione del suono in tutte le sue caratteristiche. Ciò comporta ovviamente
da parte del sottoscritto un’attenzione particolare a questo settore ed a come si evolve attraverso i plug-in ed i
programmi sottesi a tale compito. Tuttavia, rincuorato da un nostro lettore, ho voluto dare spazio anche ad un
programma verso cui, in tutta sincerità, non ripongo molta simpatia. Si tratta di Csound, spesso indicato su queste
pagine come programma potentissimo nei risultati, ma molto ostico da gestire. Alessandro Petrolati, esperto dello
stesso, ci darà un piccolo aiuto a capirne il potenziale.

Piccola premessa serire all’interno di questa rubrica un a leggere e ne scoprirete delle belle.
suo applicativo che sta riscuotendo mol- Cedo, quindi, la parola … pardon, il te-
Dopo l’articolo sulla sintesi granulare, ti apprezzamenti in ambienti universi- sto ad Alessandro Petrolati.
Alessandro Petrolati, un nostro attento tari e di ricerca, anche internazionali.
lettore e capace programmatore in am- Ligio al voler dare spazio ai nostri let- Un po’ di storia: Csound e
biente Csound, ha richiesto di poter in- tori, mi è sembrata l’occasione giusta Density
per poter trattare, in
maniera trasversale, Csound è considerato tra i più potenti
questo tipo di lin- linguaggi per la “sintesi del suono”. Per
guaggio di program- usarlo bisogna scrivere un codice arti-
mazione musicale. colato su due files sorgenti orc/sco (Or-
Ciò che non sapevo, chestra e Score) e poi mandarli in ese-
riguardo a Csound, cuzione. L’approccio algoritmico lo ren-
era che questo pro- de versatile e potente (Fig.1), si pos-
gramma consente, sono realizzare illimitati DSP (Digital Si-
nelle versioni più re- gnal Processing) e la potenza di calco-
centi, anche la pro- lo dipende esclusivamente dalla velo-
grammazione di una cità del processore. L’approccio però “a
serie di comandi, programmazione” lo rende ostile per l’u-
con tanto di grafica, tenza media che preferisce applicazio-
richiamabili da una ni “accattivanti” che abbiano un’inter-
serie di finestre in sti- faccia grafica, come i plug-in.
le plug-in. Ciò che Le origini del linguaggio risalgono a Mu-
consente di fare sic1 (1957) di Max Mathews, dopo di
Density GSC, trat- che il programma siè sviluppato negli
tato in questo nu- anni con Music5 (1966), Music360
mero dallo stesso A. (1968) e Music11 (1973). Il “porting” del
Petrolati, è proprio codice dall’assembler del PDP-11 al C
questo: cioè appli- di Unix (da cui prende il nome) originò
care la modellazio- Csound (1986) grazie a Barry Vercoe
ne granulare ai file che lo sviluppò al MIT (Massachussets
audio o alla sintesi Institute of Technology).
sonora mediante Il “compilatore” Csound gira attualmen-
un’interfaccia grafi- te sulle principali piattaforme operative
ca, mentre il vero (Windows, Mac OsX, Linux) e nell’ulti-
elaborato sonoro ma decade, attorno allo stesso, si so-
viene svolto da no sviluppate moltissime distribuzioni
Fig.1 – Una classica schermata di Csound. Csound. Continuate “non ufficiali” cercando, in modi diversi-

CM2 • 88
088_CORSO_AUDIOFACILE 21 03 2007 18:24 Pagina 89

Corsi
AUDIO FACILE
fiche (Grafic User In- sia per la gestione dei parametri di sin-
terface), che agisono tesi improntata sul meccanismo deter-
direttamente sugli ministico/aleatorio.
script di Csound (wid- Presente, al momento solo in versione
gets). Grazie a questo PC, in futuro DensityGSC girerà anche
tipo di programma- su altri sistemi operativi (Mac, Linux.
zione il FLTK sarà Solaris, etc…), appoggiandosi a
presente anche in Csound5.
Csound5, assicuran-
done la compatibilità Come Installare il programma
con il codice Csoun-
dAV. Il programma gira sotto Windows, 95/98
Se da un lato Csound e 2000/XP. L’installazione è guidata da
è sinonimo di “codi- un Wizard che provvede alla creazione
ce”, i widgets ora of- della cartella con i vari collegamenti
frono la possibilità di (Program, Desktop and Quick launch
sviluppare applica- icon). Alla fine del processo parte l’in-
Fig.2 – Alcune videate presenti in CsoundAV.
zioni user-friendly staller del Driver LoopBe1, necessario
ficati, di rispondere all’esigenza del mo- con interfaccia grafi- per simulare una serie di porte virtuali
derno paradigma dell’audio. La versio- ca, questo è un argomento nuovo in via sui computers non dotati della porta MI-
ne italiana di Gabriel Maldonado (Fig.2 di sviluppo che presenta il vantaggio di DI fisica. Questo permette a DensityG-
e 3) è stata la prima a sperimentare la allargare l’utenza anche ai non esper- SC di agganciarsi ad uno degli ingres-
potenza di Csound in tempo reale, ini- ti,lasciando però il codice “aperto”. si virtuali, in assenza di quello fisico.
ziata nel ’98 con RTsound e poi prose- La prima versione di Density è stata
Nota:
guita e migliorata fino all’attuale Csoun- pubblicata nel 2000: si basava su un
dAV (2002), confluita di recente nella programma di controllo scritto in Visual Nel caso si voglia disabilitare l’input MI-
versione ufficiale di Csound5 (ancora in Basic da Flavio Tordini e tre file di co- DI, si dovrà rimuovere la flag -+K dalle
versione beta). difica Csound. I due software (GUI e
Csound ) comunicavano tramite proto- <CsOptions> nei files sorgenti (con
Il progetto Csound5 propone una ver- estensione .csd), presenti dentro la car-
sione unica del programma integrando collo MIDI, appoggiandosi sul loop Mi-
di virtuale . L’introduzione dei Widgets tella d’installazione e anche sul file “Set-
gli sviluppi più importanti delle distribu- tings Flags”, raggiungibile dalla shell.
zioni “non ufficiali”. La stesura univoca ( FLTK) nel 2001 ha permesso l’imple-
delle API (Application Programming In- mentazione dell’interfaccia direttamen-
terface), ossia dei codici operativi del te. Dalla versione DensityWidgets del Cos’è DensityGSC
linguaggio (opcodes), consolida ulte- 2001, il programma ha progredito in-
sieme a CsoundAV. L’attuale GSC (Gra- Si tratta di un software adatto per la “Sin-
riormente la “portabilità” del codice. La
tesi Granulare Asincrona” (Fig.4). Un
versione di Maldonado ha, inoltre, in- nular Synthesis for Csound) termina un
ambiente grafico, disposto su tre livelli
trodotto il FLTK (Fast Light Toolkit), che ciclo di sviluppo pluriennale. Prenden-
di programmazione, ne controlla tutte
consente lo sviluppo di interfacce gra- do spunto da GSC4 che, conosciuto sin
dal 1988, è in asso- le funzioni: la “Re-Sintesi” di materiali
luto il primo script pre-esistenti (1), l’interazione live da una
Csound che imple- sorgente microfonica (2) e la genera-
menta la Sintesi Gra- zione diretta di forme d’onda “prototi-
nulare. L’autore del pali” (3).
programma, Eugenio Tre file con estensione csd (file unifica-
Giordani, è attual- to orc/sco), contengono, in forma te-
mente responsabile stuale, l’implementazione nel linguag-
del Laboratorio Elet- gio CsoundAV:
tronico per la Musica
Sperimentale 1. SoundFiles
(L.E.M.S.) del Con- 2. Prototypes and Synth
servatorio G.Rossini 3. Live
di Pesaro. Il progetto
Density è nato al La ”Density Shell” permette di “istan-
L.E.M.S. sia per lo ziare” gli algoritmi di sintesi e di confi-
Fig.3 – CsoundAv consente anche la manipolazione di effetti grafici. scheduling dei grani, gurare il file “settings flags”: frequenza

CM2 • 89
088_CORSO_AUDIOFACILE 21 03 2007 18:24 Pagina 90

Corsi
AUDIO FACILE

Il secondo “Prototy- (stream) granulari chiamati Granu-


pes” è generativo, a lar_Voices; ogni voce ha un colore di-
differenza di “Sound- verso ed è configurabile individualmente.
Files o Live”. Non ela- Ad esempio, in “SoundFiles” si posso-
bora alcuna sorgente, no caricare otto campioni audio, “split-
ma fornisce uno tabili” mediane i selettori “[#4] Begin-
“stream” granulare di ning loop point” e “[#5] Ending loop
forme d’onda model- point”.
late matematicamen- La schermata si può dividere in quattro
te o importate da suo- aree principali. Seguendo la figura 5,
ni campionati. I para- troviamo i parametri:
metri principali sono gli
stessi di “SoundFiles”, - DETERMINISTICI: [#0] Level controlla il
a cui però si aggiunge valore d’ampiezza (volume) del segna-
il “Morphing” che in- le dei grani, mentre [#1] Width produ-
Fig.4 – DensityGSC (Granular Synthesis for Csound).
terpola due forme ce una pseudo – stereofonia. Se disa-
d’onda diverse, “Grain- bilitato (valore 0), i grani sono replicati
di campionamento, numero per il devi-
let” per l’autocorrelazione frequenza/du- sui canali Left/Rigth (mono); diversa-
ce I/O audio o MIDI e l’editor associa-
rata grano e un Synth polifonico suo- mente s’innesca proporzionalmente un
to agli script.
nabile da Master Keyboard. processo casuale di distribuzione. [#2]
Il primo programma “SoundFiles“ pro-
Il “Density Synth” integra, inoltre, un ge- Attack e [#3] Decay controllano la pen-
cessa files audio di tipo Wav o Aiff. Que-
neratore d’inviluppo di tipo ADSR (At- denza d’attacco e decadimento dell’in-
sta tecnica disintegra il segnale in in-
tack, Decay, Sustain and Release) e un viluppo del grano: valori di 0.5 non in-
gresso e in tempo reale lo ricostruisce
banco di filtri. Sono preassegnati i con- ducono nessuna distorsione dell’invi-
mediante particelle acustiche (grani).
trolli MIDI più generici: Modulation luppo. Valori di 0.25 o minori, invece, lo
Manipolando i parametri di ricostruzio-
Wheel, Pitch Bender, Note On/Off e Vo- degenerano in un trapezoide, mentre
ne del segnale si possono ottenere so-
lume. Allungando la durata del grano, è valori prossimi allo zero in una finestra
norità straordinariamente complesse:
possibile sfruttare il motore granulare rettangolare. Controllando le pendenze
nuvole granulari su bande frequenzia-
per la generazione di patterns ritmici, si possono finemente scolpire timbri di-
li, dissociazione puntillistica della ma-
per esempio groove/loop. versi.
teria sonora, de-correlazione time/pit-
Il terzo programma “Live” in linea di prin- [#4] Beginning loop point e [#5] En-
ch, esplorazione micro-temporale.
cipio è simile a “SoundFiles”, ma agi- ding loop point, sono i selettori tem-
sce direttamente sul porali del file (suono caricato in sound-
segnale “bufferizzato, Files oppure congelamento in Live).
campionato dalla Funzionano come dei markers tempo-
scheda audio (mi- rali semplicemente spostandoli a piaci-
crofono). mento, un puntatore mobile traccia vir-
tualmente il tempo. [#6] Length è un
Uno sguardo al parametro importante perché gestisce
programma la lunghezza del grano espressa in mil-
lesimi di secondo, non altera la morfo-
L’impostazione grafica logia del grano ma solo la durata. Spe-
dei tre programmi è rimentando congiuntamente al para-
coerente. Quattro metro [#7] Density, si possono otte-
schede (tab), poste in nere elongazioni temporali fedeli. [#7]
alto a destra della vi- Density gestisce il numero dei grani nel
deata, consentono di tempo, espresso in gps (grani per se-
accedere alle diverse condo). Il valore 0.5 produce un solo
funzioni: Main, Vecto- grano ogni 2 secondi mentre 100 (de-
rial, Mixer e MIDI fault) cento grani per secondo.
Controls. [#7] Glissando, presente solo in Pro-
Main (Fig.5), contie- totypes, modula la frequenza all’inter-
ne i controlli dei para- no del grano, provocando un glissato
metri di sintesi, sono ascendente o discendente per tutta la
Fig.5 – DensityGSC: parametri della Main Page. disponibili otto flussi durata del grano. [#8] Pitch, espresso

CM2 • 90
088_CORSO_AUDIOFACILE 21 03 2007 18:24 Pagina 92

CORSI
AUDIO FACILE

[#11] Rnd % Density, snapshot le richiama. In DensityGSC,


[#12] Rnd % Pitch e per “transizione” s’intende il passaggio
[#13] Rnd Jittering (morphing) temporizzato tra due sna-
determinano rando- pshots. Questo processo modella in-
mizzazioni sui diretti trinsecamente “l’oggetto sonoro”, po-
parametri determini- tenziando il “Sound Design”.
stici. Dipendono dal La transizione s’imposta con il sotto-
valore del relativo pa- stante comando di Snapshot loading
rametro deterministi- time, mentre con interpolation curve
co: quando azzerati se ne stabilisce la curva temporale che
non introducono alte- può essere concava o convessa. Con
razioni; aumentando i curve si fa in modo che pur rimanendo
valori s’immette una il tempo totale invariato si provoca un’ac-
deviazione casuale celerazione seguita da una decelera-
(+/-) rispetto al valore zione o viceversa del morphing dei suo-
centrale deterministi- ni.
Fig.6 – Nella finestra Vectorial è possibile modulare i suoni in stile Wavestation. co.
Per esempio [#13] Rnd Nota:
in semitoni temperati, controlla l’altez- Jittering agisce sul puntatore al file,
za del suono. [#8] Morphing regola il provocando un movimento arbitrario. Una transizione comincia sempre dal-
punto d’interpolazione tra i prototipi wa- Valori elevati producono salti significa- lo stato attuale degli sliders e si muo-
ve 1 e wave 2. Ad esempio, se wave tivi del puntatore al file. ve verso lo snapshot richiamato. Nel ca-
1 è una sinusoide e wave 2 un’onda so in cui lo slot è vuoto (empty), assu-
triangolare, con Morphing a 0.5, ne con- - VOICE SELECTION: selezionando una me i valori di defaults. Ogni voce gesti-
segue una forma intermedia. [#9] Speed voce, compare il bottone play, questo sce indipendentemente i presets e le
manipola la velocità di lettura tempora- la accende o la spegne, se è contras- transizioni, tramite MIDI è possibile sin-
le del file, in altri termini la scansione segnata dal colore bianco significa che cronizzare il Load snapshot delle otto
del tempo de-correlato dalla frequenza. sulla voce è allocato un file. Inoltre, quan- voci associando il comando ad un “pro-
Il valore zero provoca il congelamento do è in corso una transizione, viene mo- gram change”.
del time pointer, valori negativi induco- strato lo stato d’avanzamento (load sna-
no la lettura all’inverso. Lavorando fine- pshot). La sessione di lavoro può es- Vectorial, Mixer e MIDI: selezionando
mente sul parametro si realizzano esplo- sere salvata su un file di progetto (Sa- queste altre tre schede dal menu prin-
razioni micro-temporali del suono cam- ve project *.prj). cipale, si accede ai parametri di con-
pione. Nel caso di “SoundFile” e “Live” si pos- trollo dei parametri precedentemente
sono inoltre esportare i campioni audio descritti.
- ALEATORI: [#10] Rnd % Length , caricati in memoria o congelati da live-
performance salvan- - Vectorial pad (Fig.6) è una superfi-
doli su un nuovo file cie di controllo per il morphing com-
associato al progetto. plesso di quattro snapshots (posti agli
La barra dei controlli angoli). Nella colonna di destra ci sono
ospita comandi ag- dei tools per automatizzare il pointer
giuntivi: i bottoni con il pad.
simbolo return arrow - Mixer, invece, controlla i livelli delle
accedono alle relative voci e del livello Master, permettendo
opzioni. l’ascolto isolato tramite i solo/mute
(Fig.7).
- TRANSIZIONI: le posi- - In Midi, infine, si associano i parame-
zioni degli sliders dei tri di DensityGSC (slider, knob o botto-
parametri di sintesi, ni) ai controlli MIDI in ingresso su uno
possono essere regi- dei 16 canali selezionato (Fig.8). Il da-
strate mediante il co- to ricevuto è automaticamente mappa-
mando Store sna- to sul valore del parametro, ma può es-
pshot nei 16 slot di- sere riscalato sui valori min/max in per-
sponibili per ogni vo- centuale. Tutte le assegnazioni avven-
Fig.7 – La finestra Mixer relativa alle otto Voice. ce; il comando Load gono in tempo reale.

CM2 • 92
088_CORSO_AUDIOFACILE 21 03 2007 18:24 Pagina 93

CORSI
AUDIO FACILE

vocherà l’importazio- due voci e lanciate le transizioni. Que-


ne di un file mediante sta performance di 20 secondi circa,
la finestra Soundfile muoverà i parametri dalla posizione cor-
load preferences. Au- rente verso i valori originali. Chiara-
mentate l’esponente mente, è possibile registrare i campio-
(default 2^19) nel ca- ni audio anche in real-time.
so vi serva più memo-
ria con i campioni più Conclusioni
pesanti. Ripetete la
stessa operazione nel- Devo essere sincero. Se il futuro di
la seconda voce, cari- Csound è anche questo (faccio riferi-
cando il medesimo fi- mento alla gestione grafica), credo che
le. il programma si ritaglierà una parte im-
Fig.8 – In MIDI Control è possibile assegnare ai parametri di DensityGSC qual- Portate il cursore portante anche fra i semplici appassio-
siasi Control Change Speed al valore zero nati di Home Recording. DensityGSC
(congelamento) su ne rappresenta solo un’appendice de-
Progettazione guidata di un ogni voce, in alternativa adoperate il pul- dicata alla sintesi granulare.Tenete inol-
suono sante Freeze sulla barra di controllo. tre presente che proprio questa tecni-
Impostate il cursore dello slider Pitch ca di sintesi sta ricevendo l’attenzione
Dalla Density Shell, “lanciate” il primo della prima voce a +4 semitoni, mentre di sempre più software house che ini-
programma “SoundFiles”, una finestra quello della seconda voce a -4. Con il ziano ad implementarla all’interno dei
di dialogo aspetterà la selezione del nu- selettore Beginning loop identificate loro strumenti: ultimo in ordine di tem-
mero corrispondente alla porta MIDI in- un punto del file che ritenete interes- po, lo stesso Virus TI nella recente ver-
put. Se al computer non sono collega- sante. Aggiustate gli altri parametri fino sione 2.
te altre periferiche, compariranno solo al conseguimento di un timbro piace-
i devices virtuali. La schermata suc- vole. Chi volesse avere ulteriori informazio-
cessiva elencherà le porte per l’audio Registrate gli snapshots sulla posizio- ni, invece, sul programma può collegarsi
output: MME, DirectSound, ASIO. Vi ne 0 del banco premendo il pulsante al sito di Alessandro Petrolati (www.ales-
consiglio quest’ultimo per tempi bassi Store snapshot, ripetere l’operazione sandro-petrolati.com), dove, oltre ad in-
di latenza (dipende dalla vostra sche- sulla seconda voce. Selezionate, nel dicazioni varie su Csound, potete sca-
da audio). banco il preset 1 (empty) e impostate ricarvi il manuale d’istruzioni per ap-
Dato che per default non è allocato nes- un tempo di 20 secondi di transizione profondire la conoscenza con Den-
sun campione, premete su play: ciò pro- su entrambe le voci. Mettete in play le sityGSC. Buon lavoro.

Per contatti:
a.capozzi@cm2magazine.it

ALTRI LINK CORRELATI

Accademia di Belle Arti di Urbino


http://www.campivisivi.net
http://www.accademiadiurbino.it

LEMS Eugenio Giordani


www.eugenio-giordani.it

CsoundAV by Gabriel Maldonado.


http://csounds.com/maldonado

Csound Home Page


Fig.9 – Un altro screen relativo alle possibilità di gestione audio - video di Csound.obel, che ha gettato le basi con-
http://www.csounds.com/
cettuali sulla sintesi granulare.

CM2 • 93