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&, miŒN e mi = m(pi), " piŒP.
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.