UNIVERSITÀ DEGLI STUDI DI MILANO
FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI
Corso di laurea in Scienze dell'Informazione

Titolo della Tesi:
Codifica dell'Informazione Musicale: progettazione e sviluppo di un ambiente prototipale integrato di codici MIDI e NIFF.

Relatore: Prof. Goffredo HAUS
Correlatore: Prof. Mauro TORELLI
Tesi di laurea di:
Tonino MENDICINO, Matr. Nr. 410393

Riassunto:
Descrivere in modo completo l'informazione del testo musicale è un problema ancora non risolto, esistono diversi linguaggi per la rappresentazione del testo in forma alfanumerica ma nessun linguaggio é riuscito a imporsi come standard.
L'esigenza di un formato di file standard in grado di descrivere contemporaneamente l'informazione esecutiva, musicologica e grafica del testo musicale ha portato le maggiori società operanti nell'ambito del suono a livello simbolico a definire un nuovo standard: il formato di file NIFF (Notation Interchange File Format), completato nella sua definizione nel 1995.
Obiettivo del lavoro di tesi é analizzare il formato di file NIFF e realizzare un prototipo di ambiente software per il trattamento integrato di file MIDI e file NIFF. Caratteristica del prototipo è elaborare le informazioni di tipo esecutivo del file MIDI tramite funzioni di riconoscimento automatico di strutture musicali per riconoscere informazioni simboliche descrivibili dal formato di file NIFF.
La struttura dati implementata nel prototipo é una lista che rappresenta lo spartito musicale denominata Score List, dove ogni elemento rappresenta un pentagramma. Ogni pentagramma, elemento della Score List, é una lista di eventi musicali denominata Part List.
Ogni canale MIDI viene associato ad una Part List, che conterrà la lista degli eventi MIDI relativi, che rappresentano un caso particolare di evento musicale della Part List.
L'allocazione della memoria é dinamica. Inizialmente viene allocata memoria per un insieme minimo di eventi musicali e ogni volta che lo spazio di memoria non é sufficiente per inserire nuovi eventi viene allocato spazio per un nuovo insieme minimo di eventi musicali, che si concatena al precedente.
Una nota musicale rappresentata nel file MIDI é descritta tramite il quando e con che velocità avviene la sua attivazione (messaggio Note On) e il quando e con che velocità avviene la sua disattivazione (messaggio Note Off).
Una nota musicale rappresentata nel file NIFF é descritta come un simbolo musicale posizionato sul pentagramma in una posizione relativa o assoluta, che può essere in relazione con altre note musicali o avere altri simboli di alterazione, abbellimenti, ornamenti associati che ne modificano l'interpretazione esecutiva.
Quindi, una nota musicale in un file NIFF può corrispondere a diverse note in un file MIDI che rappresentano la sua esecuzione. Per risolvere questo aspetto é stato necessario creare dei modelli formali per descrivere l'esecuzione di un trillo, un mordente, o di altri ornamenti rappresentanti le strutture musicali da riconoscere. Sulla base di questa formalizzazione sono state implementate procedure per il riconoscimento automatico di strutture musicali presenti nella successione di eventi MIDI.
Siano N le note musicali presenti nella Part List, l'algoritmo di riconoscimento implementato ha in ingresso una sequenza di M note musicali che vanno dalla nota k alla nota k+M, dove k rappresenta l'inizio della sequenza e produce in uscita:
- la stessa sequenza data in ingresso, se non sono state riconosciute strutture;
- una nuova sequenza di note musicali derivata da quella in ingresso, se sono state riconosciute strutture;
Nel caso di riscrittura della sequenza in ingresso, viene sostituita alla sottosequenza di note musicali una nuova nota musicale associata al simbolo che le rappresenta (es. trillo) e l'indice k viene spostato alla posizione della nota musicale successiva a quella inserita. L'algoritmo viene applicato per k = [0, 1, 2, …, N-M].
Sono stati implementati diversi algoritmi di questo tipo per riconoscere diverse strutture musicali, tutte parametrizzabili tramite l'estensione della sequenza M.
La misura del tempo viene determinata mediante analisi degli accenti. In un file MIDI questa informazione può essere ricavata dalla velocità con la quale le singole note vengono eseguite. Segue la determinazione della chiave musicale, scelta in base al minimo numero di alterazioni.
Le soluzioni implementate nel prototipo permettono di eseguire sia la conversioni con riconoscimento che quelle senza riconoscimento e sono interattive, nel senso che l'utente può decidere di accettare o rifiutare le riscritture in modo automatico o anche intervenire manualmente effettuando delle correzioni.
La visualizzazione grafica degli eventi musicali e di due tipi:
- la rappresentazione in un piano melodico altezza tempo nel quale é descritta la sequenza e la durata delle note per ogni canale MIDI associato ad un pentagramma;
- la rappresentazione grafica del corrispondente file NIFF, in una rappresentazione che permette di controllare l'andamento della conversione.