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.