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.