Introduzione

 

La musica può essere descritta in diversi modi. L'approccio classico è quello del rigo musicale, con esso un brano viene descritto molto in dettaglio fornendo tutte le informazioni necessarie per l'esecuzione di ogni singola nota: altezza, durata, timbro, dinamica, etc..
Un'altro approccio è quello di chi studia un brano per individuare al suo interno gli insiemi di note che costituiscono delle unità concettuali, dette "oggetti musicali", e le funzioni di trasformazione che vengono di volta in volta applicate ad essi. Un'analisi di questo tipo produce un modello che descrive una composizione musicale attraverso la sua struttura e la sua evoluzione temporale. In questo modo vengono evidenziate informazioni concettuali che sfuggono alla rappresentazione classica e si ottiene una descrizione più compatta.
Un supporto scientifico a questo approccio è stato dato dalle reti di Petri (RP) musicali, un formalismo di reti di Petri [Petri 76] che permette la sintesi di partiture a partire da oggetti elementari dalle trasformazioni definite dall'utente. Questo lavoro di tesi nasce dalla volontà di sperimentare Scoresynth strumento software per la costruzione ed esecuzione di RP nella descrizione di partiture musicali complesse al fine di individuare tramite l'utilizzo pratico limiti ed esigenze del sistema e quindi apportare le opportune modifiche.

 

1.1 Esperienze precedenti

Diamo qui alcune informazioni circa le esperienze precedenti maturate nell'ambito delle reti di Petri (RP).
Il primo sistema di cui ci occupiamo è MAP/CMUSIC realizzato da A. Camurri all'università di Genova [Camurri 84] su un computer VAX fornito di un convertitore digitale-analogico; questo strumento riceve in ingresso una RP, rappresentata attraverso un codice alfanumerico, e genera in uscita un file CMUSIC. CMUSIC è un programma general purpose per la sintesi del suono usato al CARL (Computer Audio Research Laboratory) che converte una partitura in ingresso in un segnale digitale ascoltabile tramite convertitori D/A.
Il secondo sistema di cui ci occupiamo è MAP/MCL realizzato da G. Jacomini all'università di Milano [Jacomini 85] su un VAX affiancato da un computer musicale CMI, esso permette di sintetizzare partiture scritte nel linguaggio MCL (Music Composition Language) a partire da una RP definita tramite un apposito linguaggio di descrizione. MCL è un linguaggio per il disegno di una composizione tramite gerarchie del tipo: piece-part-sequence, cioè gerarchie che strutturano una composizione con metodologia TOP-DOWN: dal concetto astratto di brano via via dettagliandolo in parti e sequenze di note. In breve il MAP (Musical Actor by Petri Nets) è strutturato in tre parti: MFORM, REMARK, PERFORM. MFORM permette tramite un linguaggio di descrizione di definire la struttura della rete (posti, transizioni, archi, marcatura, capacità) utilizzando posti di differenti tipi:
- posti di controllo
- posti di Start e End
- posti rappresentanti oggetti musicali (partiture in CMUSIC, campioni CMUSIC, partiture in MCL).
Con REMARK si può modificare la marcatura della rete senza doverla ricompilare. Infine PERFORM si preoccupa di costruire la partitura finale.
Una evoluzione significativa del MAP si è avuta con MAP/MAC sistema sviluppato da E. Bianchi (tesi di laurea all'universitˆ di Milano) [Bianchi 86] su Macintosh 512, in questo programma è stata inserita una interfaccia grafica e interattiva di alto livello che permette di costruire RP e di rappresentarle attraverso l'uso di un insieme di icone grafiche. In MAP/MAC gli oggetti musicali sono file di testo simbolici compilati poi per ottenere sequenze di comandi MIDI (Musical Instrument Digital Interface). Esistono due ambienti di lavoro in MAP/MAC: l'Editor e il Performer. L'Editor si occupa della costruzione e della modifica delle reti e della loro apparenza grafica. Con il Performer si eseguono le reti e si ascoltano le partiture sintetizzate.
In fine citiamo il sistema PETREX realizzato su personal IBM da Camurri, Haus, Rodriguez. PETREX è un programma per la costruzione ed esecuzione di RP "general purpose", quindi non esclusivamente musicali, capace di simulazioni in tempo reale.


1.2 Discussione critica su Scoresynth

Scoresynth è stato realizzato da A. Sametti (tesi di laurea all'università di Milano) [Sametti 88] su personal Macintosh. In esso gli "oggetti musicali" vengono associati ai posti mentre alle transizioni vengono associati algoritmi di modifica dei parametri del suono (altezza, durata, intensitˆ, timbro) e di manipolazione di sequenze di note. Scoresynth ha ereditato da MAP/MAC il tipo di interfaccia e l'algoritmo di esecuzione, estendendoli e migliorandoli dove possibile, è costituito da due parti l'Editor e l'Executer: nell'Editor si costruiscono le RP musicali in modalità preminentemente grafica, nell'Executer la rete viene eseguita generando una partitura che in seguito pu˜ essere ascoltata collegando l'elaboratore alla strumentazione digitale tramite interfaccia MIDI.

Al fine di sperimentare le reali potenzialità di Scoresynth nella descrizione di partiture musicali complesse, si è deciso di realizzare un modello del Bolero di Ravel sfruttando una analisi musicologica di Antonio Rodriguez. Nel realizzare le prime reti si è subito evidenziato che spesso le stesse strutture ricorrono all'interno dell'opera con delle differenze in qualche parametro, sarebbe quindi utile sfruttare l'uso dei morfismi, dato che una delle caratteristiche di Scoresynth è proprio la possibilità di utilizzare raffinamenti successivi nella costruzione di reti complesse, ma questa operazione non è possibile data la presenza di differenze in alcuni parametri di queste strutture.
E' allora evidente l'utilita dell'inserimento di reti macro, ovvero di fornire all'utente la possibilitˆ di aggiornare alcuni parametri della rete richiamata prima che questa venga eseguita. Si è quindi inserita la possibilità di assegnare ai nodi, di tipo sottorete, una stringa contenente le modifiche da attuare ai parametri della rete chiamata.
Un'altra considerazione è che durante l'esecuzione di una rete Scoresynth genera un file di comandi M.I.D.I., questi in seguito possono essere inviati a strumenti musicali digitali che eseguono i comandi ricevuti suonando quindi la partitura descritta dalla rete. Spesso è difficile capire gli errori commessi nell'utilizzo delle reti attraverso l'ascolto, si è pensato allora di realizzare un nuovo ambiente nel quale si potesse avere un riscontro grafico, la mappa ad oggetti, della partitura generata durante l'esecuzione della rete, ovvero un piano con ascissa il tempo e ordinata i canali M.I.D.I.. Sempre con l'obbiettivo di rendere più controllabili le RP costruite si è deciso di offrire da questo ambiente la possibilità di far procedere l'esecuzione per singoli scatti di transizioni per vedere i cambiamenti prodotti nella mappa e contemporaneamente i valori di tutti i parametri rilevanti della rete, il musicista può in questo modo intervenire in caso di comportamenti inattesi e analizzare nel dettaglio l'esecuzione della rete.