Relatore: Prof. G. Haus Studente: Guagnini Stefano
Correlatore: Dott. G. Frazzini Matr.: 375079
Riassunto di tesi di laurea in Scienze dell'Informazione
Anno Accademico 1997/98
Metodi e strumenti per la segmentazione automatica di partiture musicali scritte in NIFF
In genere si è abituati a pensare alla musica come ad un insieme di note perché questo è il metodo più diffuso per accostarsi allo studio di tale disciplina. Esiste però un modo diverso di pensare alla musica: pensarla come un insieme di "oggetti musicali". Con oggetto musicale si intende un frammento di pentagramma contenente un certo numero di note che viene ripetuto più volte (anche se spesso soggetto a variazioni) nell�arco di un brano.
Il principale scopo della segmentazione è appunto l�identificazione di questi oggetti musicali che verranno indicati come temi. I temi di una composizione una volta noti potranno essere utilizzati per scopi diversi che vanno dall�analisi stilistica di un compositore alla compressione del testo musicale in forma alfanumerica.
Il lavoro sviluppato in questa tesi di laurea rientra in un più ampio progetto in via di sviluppo presso il Laboratorio di Informatica Musicale (L.I.M) del Dipartimento di Scienze dell'Informazione dell'Università degli Studi di Milano. Questo progetto consiste nel restauro e nella digitalizzazione dell�archivio fonico del teatro alla Scala di Milano, quindi, allo sviluppo di una base di dati multimediale (MAIS � Musical Archive Information System) che raccolga tutto questo materiale (audio, video, partiture e una serie di altre informazioni).
In questo contesto il principale scopo del metodo di segmentazione che verrà presentato è quello di fornire gli elementi necessari per l�indicizzazione delle partiture in questa base di dati, cosicché sia possibile eseguire delle ricerche per contenuto. Un secondo scopo è quello di creare una mappa delle occorrenze dei vari oggetti musicali, in modo che queste informazioni siano disponibili per future applicazioni.
Gli aspetti salienti del presente lavoro (sviluppato su piattaforma Windows in Visual C++) sono quattro:
Come formato di acquisizione dei dati, essendo molto ricco nella descrizione notazionale di informazione musicale, è stato assunto lo standard NIFF (Notation Interchange File Format), che adotta la struttura interna RIFF (Resource Interchange File Format) definita da Microsoft.
La prima fase dell�analisi di un brano consiste nella scansione del file NIFF durante la quale vengono scartate tutte le informazioni irrilevanti o ridondanti per le successive fasi (ad esempio i dati relativi all�impaginazione). Le informazioni significative vengono ripartite su più file ognuno dei quali, al termine della scansione, conterrà la codifica di una sola parte o voce (un solo pentagramma).
La seconda fase riguarda la lettura e l�organizzazione dei dati in memoria. La partitura viene rappresentata con la stessa struttura gerarchica che avrebbe su uno spartito, cioè è vista come un elenco di pentagrammi ognuno associato ad una parte e ad una voce. Ogni pentagramma viene rappresentato come una lista di battute e queste a loro volta come liste di eventi musicali.
Nella terza fase si procede al calcolo e all�assegnamento degli accenti a tutte le note della partitura seguendo le regole della grammatica definita da un automa deterministico appositamente costruito durante lo sviluppo di questa tesi.
In seguito si preparano i dati per la ricerca dei frammenti generativi, eseguendo preventivamente alcuni dei calcoli necessari in modo da ridurre quanto più possibile i successivi tempi di esecuzione. Tale ricerca avviene su una lista ordinata di elementi che rappresentano i vari eventi musicali delle diverse parti. Apposite marche vengono inserite in questa lista per separare gli eventi appartenenti parti diverse o per indicare punti particolari che non possono essere interni ad un frammento tematico (ad esempio pause eccessivamente lunghe). Ad ogni elemento della lista sono associati dei valori che rappresentano l�importanza di quell�evento inserito in uno specifico contesto (il frammento che lo contiene). La ricerca procede confrontando ogni frammento con tutti quelli che lo seguono. Ogni volta che un frammento viene riconosciuto equivalente ad un altro l�importanza di tutti gli elementi appartenenti al primo dei due (quello più a sinistra nella lista) aumenta mentre quella relativa agli elementi del secondo (quello a destra) diminuisce in modo proporzionale alla loro somiglianza. Al termine dell�analisi, alle prime occorrenze dei frammenti tematici sarà riconosciuta un�importanza maggiore che non alle altre, quindi li si potrà isolare. L�importanza dei frammenti viene valutata secondo due aspetti, il ritmo e la melodia. Sarà possibile, in fase di valutazione, combinare in vari modi i risultati ottenuti per ognuno di questi due aspetti (li si potrà pesare separatamente e si potrà indicare la necessità o la sufficienza di ognuno di essi).
L�identificazione dei frammenti tematici comporta necessariamente un numero di confronti di ordine n2. Per ridurre i tempi di calcolo è stato necessario sviluppare degli strumenti che consentissero di velocizzare ogni singolo confronto.
A tale scopo si sono definiti degli operatori che rappresentassero le più comuni trasformazioni musicali utilizzate dai compositori. Si sono quindi considerati equivalenti quei frammenti che potevano essere messi in relazione tramite queste trasformazioni. Il problema nell�utilizzo di questi operatori cosi come definiti stava nel fatto che si sarebbe dovuto eseguire un grande numero di calcoli per stabilire se due frammenti potevano essere equivalenti. Quindi si è effettuato uno studio delle proprietà matematiche di questi operatori per giungere infine ad adottare una rappresentazione tale da ridurre la verifica ad un semplice confronto fra vettori.
Il formato adottato per l�acquisizione delle partitura è di recente definizione, non è quindi facile recuperare spartiti scritti secondo questo standard. Per questo si devono spesso importare le partiture da un formato più povero o da un supporto cartaceo (tramite scanner) con risultati molto spesso poco precisi. Si è quindi introdotta una variante del metodo di segmentazione. Anziché utilizzare tutti gli eventi scritti sui pentagrammi si va a campionare la partitura a intervalli regolari (ad es. ogni quarto) e quindi ad eseguire la ricerca dei frammenti tematici in base a questo campionamento escludendo l�aspetto ritmico.
I risultati ottenuti sono più che soddisfacenti in quanto i temi estratti durante i test eseguiti su fonti eterogenee corrispondevano abbastanza bene a quelli riportati sui manuali. L�unico effetto indesiderato notato è che molte volte i frammenti estratti comprendono anche le note che precedono o seguono il tema.