UN SISTEMA PER LA SINTESI DI PARTITURE MUSICALI MEDIANTE ESECUZIONE DI RETI DI PETRI
Riassunto
Le Reti di Petri fino ad oggi sembrano essere uno strumento
molto efficace per definire i modelli che caratterizzano i sistemi
dinamici. Non solo efficace ma anche semplice in termini
di implementazione.
L'osservazione di fenomeni musicali pu essere ben rappresentata
mediante un'opportuna formalizzazione di sistemi dinamici e quindi
mediante Reti di Petri.
Per inquadrarlo meglio nell'ambito dei sistemi dinamici diremo
che un fenomeno musicale costituito da una serie di "oggetti
musicali" distinti che vengono eseguiti, trasformati, eseguiti
nuovamente, ritrasformati durante il trascorrere del tempo. Associando
ai posti di una Rete di Petri gli "oggetti musicali"
e alle transizioni operatori su tali oggetti, si crea una corrispondenza
tra una istanza della rete e la progressione sonora cos"
come la udiamo.
Il lavoro di tesi consistito nell'analisi e sviluppo su
Macintosh di un sistema software, realizzato nell'ambiente del
sistema di sviluppo MPW 2.0 col linguaggio di programmazione Pascal,
linkato con alcune routine assembler per la gestione della porta
seriale.
Il tipo stesso di elaboratore ha orientato la realizzazione verso
un sistema preminentemente grafico, interattivo e flessibile che
vuole essere un reale supporto al lavoro del musicista, consapevoli
delle difficolt che egli deve affrontare nell'approccio
non essendo sempre un esperto di informatica.
Il tipo di problemi incontrati riguardano la definizione di algoritmi
ad hoc per la gestione della struttura dati, della grafica, dei
dati MIDI, degli "oggetti musicali" e degli algoritmi;
in particolare, per questi ultimi due sono stati realizzati semplici
parser "top-down".
Per quanto riguarda l'interprete delle reti esso accetta il formalismo
della teoria generale pi
le estensioni consistenti nella capacit dei posti, molteplicit
degli archi, morfismi di tipo raffinamento e temporizzazione.
L'algoritmo che lo implementa stato realizzato utilizzando
le esperienze fatte in altri lavori di tesi evelvendolo per supportare
le estensioni introdotte.
Nell'ambito di una sessione di lavoro si pu operare in due
ambienti distinti: l'editor e il performer.
L'editor, dotato di una interfaccia grafica evoluta, permette
la creazione e la modifica interattiva delle reti: inserimenti,
cancellazioni di posti, archi e transizioni; la modifica degli
attributi associati ai posti; la definizione e l'assegnazione
degli oggetti musicali ai posti e degli algoritmi alle transizioni.
Un oggetto musicale consiste a livello dell' utente in un insieme
di note, pause e comandi per modificare lo stato della strumentazione.
Un algoritmo agisce sugli oggetti dei posti in ingresso alla transizione
alla quale appartiene modificandoli in termini di sequenze o sottosequenze.
Possiamo distinguere due tipi di algoritmi: algoritmi che modificano
i parametri del suono(altezza, intensit, durata, timbro)
e algoritmi che manipolano le sequenze di note (inversioni speculari,
retrogradazioni, rotazioni, ripetizioni, trasposizioni, cancellazioni).
Il performer esegue le reti generando una partitura che pu
essere ascoltata in tempo differito, memorizzata come file ed
eventualmente usata come oggetto musicale da associare a uno o
pi
posti (realizzando in maniera meno formale ma pi
efficiente la possibilit di strutture gerarchiche implicite
nella definizione adottata delle Reti di Petri). L'ascolto avviene
collegando la porta seriale del calcolatore a una strumentazione
elettronica digitale (campionatori, sintetizzatori, batterie elettroniche)
tramite una interfaccia MIDI (Musical Instrument Digital Interface).
In conclusione lo scopo del lavoro vuole essere sia quello di
produrre all'atto pratico "fenomeni musicali" osservabili,
sia quello di mostrare come anche il processo compositivo
per molti aspetti formalizzabile in leggi ben definite, che portano
alla sintesi di partiture a partire da "oggetti musicali"
elementari, senza volere diminuire in esso l'importanza della
"invenzione".