Andrea Arcella Dimensioni – Fase Seconda...

34
Andrea Arcella Dimensioni – Fase Seconda 1 Indice generale Introduzione...............................................................2 Evoluzioni tecnologiche e live electronics ................ 4 Problematiche del live electronics............................. 8 Dimensioni – Fase Seconda: struttura generale.......11 Realizzazione di Dimensioni – Fase Seconda: il software................................................................... 13 La patch per Dimensioni – Fase Seconda: struttura generale................................................................ 13 Problematiche incontrate in fase di programmazione................................................... 15 Analisi delle macchine e dei relativi algoritmi ....17 Dimensioni – Fase Seconda: partitura di esecuzione per il flautista........................................................... 28 APPENDICE........................................................... 31 Il software usato per la realizzazione di Dimensioni – Fase Seconda: Pure Data............... 31

Transcript of Andrea Arcella Dimensioni – Fase Seconda...

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