Codifica integrata di informazione audio digitale, MIDI e NIFF basata su ambiente SMDL/HyTime
Riassunto
Questa tesi si propone di valutare e sperimentare nuove tecniche
e metodologie per la creazione di un database musicale che sia
in grado di gestire le diverse tipologie di informazione insite
nella rappresentazione digitale della musica in tutti i suoi aspetti.
Gli aspetti della rappresentazione digitale della musica coprono
vari ambiti delle metodologie che líinformatica mette a
disposizione:
· il brano puÚ implicare una rappresentazione
in forma di segnale numerico;
· oppure un insieme di eventi temporizzati orientati alla
performance automatica da parte di sistemi in grado di generare
il processo sonoro e grafico;
· un insieme di immagini grafiche che possono rappresentare
la partitura, le scene di una rappresentazione teatrale, un video
associato al brano musicale ....
· una rappresentazione di tipo notazionale dellíinformazione
musicale di partitura e non, che abbia una struttura gerarchica
a pi? livelli;
· una rappresentazione dellíinformazione logica
musicale, ossia la rappresentazione di ciÚ che il compositore
ha voluto scrivere nel brano.
Tutti questi aspetti danno il quadro dellíinformazione
musicale come ambiente multimediale nel quale i vari aspetti sonori,
grafici e logici possono venire miscelati tra di loro permettendone
líinterazione.
Sotto questo punto di vista ci si Ë mossi nella direzione
di considerare un ambiente nel quale questi aspetti vengano trattati
in modo sufficientemente completo. In questo senso lo standard
ISO HyTime (Hypermedia Time-Based Structuring Language) consente
una descrizione delle varie tipologie di informazione sopracitate.
In particolare ci si Ë soffermati sulla valutazione dello
standard ISO SMDL (Standard Music Description Language) che Ë
una applicazione di HyTime specifica per la rappresentazione dellíinformazione
musicale.
SMDL divide líinformazione musicale in quattro domini principali:
· Dominio Logico: informazione comune a tutti gli aspetti
musicali.
· Dominio Gestuale: performance e audio.
· Dominio Visuale: grafica e partitura.
· Dominio Analitico: descrizione dellíinformazione
extra-musicale (note, commenti ...).
Non essendo ancora completamente specificato, SMDL non permette finora di rappresentare nei minimi dettagli tutta líinformazione musicale. Fornisce comunque un ambiente nel quale gli aspetti pi? importanti possono essere integrati.
Essendo un meta-liguaggio di descrizione dellíinformazione musicale, nel quale ogni sua istanza rappresenta un brano in tutti i suoi aspetti, SMDL (ed in generale tutte le applicazioni SGML/HyTime) necessita di un ambiente software in grado di trattarlo (ricordiamo che lo standard SGML si basa sulla codifica tramite codice ASCII) e di trattare líinformazione che ogni sua istanza puÚ contenere. Un aspetto importante che il software deve tenere in considerazione Ë líintegrazione delle rappresentazioni del brano in diversi formati (audio AIFF, notazionale NIFF, grafica TIFF, performance MIDI ...), la quale avviene a livello semantico nella codifica SMDL.
Come applicazione per la valutazione dellíambiente di
sviluppo nel quale SMDL si pone Ë stato realizzato un software
per líintegrazione dei formati di file NIFF e MIDI come
istanze di SMDL.
Sono stati presi in considerazione questi due formati in quanto
il MIDI Ë uno standard diffusissimo e molto utilizzato nellíambito
delle applicazioni musicali esistenti per la rappresentazione
di performance musicali automatizzate, ed il NIFF Ë uno standard
definito dalle maggiori case produttrici di software musicale
che si pone come futuro standard per la rappresentazione di partiture.
L'analisi delle relazioni tra líinformazione contenuta
nei due formati con líinformazione che puÚ essere
codificata in SMDL ha consentito lo sviluppo del traduttore.
Líintegratore quindi implementa le funzioni di estrazione
da questi formati dellíinformazione necessaria per poter
scrivere un file SMDL, tradurla ed integrarla.
Il software Ë stato diviso in tre parti:
· Stage1 (sviluppato in ANSI C): estrae líinformazione
separatamente dai file NIFF e MIDI scrivendola in un formato (SGML
ASCII) intermedio necessario allo Stage2. Per lo sviluppo della
parte di estrazione dellíinformazione dai files NIFF si
Ë utilizzata una serie di librerie specifiche per líimplementazione
di tale formato: NIFF SDK (Software Developer Kit), le quali
forniscono gli strumenti per leggere scrivere e modificare file
NIFF. Mentre per la parte che riguarda il MIDI ci si Ë basati
sulle specifiche MIDIFILE 1.0 sviluppando per intero la parte
di traduzione a partire dalla codifica binaria dei file nel format0
e nel format1.
· Stage2 (sviluppato in C++): tramite líutilizzo
di un ambiente software (il sistema HyMinder) che permette la
trattazione dellíinformazione SGML/HyTime, vengono letti
i vari formati intermedi e per ognuno viene generato il file SMDL
corrispondente. Il sistema HyMinder Ë un insieme di librerie
scritte in C++. Esso fornisce gli strumenti per creare applicazioni
software che implementino lo standard HyTime e le sue applicazioni
(quali SMDL). Fornisce inoltre un ambiente nel quale Ë possibile
importare, elaborare, scrivere, modificare file SGML che utilizzino
i costrutti HyTime e diverse metodologie di trattamento e di rappresentazione
dellíinformazione presente in un documento.
· Stage3 (sviluppato in ANSI C): i vari file SMDL vengono
confrontati e se appartengono allo stesso brano vengono integrati
in un unico file SMDL che si pone come descrittore dellíinformazione
logica contenuta nei file NIFF e MIDI considerati. La fase di
comparazione considera le differenze che possono scaturire dalla
traduzione dei diversi formati (in quanto specializzati per rappresentare
diversi tipi di informazione).
In secondo luogo si Ë cercato di valutare se la trattazione
dellíinformazione musicale secondo questa codifica permetta
una integrazione con un database. Si Ë quindi ipotizzata
una possibile applicazione SMDL come descrittore per informazione
trasportabile in un database che permetta una serie query orientate
alla ricerca semantica dei brani musicali.
La struttura del database che gestisce le informazioni assume
una forma gerarchica su tre livelli:
· Livello database: nel DB vengono immesse tutte le
informazioni necessarie alle query pi? comuni ossia ricerca per
autore, titolo dellíopera, strumenti, etc... Per ogni brano
vengono estratte, dal file SMDL, le informazioni significative
che possono identificarlo (segmenti generativi del brano, melodie
..) secondo algoritmi di segmentazione di partitura. Queste informazioni
vengono tradotte in forma tabellare in modo da poter essere inserite
direttamente nel database ed utilizzate per query veloci (es.
ricerca di una qualsiasi sequenza di note immessa dallíutente).
· Livello semantico: a questo livello appartengono le
codifiche dei brani in forma SMDL nei quali Ë possibile effettuare
ricerche che richiedono la scansione di tutto il brano (es. numero
di occorrenze di una certa sequenza di note) e contengono líinformazione
di integrazione ipermediale dei vari file che costituiscono i
materiali riguardanti uno stesso brano.
· Livello di codifica: a questo livello appartengono tutti
i file, nei diversi formati (MIDI, NIFF, AIFF, TIFF...) che costituiscono
i materiali relativi ogni brano. Le ricerche devono essere necessariamente
differenziate per ogni tipo di file in quanto ognuno di essi possiede
una propria sintassi di codifica.
Gli sviluppi futuri che si possono prevedere in questo campo si basano essenzialmente sul completamento dello standard SMDL (in quanto a tuttíoggi esso non risulta ancora completo) ed inoltre dalla possibilit di interfacciare líambiente di sviluppo che implementa lo statndard HyTime con líambiente di gestione del database.