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.