MODELLI FORMALI GERARCHICI BASATI SU RETI DI PETRI ESTESE PER LA RAPPRESENTAZIONE DI PROCESSI MUSICALI
Riassunto della Tesi di Laurea di Adriano De Matteis Matr.:
339683
Relatore: Prof. Goffredo Haus Correlatore: Prof.
Massimo Galuzzi
Anno Accademico: 1993/94
Nel presente lavoro vogliamo mostrare come sia possibile descrivere formalmente strutture generative di brani musicali. Lo scopo centrale è l'individuazione e la rappresentazione delle strutture nascoste dell'informazione musicale codificata in notazione tradizionale. L'utilizzo di metodologie matematiche è molto indicato per i caratteri di economia, di generalità, di compattezza e per la formalizzazione che è necessaria per un trattamento sistematico del materiale musicale e sonoro in generale. L'uso di un formalismo matematico per la descrizione di fenomeni musicali rende infatti possibile in modo naturale l'introduzione delle informazioni in un sistema di elaborazione mediante opportuni programmi, permettendo quindi di effettuare tanto analisi quanto elaborazioni o anche sintesi a partire dalle informazioni codificate. Uno strumento formale in grado di descrivere in modo completo l'architettura di un brano musicale deve possedere certi requisiti. In particolare deve permettere la rappresentazione di nozioni quali le seguenti:
1) Ordinamento
2) Temporizzazione
3) Concorrenza
4) Gerarchia
5) Determinismo / Non Determinismo
6) Causalità
Lo strumento da noi scelto per soddisfare questi requisiti
è una opportuna estensione delle Reti di Petri, che chiamiamo
Reti di Petri Musicali (RPM).
Una Rete di Petri è comunemente definita come una quadrupla
<P, T, A, M>, dove P è l'insieme dei posti, T l'insieme
delle transizioni, A l'insieme degli archi che connettono o posti
a transizioni o transizioni a posti ed M è la marcatura
della rete. La nostra implementazione estende la "classica"
definizione di Petri, al fine di permettere la costruzione di
modelli gerarchici e la definizione sia di oggetti musicali, mediante
un'opportuna codifica, sia di algoritmi musicali, mediante l'introduzione
di un'algebra musicale. Per oggetto musicale intendiamo qualunque
cosa abbia un significato musicale e che possiamo pensare come
entità, sia semplice che complessa, sia astratta che dettagliata,
un'entità con un nome e che abbia qualche relazione con
altri oggetti musicali. L'idea principale dell'algebra associata
è di permettere la trasformazione dei parametri sonori
(altezza, timbro, intensità e durata) e l'ordine secondo
cui si presentano le note, attraverso opportuni algoritmi. Gli
oggetti musicali vengono associati ai posti della rete mentre
gli algoritmi alle transizioni. In questo modo una RPM è
definita come una tripla <P, T, A> e le seguenti tre relazioni:
(1) P ' p + <identifier, tokens, capacity, MIDI channel, object,
play, file >
(2) T ' t + <identifier, algorithm >
(3) A ' a + <node-from, node-to, multiplicity >
dove:
P è l'insieme dei posti, T è l'insieme delle transizioni,
A è l'insieme degli archi; identifier è l'etichetta
associata al nodo (posto o transizione); tokens è il numero
di marche contenute nel posto, ossia il valore della funzione
marcatura m (si veda più avanti); capacity è il
massimo numero di marche che il posto può contenere; MIDI
channel è il numero del canale MIDI dove l'oggetto musicale,
se presente, deve essere eseguito; object definisce se un oggetto
musicale è associato ad un posto o no; play definisce se
l'oggetto deve essere eseguito o no; file definisce se l'oggetto
musicale associato al posto, se ne esiste uno, è memorizzato
su file o no; algorithm definisce se l'algoritmo associato alla
transizione, se presente, deve essere eseguito o no; node-from
e node-to sono gli identificatori dei nodi di partenza e di arrivo
dell'arco; multiplicity è l'etichetta numerica dell'arco.
Sia gli oggetti che gli algoritmi hanno una propria sintassi.
La marcatura della rete è la distribuzione delle marche
all'interno dei posti; il loro numero e la loro distribuzione
possono cambiare durante l'esecuzione della rete. Può essere
pensata come una funzione dall'insieme dei posti P all'insieme
N degli interi non negativi m : P Æ N oppure può
essere definita da un vettore n-dimensionale :
(4) m + ( m1, m2, . . ., mi, . . ., mn ) con n=&P&, miN
e mi = m(pi), " piP.
Il vettore m dà, per ogni posto pi di una Rete di Petri,
il numero di marche contenute in esso e cioè mi, i=1, ...,
n.
La gerarchia di un modello viene realizzata mediante un morfismo
caratteristico delle Reti di Petri ed è descritta dall'insieme:
(5) S ' s + <identifier, node-begin, node-end, recursion-level
>
che è l'insieme dei legami gerarchici, dove:
identifier è l'etichetta della rete, node-begin e node-end
sono gli identificatori dei nodi iniziale e finale per l'applicazione
del morfismo, recursion-level è il livello di ricorsione
permesso per la rete suddetta (cioè il numero di volte
che una rete può richiamare sé stessa). Nel nostro
lavoro mostriamo come vengono implementate sia la gerarchia che
la ricorsione.
Un modello è dunque completamente definito da un insieme
S e da un numero di triple <P, T, A> uguale al numero di
reti contenute nel modello.
La scelta di questo strumento formale è motivata e discussa
criticamente collocandola rispetto ad altre soluzioni note in
letteratura.
In particolare riteniamo che l'organizzazione gerarchica dell'informazione
costituisca un approccio indicato per la rappresentazione di un'opera
musicale, soprattutto riguardo all'insieme delle relazioni al
suo interno che ne giustificano, almeno in parte, l'architettura.
La musica può essere descritta a vari livelli gerarchici,
ad esempio a livello strutturale, a livello della partitura e
a livello del timbro. La pratica musicale tradizionale è
caratterizzata da vari linguaggi differenti, uno o più,
per livello di rappresentazione. Le RPM oltre a permettere la
rappresentazione gerarchica consentono l'uso di uno e un solo
linguaggio per i diversi livelli di rappresentazione rendendo
quindi possibile l'effettiva interazione tra i vari livelli gerarchici.
Abbiamo considerato come caso esemplare per lo studio, la Sagra
della Primavera di Igor Stravinsky, composta nel 1913.
La scelta dell'opera non è casuale o dettata esclusivamente
dal gusto personale, ma basata essenzialmente sulla coincidenza
di due fattori, difficilmente riscontrabile in altre opere:
1) i procedimenti compositivi dell'autore si prestano ad un'analisi
formale precisa e rappresentabile con modelli gerarchici basati
su Reti di Petri.
Inoltre in essi sono ampiamente utilizzate sia macrostrutture
che trasformazioni descrivibili in forma algoritmica;
2) è disponibile una documentazione molto ricca che permette
una conoscenza dei vari stadi organizzativi dell'opera.
La seconda motivazione fornisce anche il metodo generale di lavoro.
Partendo dagli Abbozzi manoscritti si sono individuate le strutture
"formanti" dalle quali è stato possibile modellare
la partitura per pianoforte. Dal modello così costruito,
attraverso un processo di raffinamento caratteristico delle RPM,
si è prodotta la partitura orchestrale. Le analisi musicali
da noi svolte hanno caratteristiche peculiari che le differenziano,
nella forma, da quelle attualmente disponibili. È necessario
infatti descrivere un brano non solo nei termini degli eventi
musicali che in esso avvengono, ma è indispensabile che
l'analisi metta in rilievo informazioni riguardo alle strutture
nascoste all'interno del brano stesso che sono la base per la
costruzione di un modello corrispondente. Mostriamo inoltre come
sia possibile proporre diversi modelli di uno stesso fenomeno
musicale e come ciascuna proposta evidenzi alcune strutture piuttosto
di altre.
La ricerca ha dato come risultato l'individuazione di un insieme
ridotto di Strutture Generative Essenziali (EGS), cioè
un insieme di Reti di Petri fondamentali, che assumono il significato
di strumenti astratti adattabili agli scopi compositivi più
vari. Questo insieme è costituito dalle seguenti reti:
1) Juxtaposition: realizza la giustapposizione dinamica degli
stadi di sviluppo di due o più oggetti musicali ciascuno
con una evoluzione propria;
2) ThemeMod: permette la realizzazione di più variazioni
ordinate di uno stesso processo;
3) Loop: permette la ripetizione, per un numero prefissato di
volte, di un certo processo musicale
4) OrdPathSel: consente selezioni successive di processi al verificarsi
di determinate condizioni;
5) OrdJuxt: permette la giustapposizione degli stadi di sviluppo
di due o più oggetti musicali, ciascuno con una evoluzione
propria, nel rispetto di sequenze ordinate precedentemente;
6) SynchroSplit: permette di modificare (anticipare o ritardare)
la sincronizzazione tra processi musicali sequenziali;
7) Polyphony: permette l'armonizzazione di linee melodiche;
8) Sequence: permette l'esecuzione sequenziale di più processi;
9) nParts: permette l'esecuzione parallela di n processi.
Alcuni modelli con RPM, completi di tutte le specifiche strutturali
e algoritmiche, esemplificano l'applicazione concreta delle EGS
mostrando come, con esse, sia possibile descrivere, parzialmente
o totalmente, il materiale musicale all'interno di una composizione.
Le Strutture Generative Essenziali sono state utilizzate per modellare
il materiale tratto da più di metà della Sagra della
Primavera.
In tutto il nostro lavoro viene evidenziato il concetto di gerarchia.
In particolare dedichiamo un capitolo per mostrare come sia possibile,
a partire dalla partitura per pianoforte, ottenere la partitura
orchestrale mediante un raffinamento caratteristico delle Reti
di Petri, cioè aumentando i livelli gerarchici di descrizione.
Questo raffinamento viene condotto tramite Strutture Generative
Ausiliari (AGS) e anch'esso è esemplificato attraverso
alcuni modelli completi. Le AGS individuate sono:
1) Interleaving: permette la frammentazione di una linea melodica
al fine di disporne in modo più conveniente la strumentazione;
2) OrchSplit: permette l'addensamento della polifonia al fine
di poterne proporre un'orchestrazione arricchita secondo la scelta
di processi più o meno complessi;
3) OutputChannels: permette l'assegnazione di più strumenti
ad un oggetto musicale.
Altri modelli vengono presentati in forma parziale per focalizzare
l'attenzione su quanto hanno di caratteristico al fine di condurre
una discussione critica riguardo all'approccio da noi seguito.
Un problema interessante riguarda poi l'efficienza di codifica
della nostra formalizzazione. Si è verificato che, nonostante
i modelli con Reti di Petri contengano molta più informazione
rispetto alla partitura modellata, richiedono una quantità
di memoria dello stesso ordine di grandezza di quella richiesta
dalla partitura stessa. Infatti si è riscontrato che il
rapporto r tra la richiesta del modello e la richiesta della partitura
corrispondente, soddisfa, nei casi valutati, la limitazione:
Infine, per verificare l'effettiva capacità rappresentativa
dell'approccio descrittivo seguito, è stato discusso con
un compositore, Vittorio Fellegara, un modello con Reti di Petri,
da noi prodotto, di Metamorfosi, una delle sue opere più
recenti. Oltre alla conferma dell'efficacia dell'approccio, le
EGS identificate nel caso della Sagra della Primavera si sono
rivelate sufficienti, con poche varianti, a descrivere anche l'opera
di Fellegara menzionata.
Con il presente lavoro si ritiene di aver raggiunto due obiettivi:
1) rintracciare un insieme primitivo di Strutture che sono nascoste
nell'informazione che costituisce le partiture musicali;
2) verificare sino a che punto un modello con Reti di Petri, costruito
con queste Strutture, è in grado di rappresentare, trasformare
ed eventualmente generare partiture musicali.