Relatore: Prof. G.Haus Studente: Agostino Inzoli
Correlatore: Dott. I.Pighi Matr.: 371477

Riassunto di tesi di laurea in Scienze dell'Informazione
Anno Accademico 1994/95

Un sistema software per la sincronizzazione di partiture e processi MIDI.

 

Il presente lavoro di tesi, svolto presso il Laboratorio di Informatica Musicale del Dipartimento di Scienze dell'Informazione dell'Università degli Studi di Milano, è stato rivolto alla progettazione e alla realizzazione di un sistema prototipale per la sincronizzazione tra processi musicali MIDI e processi multimediali. Lo scopo del progetto è stato quello di creare un ambiente di facile utilizzo, capace di gestire simultaneamente immagini video, suoni, grafica e qualsiasi altro strumento (oggetto multimediale) che rappresenti un canale comunicativo, il tutto sincronizzato rispetto all'esecuzione di una partitura MIDI (Standard MIDI File).
L'utente sarà quindi in grado di realizzare una performance multimediale associando a diversi istanti temporali della partitura MIDI degli oggetti che verranno attivati solamente quando l'esecuzione della base musicale sarà giunta nei punti di sincronismo stabiliti. Il sistema, denominato PROMENADE, può operare in ambiti diversi che vanno dalla performance live, come nel caso di un volta-pagina automatico per esecuzioni musicali su basi MIDI, alla didattica, fino ad ottenere un ambiente adatto alla realizzazione di presentazioni multimediali.
È possibile chiarire le motivazioni che hanno portato allo sviluppo di questo lavoro di tesi proponendo un'analisi critica comparativa di PROMENADE con alcuni dei sistemi esistenti sul mercato (capitolo 2); in questo modo si mettono in evidenza sia le soluzioni innovative proposte che le notevoli funzionalità offerte dall'ambiente.
Per realizzare una performance multimediale utilizzando PROMENADE è necessario integrare tale ambiente con altre applicazioni commerciali come sistemi per l'editoria musicale e sequencer MIDI (capitolo 3). In fase di ideazione del progetto é risultato conveniente, piuttosto che organizzare tutto in un'unica applicazione, realizzare per ogni diverso ambito operativo un ambiente dedicato; ciò ha consentito, da un lato, un notevole risparmio in termini di occupazione di memoria, mentre dall'altro lato, una maggiore facilità di utilizzo. Vengono così introdotti i due ambienti distinti che compongono l'intero sistema: EDITOR e VIEWER.
EDITOR permette di stabilire i punti di sincronismo tra partitura MIDI ed oggetti multimediali quali filmati digitali (movie), file audio, immagini grafiche e pagine di partitura; mentre VIEWER realizza l'attivazione sincrona, durante la performance musicale, degli oggetti precedentemente selezionati. Con attivazione di un oggetto multimediale intendiamo riferirci, utilizzando un unico termine, sia all'operazione di visualizzazione sullo schermo, nel caso in cui l'oggetto sia costituito da un'immagine grafica statica, che all'operazione di riproduzione, nel caso di un oggetto con struttura dati dinamica (movie o file audio).
Tra le diverse problematiche affrontate durante lo sviluppo del progetto (capitolo 4), ha assunto particolare importanza la temporizzazione dello Standard MIDI File con la relativa scelta e inserimento dei messaggi per la sincronizzazione degli oggetti multimediali selezionati. Le soluzioni proposte hanno dovuto tenere conto, in modo sostanziale, dei problemi legati ai tempi di attivazione di tali oggetti: la loro esecuzione supportata da VIEWER, durante una performance musicale MIDI, deve iniziare pressoché istantaneamente nei punti temporali selezionati, in modo da non alterare il processo di sincronizzazione. L'implementazione dell'applicazione VIEWER, ovvero le strutture dati utilizzate e gli algoritmi nei linguaggi C e Pascal che operano su tali strutture (capitolo 5), è avvenuta in modo da assolvere a tale compito primario: nel contesto della classica impostazione event_driven delle applicazioni Macintosh, il ciclo principale dell'applicazione si occupa di istanziare le procedure necessarie ad assolvere le richieste di attivazione degli oggetti multimediali, mentre ad una procedura richiamata a livello di interrupt dall'arrivo stesso dei dati MIDI, spetta il compito di effettuarne l'analisi sintattica.
Diverso invece é il discorso per quanto riguarda le strutture dati e gli algoritmi dell'ambiente EDITOR, la cui applicazione non è soggetta a forti vincoli temporali, come invece abbiamo visto avvenire per VIEWER, ma si occupa dell'interfacciamento con l'utente, gestendo la fase di inserimento dei messaggi di sincronizzazione nello Standard MIDI File e associando a questi ultimi gli oggetti multimediali da attivare nel corso della performance.
Nella guida operativa di PROMENADE (capitolo 6) sono elencati i requisiti hardware e software necessari per il corretto funzionamento dell'intero ambiente. Vengono quindi analizzate nel dettaglio le interfacce utente delle due applicazioni EDITOR e VIEWER, ed infine, viene illustrato un esempio completo di utilizzo di PROMENADE per la realizzazione di una performance multimediale sincrona.
Chiude lo scritto di tesi una breve trattazione dedicata ai possibili sviluppi futuri del sistema.