Upload
hoangminh
View
216
Download
0
Embed Size (px)
Citation preview
Andrea Arcella Dimensioni – Fase Seconda 1
Indice generaleIntroduzione...............................................................2Evoluzioni tecnologiche e live electronics................4Problematiche del live electronics.............................8Dimensioni – Fase Seconda: struttura generale.......11Realizzazione di Dimensioni – Fase Seconda: il software...................................................................13
La patch per Dimensioni – Fase Seconda: struttura generale................................................................13Problematiche incontrate in fase di programmazione...................................................15Analisi delle macchine e dei relativi algoritmi ....17
Dimensioni – Fase Seconda: partitura di esecuzione per il flautista...........................................................28APPENDICE...........................................................31
Il software usato per la realizzazione di Dimensioni – Fase Seconda: Pure Data...............31
Andrea Arcella Dimensioni – Fase Seconda 2
Introduzione
In questo lavoro verranno analizzate le varie fasi del lavoro di
composizione del mio brano Dimensioni – Fase Seconda per
performer flautista e live electronics. Il titolo del brano è ispirato
alla composizione Musica su due dimensioni (1958) di Bruno
Maderna e rende omaggio alla memoria del grande compositore che
tra i primi ha tentato di ricomporre il diaframma tra musica
elettronica e strumenti tradizionali. Il brano di Maderna, come è
noto, era proprio per flauto ed elettronica come la mia
composizione. All'epoca non era neanche pensabile realizzare un
lavoro in cui l'elettronica non fosse fissata su supporto. Mi piace
pensare che la Fase Seconda del mio titolo1, oltre ad essere un
riferimento esplicito alla Seconda Dimensione di Maderna, sia
contrassegnata da un avanzamento nelle possibilità espressive date
dalle tecnologie attuali.
La composizione di Dimensioni – Fase Seconda ha richiesto
competenze tecniche e soluzioni musicali profondamente diverse da
quelle adottate nelle mie precedenti esperienze di composizione con
strumenti informatici. Tali composizioni si basano infatti su una
parte elettronica realizzata in studio e fissata definitivamente su
supporto digitale. Il principale problema tecnico da affrontare in
questi casi per l'esecuzione dal vivo è stato la sincronizzazione del
performer2, l'equalizzazione generale per correggere eventuali
problemi acustici della sala e una regia del suono che, interagendo
con il performer, garantisse una buona riuscita dell'esecuzione. Nel
live electronics la macchina produce in tempo reale l'esecuzione
1 Il lettore potrebbe associare Fase Seconda al noto testo di M. Bortolotto dal titolo omonino ma l'omonia è puramente casuale.
2 Nel caso delle mie precedenti composizioni si trattava di attori (5P) e cantanti (Identità)
Andrea Arcella Dimensioni – Fase Seconda 3
musicale sulla base di input forniti dal performer.
In generale i modi in cui la macchina reagisce agli input e il tipo di
interazione tra il performer e la macchina possono variare molto da
caso a caso e quindi la generica definizione di live electronics deve
essere specificata meglio; esiste una tassonomia piuttosto vasta che
si associa al termine di live electronics e che da origine a prassi
compositive e soluzioni tecniche diverse.
Un ulteriore fattore che spesso entra in gioco quando si affronta il
live electronics è la pratica dell'improvvisazione musicale da parte
del performer. L'improvvisazione non è necessariamente connessa
alla pratica del live electronics ma osservando la produzione
musicale degli ultimi decenni si nota che molto spesso, seppur in
modi diversi, i due termini vengono associati. Esistono molti “filoni
compositivi” in cui i termini di live electronics e improvvisazione
elettroacustica sono diventati praticamente interscambiabili.
Nel seguito di questo lavoro tratteremo alcuni di questi temi in
relazione alla composizione di Dimensioni – Fase Seconda.
Andrea Arcella Dimensioni – Fase Seconda 4
Evoluzioni tecnologiche e live electronics
Una disamina storica completa del live electronics e delle sue
implicazioni sulla prassi compositiva esula dagli scopi di questo
lavoro, tuttavia citeremo alcuni nodi storico-musicali e tecnologici
funzionali ai nostri argomenti.
Una condizione necessaria ma non sufficiente alla prassi del live
electronics è quella di disporre di macchine in grado di generare
suoni in tempo reale. Le tecnologie su base analogica consentono
questa possibilità e sono state disponibili già a partire dalla prima
metà del secolo con strumenti come il theremin; esse hanno
conosciuto uno sviluppo radicale dopo la seconda guerra grazie ad
un vorticosa crescita dell'elettronica analogica ed alla sua
progressiva miniaturizzazione. In effetti i generatori d'onda presenti
a Colonia prima e poi a Milano negli anni '50 consentivano la
generazione sonora in tempo reale. Il problema di tali tecnologie
(oltre la loro iniziale povertà acustica) era soprattutto il loro
controllo complessivo tramite un meccanismo di automazione.
Questa limitazione rendeva impossibile realizzare
contemporaneamente la fase di microcomposizione (dei suoni) con
la fase di macrocomposizione (con i suoni). Questo tipo di
limitazione aveva come postulato l'impossibilità di pensare il live
electronics.
Negli anni '60 i lavori di Koenig ad Utrecht sull'automazione, che si
concretizzarono musicalmente nella serie di brani Funktion (1967-
1969), miravano proprio a integrare nelle macchine la possibilità di
diversi livelli compositivi. La ricerca sull'automazione non era però
diretta alla performance live quanto alla realizzazione di un metodo
per integrare la micro e la macro composizione.
Andrea Arcella Dimensioni – Fase Seconda 5
Negli stessi anni però si assiste alla composizione di lavori seminali
come Mikrophonie I3 (1964/1965) di Stockhausen in cui la
definizione di live electronics con tecnologie analogiche è
pienamente calzante. Rimane da osservare però che non ci troviamo
ancora di fronte alla possibilità di pilotare un generatore di suono
autonomo ma solo all'elaborazione di un segnale audio esterno.
La successiva miniaturizzazione dell'elettronica con la diffusione
del transistor su scala industriale sfociò nella realizzazione di
strumenti elettronici votati all'esecuzione dal vivo, ovvero i
sintetizzatori4. Tale parola divenne universalmente nota quando
queste macchine assunsero la forma oggi familiare di tastiere che
controllano banchi di oscillatori. Grazie a Robert Moog5 queste
macchine entrarono nel mondo della musica extra colta diventando
un fenomeno di costume, ma anche compositori come Stockhausen
utilizzarono prodotti commerciali per le proprie performance dal
vivo.
Le tecnologie che sono oggetto di questo lavoro sono tecnologie
digitali, con una storia più recente e comunque diversa da quella
analogica. Ciò nonostante il breve excursus che abbiamo fatto ci
consente di focalizzare un aspetto tuttora cruciale del live
electronics che è il meccanismo di controllo della generazione
sonora e quindi di interazione performer/strumento su cui torneremo
nei paragrafi successivi.
Il passaggio alle tecnologie digitali ha completamente trasformato
3 Il generatore di suono è un tam-tam ripreso da microfoni mossi da due esecutori sulla superficie dello strumento stesso; il suono ripreso dai microfoni subisce quindi un'elaborazione elettronica
4 Dal punto di vista storico si deve precisare che i primi sintetizzatori (intesi come generatori di suono basati su un principio di automazione) construiti in ambito di ricerca sono precedenti. Il più famoso è RCA Mark II Sound Synthesizer del 1957 progettato alla Columbia University. Anche tali macchine, per tecnologia e per concezione, escludevono un uso dal vivo.
5 Inventore dei primi sintetizzatori analogici a tastiera che usavano il metodo del voltage control
Andrea Arcella Dimensioni – Fase Seconda 6
sia i limiti sia le possibilità di composizione elettroacustica.
Inizialmente6 da un lato si assistette ad un peggioramento, rispetto
all'era analogica, delle possibilità legate alla generazione in tempo
reale (che dipendono dalla presenza di processori sufficientemente
potenti) e dall'altra ad un miglioramento drastico delle possibilità di
controllo dovute alle tecniche di controllo numerico, assai più
precise di quelle analogiche.
L'avvento su scala industriale dei microprocessori negli anni '70 ha
mutato il panorama della musica elettronica dando luogo alla
seconda fase dello sviluppo dell'informatica musicale (dopo la fase
pionieristica negli Stati Uniti) che è diventata il substrato tecnico-
scientifico della composizione musicale elettroacustica.
Negli stessi anni cominciarono ad affermarsi anche speciali
microprocessori chiamati DSP (Digital Signal Processor) in grado di
realizzare la sintesi in tempo reale. I costosissimi sistemi basati su
DSP avevano bisogno di essere controllati da un'elettronica esterna,
in genere un microprocessore general purpose su cui veniva
programmato il dato di controllo per i DSP. Si era dunque in
presenza di un sistema in tempo reale ma su cui non era possibile
fare live electronics. Tali sistemi, oltre al costo proibitivo per i
singoli musicisti, richiedevano anche l'assistenza di uno staff tecnico
altamente specializzato.
Negli anni '80 la forte richiesta del mercato di massa degli strumenti
musicali elettronici per la musica pop portò alla nascita del
protocollo midi ancora oggi in auge. Il protocollo midi consentì la
creazione di nuove tastiere digitali, con un interfaccia utente
(tastiera del pianoforte, parametri per la programmazione dei suoni) 6 Anche in questo caso bisogna sottolineare che le applicazioni dell'informatica alla musica
hanno precedenti storici importanti già negli anni '60. In questa sede però facciamo esplicito riferimento alle applicazioni informatiche che rendono possibile la generazione sonora in tempo reale.
Andrea Arcella Dimensioni – Fase Seconda 7
molto simile a quella dei sintetizzatori analogici in voga fino ad
allora. Fu possibile quindi costruire sintetizzatori digitali7 basati
sulla sintesi FM prima e sul campionamento poi in grado di emulare
i suoni di strumenti acustici meglio di quanto non facesse la classica
sintesi sottrattiva impiegata nei synth analogici.
Il successo del MIDI è stato totale perché rispondeva (e risponde
ancora) in pieno all'esigenza dell'industria musicale pop, ma bisogna
dire che è stato impiegato con successo anche nell'ambito della
musica elettroacustica colta. Basti ricordare che i linguaggi per la
programmazione di sistemi interattivi come MAX nacquero
originariamente per la gestione del solo dato di controllo midi,
mentre le capacità di sintesi interne furono aggiunte in un secondo
momento.
Ad oggi la disponibilità di microprocessori potentissimi e a costo
irrisorio ha praticamente annullato il problema della generazione in
tempo reale. La problematica ancora aperta sotto il profilo della
prassi musicale è quindi quella di stabilire quale siano i sistemi di
controllo di un sistema di generazione che meglio aderiscano
all'idea compositiva che si vuole sviluppare.
7 Ci fu un periodo di transizione in cui furono introdotti sintetizzatori con controllo digitale e generatori di suono analogici basati su sintesi sottrattiva.
Andrea Arcella Dimensioni – Fase Seconda 8
Problematiche del live electronics
Lo schema che segue mostra gli elementi che danno luogo ad una
tipica performance elettroacustica di live electronics.
Per non divagare dal nostro tema diamo per assunto che il perfomer
sia un essere umano e che non ci si trovi di fronte ad un meccanismo
di pura musica generativa in quanto anche in questo caso il
performer verrebbe sostituito da un sistema algoritmico.
Il paradigma del protocollo midi è proprio quello della dicotomia
controller/sound generator. Il controller è un oggetto fisico o un
software che emette dati di controllo per il sound generator che a
sua volta può essere implementato anch'esso in hardware o in
software e l'intero sistema funziona in tempo reale ovvero il
generatore di suono risponde in tempo reale ai dati forniti dal
controller. Nel caso in cui il performer effettui queste variazioni di
controllo dal vivo allora possiamo dire che ci troviamo di fronte ad
una performance di live electronics. Certo la definizione è un po
semplicistica in quanto potremmo considerare anche una
performance da piano-bar come live electronics, ma in questo
momento non consideriamo la tipologia di proposta musicale ma
solo il dato tecnico della performance. In effetti chi fa piano-bar con
i synth commerciali a campionamento utilizza dei generatori di
Figura 1: Schema di interazione performer/macchina per live electronics
Andrea Arcella Dimensioni – Fase Seconda 9
suono con una palette di suoni preconfezionata che ammettono
pochissimi dati di controllo tra cui il note on/note off che attiva i
generatori per riprodurre un determinato pitch a sua volta confinato
alle possibilità della scala cromatica. Il controller è inoltre “hard
wired” con il generatore di suono, ovvero è precablato dalla fabbrica
e si presenta sotto forma di tastiera di pianoforte. In sostanza i synth
commerciali sono sistemi per il live electronics drammaticamente
castrati sia nelle possibilità di controllo che in quelle di generazione
o se si preferisce sono “orientati” dall'industria a soddisfare un
determinato mercato musicale.
Da diversi anni però si assiste ad una florida scena musicale
genericamente definita genericamente “sperimentale” e non
necessariamente di matrice accademica che utilizza un setup basato
sul midi per performance musicali non assimilabili a generi musicali
basati sulla tradizione tonale. Di solito il setup è costituito da
controller midi hardware basati su fader, potenziometri rotativi,
pedali e controller a fiato che controllano motori di sintesi basati su
software. Tali motori di sintesi hanno la caratteristica di essere
versatili sia nella scelta della tecnica di sintesi sia nella possibilità di
costruire mappe personalizzate dati di controllo/parametri di sintesi.
Un setup molto in voga in questo periodo è costituito dalle suddette
superfici di controllo midi unite a sistemi interattivi come
Max/Msp, Pure Data o Super Collider.
A dispetto di quanto detto finora la mia composizione fa a meno di
un controller midi per pilotare i generatori di suono. Per giustificare
tale scelta facciamo un passo indietro e consideriamo un tradizionale
strumento acustico come il flauto.
Lo strumento acustico (preso di per se stesso, senza elettronica) può
essere modellizzato alla luce di quanto detto come un controller ed
Andrea Arcella Dimensioni – Fase Seconda 10
un generatore di suono integrati in un'unica struttura. Tale struttura
interagisce in modo bidirezionale con il performer; infatti il
performer fornisce gli input per la generazione di suono ma lo
strumento reagisce non solo producendo il suono richiesto (come in
un synth) ma producendo risonanze, movimenti meccanici ed altri
stimoli che ritornano come un feedback al performer. Ciò
corrisponde alla comune esperienza degli strumentisti di percepire
lo strumento acustico come “vivo” contrariamente ad un controller
midi che viene percepito come “inerte” o “scarsamente espressivo”.
Da questo punto di vista il protocollo midi è mono-direzionale in
quanto non restituisce nessun feedback aptico8 al performer.
In quanto performer oltre che compositore ho sentito fortemente
questa limitazione ed è per questo motivo (oltre a quelli di ordine
più compositivo esposti nel seguito) che ho deciso di utilizzare uno
strumento acustico sia come generatore di suono da elaborare
mediante processori di segnale sia come controller per pilotare
motori di sintesi.
8 Un'interfaccia aptica è un dispositivo che permette di manovrare un dispositivo e di riceverne delle sensazioni tattili in risposta (retroazione o feedback)
Andrea Arcella Dimensioni – Fase Seconda 11
Dimensioni – Fase Seconda: struttura generale
Nel brano abbiamo un'interazione in tempo reale tra il
flautista/performer e l'elettronica. Nei capitoli successivi
scenderemo nel dettaglio della partitura e del funzionamento del
software che risulterà però più chiaro se si ha una visione di insieme
del brano. Diamo alcune precisazioni terminologiche:
– ho definito il musicista come “flautista/performer” e non
semplicemente “flautista” perché è previsto oltre all'utilizzo
dello strumento musicale anche l'uso di alcune tecniche di
emissione sonora senza strumento
– userò il termine “macchine” per definire alcuni sottoinsiemi
del software che possono essere visti come unità funzionali
autonome nell'ambito della generazione sonora e del relativo
controllo.
Il brano della durata di 9 minuti è strutturato in 4 sezioni. Ciascuna
sezione ha una durata precisa ed è caratterizzata dall'uso di
specifiche tecniche di emissione da parte del flautista e da una
diversa risposta da parte della macchina. Una volta “acceso” il
processo, ovvero una volta che il software è stato avviato scatta un
timer che scandisce il tempo assoluto del brano e non è possibile
fermarlo se non riavviando l'intero processo da capo. E' essenziale
per questo motivo che il flautista sia dotato di cronometro anche se
in alcuni punti vi sono dei “segnali sonori” chiaramente
riconoscibili che lo aiutano ad orientarsi temporalmente.
La tabella che segue fornisce un'indicazione generale sulla struttura
temporale del brano.
Andrea Arcella Dimensioni – Fase Seconda 12
Nella tabella sono indicati per ciascuna sottosezione le tecniche
strumentali e i principali eventi sonori generati dall'elettronica. Sono
indicati tra parentesi i processi di accumulazione che vengono poi
impiegati nella struttura successiva.
Struttura temporale del branoSezione/durata I/3 min II/2min III/2min IV/2min
Flauto: tecnicheimpiegate
Note lunghe su registro basso
- Impro su registro medio. - Uso dei multifonici su fondamentale di Do/Do#/Re- Uso del soffiato e dello staccato sul microfono
- Impro sulle chiavette- Colpi testata microfono
- Note lunghe su registro medio
Computer: processi principali
Fasce in sintesi additiva(accumulazione delle fasce per 2 min)
Lettura accumulazione fasceSintesi modelli fisici-corda pizzicata(Accumulazione corda pizzicata)
- Lettura rielaborata accumulazione corda- Processo di granulazione- (accumulazione granulazione)
- Lettura rielaborata accumulazione granulazione- Fasce di sintesi additiva
Andrea Arcella Dimensioni – Fase Seconda 13
Realizzazione di Dimensioni – Fase Seconda: il software
La patch per Dimensioni – Fase Seconda: struttura generale
La patch è suddivisa in quattro macro aree funzionali (vedi Fig.2)
a) Elaborazione dell'input microfonico
Il segnale microfonico viene condizionato per meglio adattarsi agli
stadi successivi; il condizionamento consiste in un adattamento
dell'ampiezza in ingresso e in un filtraggio al fine di evitare
componenti spurie. Successivamente il segnale viene inviato a due
diversi canali. Il primo canale si limita a prelevare il segnale audio
precedentemente condizionato e ad inviarlo alle macchine che
effettuano elaborazione audio. Il secondo canale porta il segnale
audio ad uno speciale oggetto chiamato sigmund~ in grado di
estrarre pitch ed inviluppo in ampiezza di un segnale periodico.
Dall'inviluppo in ampiezza ho ricavato un meccanismo in grado di
definire la presenza/assenza di segnale producendo un output
binario concettualmente simile al controllo note on/note off del
protocollo midi. I dati ricavati, ossia pitch e segnale on/off, vengono
destinati ai generatori di suono.
b) Processi di generazione del suono e/o di elaborazione del
segnale microfonico
Tre diversi tipi di macchine agiscono per produrre i segnali di
uscita: i generatori di suono autonomi e gli elaboratori di segnale.
Nel primo caso abbiamo dei synth la cui produzione sonora varia in
base ai parametri estratti dal segnale microfonico; nella nostra patch
abbiamo tre synth in additiva con una struttura simile e un synth a
modelli fisici basato sull'algoritmo di Karplus-Strong. Nel secondo
caso abbiamo trasformazioni del segnale microfonico con algoritmi
Andrea Arcella Dimensioni – Fase Seconda 14
di granulazione. Per alcune macchine è impiegata riverberazione.
Il terzo tipo di macchine si basa su linee di ritardo che accumulano il
segnale proveniente dai primi due tipi e lo restituiscono in un tempo
successivo. Il segnale in uscita può essere la restituzione tal quale
del segnale in ingresso o una sua rielaborazione basata su
riverberazione e granulazione.
c) Scansione temporale dei parametri di controllo per i processi
di generazione/elaborazione
Le macchine non sono attive tutte contemporaneamente ma la loro
attivazione/disattivazione viene scandita nel tempo da un timer
attivato dal flautista all'inizio della performance. In questa prima
versione del software l'attivazione/disattivazione prevede
semplicemente l'inclusione/esclusione dell'output audio nel
missaggio finale. Quindi dal punto di vista del motore DSP interno a
PD le macchine racchiuse nelle singole subpatch sono sempre attive.
Tuttavia è possibile escluderle mediante il comando switch~ di PD
per risparmiare risorse di calcolo. Questa opzione non è stata
implementata in questa prima release a causa degli effetti collaterali
di switch~ che dovranno essere gestiti in un futuro update della
patch per garantire il corretto funzionamento del sistema.
Figura 2: Flusso dei segnali audio e di controllo
Andrea Arcella Dimensioni – Fase Seconda 15
d) Missaggio dei segnali in uscita
Il missaggio avviene per semplice somma pesata degli output di
ciascuna macchina.
Problematiche incontrate in fase di programmazione
La patch è strutturata in modo da avere una evoluzione temporale
autonoma rispetto agli eventi prodotti in input. Questa è stata una
scelta precisa fin dall'inizio del progetto al fine di non dover
ricorrere a controller midi per attivare/disattivare le singole
macchine. La conseguenza immediata è una semplificazione del
setup strumentale; inoltre ho ritenuto per questo brano che il
performer flautista, già sufficientemente impegnato, non dovesse
avere l'obbligo (o la libertà) di modificare liberamente la scansione
temporale delle varie fasi del brano.
In un ambiente di programmazione aperto come PD, la realizzazione
di una scansione temporale prefissata può essere implementata in
vari modi. In una prima fase tale scansione è stata realizzata
mediante una catena di ritardi a cascata sui segnali di controllo che
attivano/disattivano l'output delle diverse macchine. Tale scelta si è
rivelata problematica in quanto il software si è dimostrato instabile e
con picchi (apparentemente) non giustificati nell'uso delle risorse di
calcolo. Possiamo supporre che, nel meccanismo interno a PD di
gestione del tempo reale, ciascun ritardo si risolva in
un'interruzione e successiva ripresa del flusso di dati. Tipicamente
questo avviene salvando lo stato di una certa struttura dati in un
registro che poi viene letto al momento opportuno. Probabilmente
un eccessivo uso di questa possibilità interferisce o appesantisce il
Andrea Arcella Dimensioni – Fase Seconda 16
flusso audio che tipicamente viene gestito mediante buffer circolari;
si tratta ovviamente solo di una supposizione dato che non ho
indagato lo stato reale del sistema come avviene quando si effettua
un debug con gli strumenti classici della programmazione.
Il problema è stato quindi risolto cambiando totalmente il
meccanismo di scansione. Il tempo logico del programma scandito
da un timer in secondi viene passato contemporaneamente a tutte le
macchine. Tale tempo viene costantemente confrontato con il tempo
preprogrammato in cui ciascuna macchina deve attivarsi/disattivarsi
mediante una struttura di selezione.
Un'altra tipica difficoltà che si incontra quando si deve usare un
input microfonico è la corretta calibrazione del segnale di ingresso e
il suo condizionamento affinché gli stadi successivi funzionino
correttamente. Nel mio caso si doveva tener conto dei seguenti
parametri:
– Il guadagno di ingresso viene valutato facendo un
compromesso tra la dinamica tipica dei segnali di ingresso (flauto
suonato con tecniche diverse, colpi al microfono, altri suoni emessi
dal performer) e l'intensità di segnali spuri che rientrano
dall'ambiente.
– Un filtraggio su frequenze spurie rispetto a quelle tipiche del
segnale in ingresso. In particolare un filtro passa-alto limita le
bassissime frequenze o un segnale continuo che può generarsi per
errore nella catena elettroacustica.
– Sensibilità all'intensità in ingresso dell'oggetto sigmund~
utilizzato per estrarre i parametri di pitch.
Andrea Arcella Dimensioni – Fase Seconda 17
Analisi delle macchine e dei relativi algoritmi
Ciascun algoritmo di elaborazione del segnale vive all'interno di una
macchina ovvero di una subpatch indipendente situata all'interno
della patch principale (vedi Fig.3).
In alcuni casi il segnale viaggia lungo i “cavi” che collegano le
macchine in altri il passaggio avviene tramite la coppia send/return
che consente il passaggio senza cablaggio.
Osserviamo le caratteristiche comuni a tutte le macchine che
effettuano l'elaborazione: ciascuna di esse è sempre collegata alla
macchina CRTAMP (vedi Fig.4) che ha la funzione di stabilire
l'ampiezza massima del segnale in uscita ed il tempo (assoluto) di
attivazione/disattivazione della macchina (ad esempio la macchina
crepitio2 avrà un'ampiezza massima normalizzata pari 0.6, si
attiverà dopo 180 secondi e si disattiverà dopo 300 secondi, ovvero
funzionerà per un tempo totale pari a 300-180=120 secondi). Il
Figura 3: Vista di alcune macchine (subpatch) all'interno della patch principale
Andrea Arcella Dimensioni – Fase Seconda 18
funzionamento di CRTAMP è abbastanza semplice: vengono
stabilite in fase di inizializzazione i due valori temporali. Tramite la
struttura select i due valori vengono confrontati con il tempo
assoluto calcolato dal timer e passato tramite la variabile tempo.
Quando il valore di tempo coincide con uno dei due valori la
macchina si attiva o disattiva in corrispondenza (vedi anche
paragrafo precedente su attivazione/disattivazione).
Alcune macchine, come Additiva2 vengono replicate con parametri
diversi, ad esempio con ampiezza e attivazione/disattivazione
diversa. Vi possono essere poi altri parametri di inizializzazione
della macchina specifici dell'algoritmo usato.
Nella maggior parte delle macchine, il suono generato non è statico
in quanto vengono modificati su base pseudorandomica i parametri
interni; il tipo di parametri modificati dipende ovviamente
dall'algoritmo impiegato nella specifica macchina.
Figura 4: Macchina di controllo della scansione temporale
Andrea Arcella Dimensioni – Fase Seconda 19
Passiamo quindi all'analisi dei principali algoritmi:
1) Processo di pitch-tracking: in questa macchina (vedi Fig. 5) il
segnale condizionato viene elaborato dall'oggetto sigmund~ che
restituisce il pitch della fondamentale e l'inviluppo di ampiezza del
segnale in ingresso.
L'oggetto sigmund~ analizza il segnale in ingresso effettuando
un'analisi di Fourier e scomponendo quindi il segnale nelle sue
componenti sinusoidali. A partire dall'analisi implementa una serie
di algoritmi che consentono di risalire alla fondamentale del suono
in ingresso. E' scontato che l'oggetto si aspetta in ingresso un
segnale periodico altrimenti l'esito dell'analisi è totalmente privo di
senso. Il calcolo dell'inviluppo in ampiezza invece funziona per
qualunque tipo di segnale dato che non necessita dell'analisi di
Fourier e quindi sigmund~ può essere impiegato in ogni caso per
rilevare la presenza di segnale oltre una certa soglia in ingresso.
Andrea Arcella Dimensioni – Fase Seconda 20
2) La patch viene completata con il mio algoritmo per generare
il segnale binario di suono presente/assente da utilizzare per pilotare
le macchine generatori di suono
3) Sintesi additiva: impiegata in due macchine con repliche. La
più complessa è quella mostrata in Fig. 6.
Tale macchina riceve in input tre parametri provenienti dalla patch
pitch-tracker ovvero la frequenza fondamentale ed il segnale di
presenza/assenza di input. Con gli ultimi due input viene realizzato
un elementare sistema attack/decay per il controllo del synth (in
basso a destra).
Figura 5: Macchina per il pitch tracking
Andrea Arcella Dimensioni – Fase Seconda 21
La frequenza fondamentale viene passata alle macchine freqshift
(vedi Fig.7) che la usano come parametro per generare frequenze
randomiche che pilotano i sei oscillatori.
Figura 6: Macchina in sintesi additiva
Andrea Arcella Dimensioni – Fase Seconda 22
Il freqshift riceve una frequenza in ingresso, la moltiplica per un
numero intero da 1 a 6 per trovare le armoniche superiore e genera
una successione di frequenze in uscita che crescono o decrescono
linearmente in un intervallo massimo del 10% rispetto alla
frequenza ricevuta in ingresso. Tale intervallo viene dato in fase di
inizializzazione ma può essere modificato a piacere.
Dato che ciascuna freqshift fa uso di un generatore random, anche
se le sei macchine sono uguali le rampe di frequenza generata
saranno diverse.
Ciascun oscillatore contiene al proprio interno un controllo in
ampiezza randomico basato sullo stesso meccanismo visto in
precedenza (vedi Fig. 8)
Figura 7: Algoritmo pseurandomico di generazione frequenze per gli oscillatori
Andrea Arcella Dimensioni – Fase Seconda 23
Vale la pena notare che è stata implementata una mappa in modo da
far variare il segnale tra i valori assoluti di ampiezza di 0.2 e 1 in
modo che non scompaia mai del tutto dalla somma dei 6 oscillatori.
4) Processo di granulazione
Il processo di granulazione è essenzialmente un metodo per
produrre nuovi suoni a partire da suoni precedentemente registrati o
introdotti nel sistema in tempo reale (come in questo caso),
accumulando in un piccolo buffer e effettuando il prelievo come se
fosse una registrazione pregressa. Il metodo consiste nel suddividere
la registrazione originaria in piccoli frammenti temporali dell'ordine
di poche decine di millisecondi detti grani e riprodurli variando
diversi parametri tra cui la durata del grano, la velocità di
riproduzione della sequenza di grani, la distanza tra i grani.
L'implementazione in Pure Data (vedi Fig. 9) è stata fatta sulla base
dello schema di granulatore con feedback proposto da Johannes
Figura 8: Generatore pseudorandomico di ampiezze
Andrea Arcella Dimensioni – Fase Seconda 24
Kreidler nel suo ottimo tutorial [1].
La parte centrale illustra due moduli di granulazione simmetrici e
sovrapposti in modo da evitare gap dannosi nella riproduzione dei
grani. La finestratura dei grani avviene costruendo in tempo reale
una finestra di Hanning. In alto troviamo due generatori di rampe
che si muovono verso l'alto ed il basso pilotate in modo
pseudorandomico. Tali rampe variano rispettivamente il rate di
riproduzione dei grani e la durata del segnale di feedback che
Figura 9: Macchina granulatore
Andrea Arcella Dimensioni – Fase Seconda 25
rientra nel buffer.
5) Sintesi per modelli fisici con algoritmo di Karplus-Strong
La sintesi per modelli fisici cerca di modellizzare i processi che
avvengono nella produzione di un suono; ad esempio nel caso di
uno strumento acustico simula la produzione delle vibrazioni
acustiche sulla base delle vibrazioni indotte da una membrana o da
una corda. L'algoritmo di Karplus-Strong si propone di modellizzare
una corda pizzicata ed è uno degli esempi più famosi di tale tecnica
per la sua elegante semplicità ed efficacia.
L'assunto teorico è il seguente: quando la corda viene pizzicata
vibra inizialmente (transitorio di attacco) in modo caotico per poi
portarsi in una fase quasi stazionaria in cui i modi di vibrazione
sono determinati dalle caratteristiche della corda (lunghezza,
diametro, tensione, etc). Nel passaggio dal transitorio alla fase
stazionaria si assiste ad una continua perdita di energia fino
all'estinzione della vibrazione. Il modo in cui avviene la perdita di
energia in frequenza caratterizza il caratteristico timbro (o famiglia
di timbri) di una corda pizzicata.
Matematicamente il processo può essere descritto come una breve
finestra di rumore bianco (attacco) che perde progressivamente
energia nello spettro restituendo uno spettro armonico in
progressivo dissolvimento.
Il modello si implementa con un algoritmo con feedback negativo in
cui il segnale viene scritto e riletto dal buffer con un fattore di
damping che ne smorza progressivamente l'ampiezza. Per rendere
però il tipico andamento spettrale di una corda il segnale di feedback
è costituito dalla media dei campioni in ingresso, per cui è
necessario utilizzare una linea di ritardo.
La Fig. 10 illustra l'implementazione in Pure Data. La macchina è
Andrea Arcella Dimensioni – Fase Seconda 26
stata chiamata Koto perché per i parametri usati e per il tipo di
modulazione che ho imposto il risultato sonoro ricorda lo strumento
tradizionale giapponese.
L'attivazione della macchina è determinata dal parametro di attacco
in uscita dal pitch tracker che determina l'attivazione di un doppio
colpo pizzicato. I due colpi daranno origine a suoni con frequenze
fondamentali diverse a causa della continua variazione
Figura 10: Algoritmo di Karplus-Strong
Andrea Arcella Dimensioni – Fase Seconda 27
pseudorandomica delle frequenze implementata nel blocco di codice
in alto a destra.
6) Processi di accumulazione con linee di ritardo
I segnali prodotti dalle macchine precedentemente descritte vengono
accumulati in linee di ritardo e riprodotti secondo tempi e
rielaborazioni che variano di caso in caso.
La Fig. 11 illustra la macchina che accumula e riproduce il segnale
proveniente dai due synth in additiva.
Figura 11: Linea di ritardo
Andrea Arcella Dimensioni – Fase Seconda 28
Dimensioni – Fase Seconda: partitura di esecuzione per il flautista
In tutte e quattro sezioni la parte flautistica e performativa sarà
improvvisata nei limiti e attenendosi alle tecniche esposte di seguito.
L'interpretazione verrà guidata dall'ascolto attento del feedback
ricevuto dalle macchine. Il perfomer dovrà essere dotato di
cronometro sincronizzato con il timer del software.
I sezione (durata complessiva 3 minuti):
– Il flautista suonerà note lunghe comprese nell'intervallo DO-
FA# (incluse le alterazioni) della prima ottava dello strumento.
– La prima e l'ultima nota dovrà essere il DO
– Le note dovranno essere in successione cromatica ascendente
o discendente, ad esempio il RE potrà essere seguito solo da RE# o
DO#
– La durata delle note sarà compresa tra i 1 e 5 secondi con
preferenza per i valori più alti (in media 3 o 4 secondi)
– Si farà ampio uso del glissato, specie sulle note più lunghe
– Sono ammesse pause che non eccedano il tempo di
decadimento del sintetizzatore (5/6 secondi). Nella parte iniziale (I
minuto) è consentito derogare a questa regola senza esagerare con i
silenzi.
L'interpretazione generale dovrà essere guidata dall'ascolto del
synth, guidandolo in modo espressivo sia verso cambiamenti di
dinamica sia verso una complessificazione/semplificazione della
struttura armonica della fascia.
Andrea Arcella Dimensioni – Fase Seconda 29
II Sezione (durata complessiva 2 minuti):
– La parte inizierà con i multifonici suonati sul DO della prima
ottava
– Si effettua una libera improvvisazione sul registro medio e
medio acuto in tonalità di DO (senza alterazioni) nella parte centrale
della sezione di durata libera (non eccedente la sezione stessa)
– Si alterna l'esecuzione dell'improvvisazione con soffi e
staccati da fare direttamente nel microfono (senza strumento) e con
multifonici del DO, DO# e RE su prima ottava
In generale si cercherà di creare un duo con la corda pizzicata
sollecitata dagli staccati. Si tenga presenta che la corda viene
virtualmente pizzicata solo in presenza di staccati o comunque
sollecitazioni impulsive, quindi le note lunghe e i movimenti di note
legate non generano reazioni; si può quindi giocare su questi
parametri per pilotare l'intervento della macchina.
III Sezione (durata complessiva 2 minuti):
Si farà una libera improvvisazione utilizzando le seguenti tecniche:
– Uso delle sole chiavette del flauto (senza soffiare)
– Colpire leggermente il microfono con la testata del flauto
Anche in questo l'esecuzione sarà guidata dalla risposta della
macchina al fine di creare un movimento complessivo non banale.
Si presti attenzione a porre il flauto vicino al microfono e non si
esageri con il colpo di testata rischiando di produrre cambiamenti
eccessivi di intensità nella risposta della macchina.
Andrea Arcella Dimensioni – Fase Seconda 30
IV Sezione (durata complessiva 2 minuti):
Si utlizzeranno le stesse indicazioni della I sezione ma trasposte
un'ottava sopra. E' obbligatorio gestire l'esecuzione in modo che il
brano si concluda con un diminuendo fino allo spegnimento
(automatico) della macchina.
Andrea Arcella Dimensioni – Fase Seconda 31
APPENDICE
Il software usato per la realizzazione di Dimensioni – Fase Seconda:
Pure Data
Per la realizzazione del software interattivo del brano è stato usato
l'ambiente di programmazione Pure Data9. Pure Data (o Pd) è un
linguaggio di programmazione visuale sviluppato da Miller Puckett
nel 1990 per la creazione di sistemi musicali e multimediali
interattivi. Sebbene Puckett sia ancora il principale sviluppatore
esiste un'ampia comunità di programmatori che estende e migliora il
software.
PD è un linguaggio di programmazione basato sul flusso di dati. I
programmi realizzati con PD vengono chiamati patch. Ciascuna
patch ammette delle subpatch equivalenti a porzioni autonome di
sottoprogrammi. Come la maggior parte dei software per il Digital
Signal Processing, in PD vi sono due principali tipologie di flussi di
dati che vengono gestite con diverse velocità di campionamento: i
dati di tipo audio, gestiti a 44100 campioni/sec e i dati di tipo
controllo gestiti con un rapporto rispetto ai dati audio di 1 blocco
per ogni 64 campioni audio. I messaggi di controllo e i segnali audio
fluiscono tra gli oggetti connessi mediante cavi virtuali dall'alto
verso il basso.
PD supporta 4 tipi di base di entità testuali: messaggi, oggetti, atomi
e commenti. Gli atomi sono l'unità base in Pd e possono consistere
in numeri reali, interi, simboli alfanumerici o puntatori a strutture.
Tutti i numeri sono a 32 bit. I messaggi sono composti di uno o più
atomi e forniscono istruzioni agli oggetti. Uno speciale tipo di
messaggio chiamato bang viene usato per dar luogo ad eventi e
9 Liberamente scaricabile da http://puredata.info
Andrea Arcella Dimensioni – Fase Seconda 32
spingere i dati nel flusso come se fosse un interruttore che avvia un
processo.
Gli oggetti nativi di PD spaziano dagli operatori matematici, logici e
di manipolazione di bit comuni a tutti i linguaggi di
programmazione a funzioni specializzate per il DSP che funzionano
ad audio rate e sono contraddistinte dalla presenza del simbolo tilde
~. Troviamo quindi oscillatori basati su wavetable, funzioni per il
calcolo della FFT e diverse tipologie di filtri.
Uno dei punti di forza di PD è la sua espandibilità; esiste un kit di
sviluppo in linguaggio C che consente ai programmatori di
aggiungere nuove funzioni al programma sotto forma di librerie
esterne. E' nata quindi un'ampia comunità, formata anche da
dipartimenti universitari che ha moltiplicato le possibilità del
software dando luogo ad una vera e propria versione espansa di PD
che va sotto il nome di PD extended.
Andrea Arcella Dimensioni – Fase Seconda 33
Indice delle illustrazioniFigura 1: Schema di interazione performer/macchina per live electronics.....................................................8Figura 2: Flusso dei segnali audio e di controllo.....14Figura 3: Vista di alcune macchine (subpatch) all'interno della patch principale..............................17Figura 4: Macchina di controllo della scansione temporale.................................................................18Figura 5: Macchina per il pitch tracking.................20Figura 6: Macchina in sintesi additiva.....................21Figura 7: Algoritmo pseurandomico di generazione frequenze per gli oscillatori.....................................22Figura 8: Generatore pseudorandomico di ampiezze.................................................................................23Figura 9: Macchina granulatore...............................24Figura 10: Algoritmo di Karplus-Strong.................26Figura 11: Linea di ritardo.......................................27
Andrea Arcella Dimensioni – Fase Seconda 34
Bibliografia1: J. Kreidler, Programming Electronic Music in Pd, Wolke Verlag, 20002: Sergi Jordà, Improvising with computer: a personal survay, draft, 20023: N. Bernardini, “Live elctronics” in Doati, Vidolin, La biennale di Venezia, Atlantide Ed., 19864: R. Rowe, Interactive Music System – Machine Listening and Composing, The Mit Press, 19925: C. Dodge, T. Jerse, Computer Music – Synthesis, Composition and Performance, Schirmer, 1985 Riedito 1997 6: M. Puckette, The Theory and technique of Electronic Music, World Scientific Publishing,2007