INTRODUZIONE
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 questa disciplina. Esiste
però un metodo diverso di pensare la musica: pensarla come
un insieme di "oggetti musicali".
E' questa l'idea che sta alla base del lavoro svolto in questa
Tesi di Laurea. Essa infatti si pone l'obiettivo di segmentare
brani musicali, cioé l'obiettivo della ricerca ed identificazione
dei vari "oggetti" musicali di cui é composto
il brano, dove per oggetti intendiamo quei fraseggi o pensieri
musicali che l'autore ha espresso e che ha ripreso e trasformato,
secondo i vari canoni musicali, in relazione al periodo storico
e alla forma compositiva.
E' quindi un tentativo fortemente innovativo verso la realizzazione
di uno strumento informatico che renda possibile questo secondo
modo di accostarsi ai testi musicali, vedendoli come una struttura
espressiva, fatta da alcuni "oggetti" musicali composti
ed armonizzati fra loro in vario modo.
Questa segmentazione vuole essere il primo passo per una varietà
di applicazioni musicologiche, in particolare per la strumentazione
automatica mediante elaboratore.
Non è certo il primo tentativo di definire metodi e
algoritmi che possano in qualche modo segmentare il brano. Si
sono infatti provate molte strade, dallo studio della psicopercettività
[Lerdhal-Jackendoff, 1983] alla semplice applicazione di algoritmi
di string matching alle sequenze di note [Bertoni et al., 1978].
La strada che invece abbiamo seguito nello sviluppo dello SCORE
SEGMENTER, questo è il nome del programma che è
stato realizzato, si basa sulla teoria musicale. Abbiamo infatti
cercato di affrontare il problema in un modo molto simile a quello
con cui lo avrebbero affrontato dei musicisti, valorizzando quindi
gli aspetti strutturali impliciti nella musica stessa e cercando
di non limitarci solamente ad alcuni di questi aspetti (ritmo,
melodia, armonia), ma di mantenere una visione il più possibile
globale.
Evidentemente quanto fatto ha valore solamente nell'ambito del
sistema temperato tonale diffuso in occidente.
Gli aspetti salienti del presente lavoro sono tre:
- La struttura dati per la rappresentazione dello spartito musicale;
- La ricerca di oggetti musicali noti;
- L'individuazione e definizione degli oggetti musicali che formano
il brano.
Abbiamo desunto i dati su cui lavorare da partiture codificate
con il programma per l'editoria musicale Professional Composer
della Mark of the Unicorn (il programma più diffuso del
settore), decodificandone i codici esadecimali, per ottenere la
ricchezza di informazioni che lo spartito contiene (capitolo 1).
Partendo da questo abbiamo poi costruito degli appositi documenti
di lavoro, cioè una struttura dati appositamente predisposta
al nostro tipo di elaborazione, alleggerita da tutte le informazioni
secondarie di un brano (testi verbali, dinamiche varie, ecc.)
ed arricchita di quegli attributi che la struttura stessa della
notazione musicale tradizionale contiene implicitamente, quali
la metrica o accentuazione delle singole note in relazione al
loro valore ed al contesto in cui sono poste (capitolo 2).
Un secondo aspetto fondamentale del lavoro consiste nella realizzazione degli algoritmi per la ricerca delle occorrenze degli oggetti musicali, o di loro sottoparti, all'interno del brano (oggetti che possono essere individuati dall'elaboratore stesso o forniti dall'utente). A questo proposito sono due gli elementi da considerare: gli attributi della singola nota e la trasformazione musicale che la nota stessa ha subito assieme alle note che la precedono e/o seguono. Gli attributi sono la durata, l'accento, il nome della nota, l'altezza in semitoni e l'andamento dell'intervallo. Per quanto riguarda le trasformazioni, nel presente lavoro sono state considerate quelle applicate agli attributi di posizione, o grado, sia nella scala diatonica della tonalità che nella scala cromatica. Tali trasformazioni sono state realizzate attraverso tre tipi diversi di operatori algebrici e loro combinazioni; precisamente, si tratta dell'operatore di trasposizione, di inversione speculare e di retrogradazione. Tali operatori applicati alla codifica del nome delle note realizzano le corrispondenti trasformazioni musicali tonali, applicati alla codifica dell'altezza in semitoni le trasformazioni reali (capitolo 3). Per fornire buona duttilità a questo strumento di analisi, si é reso possibile intervenire, in mondo interattivo, per variare notevolmente la modalità con cui le ricerche sono condotte, scegliendo quali attributi considerare, quali trasformazioni e quale tasso di variabilità applicare nelle analisi tonali (capitoli 4 e 5).
Terzo ed ultimo aspetto é la segmentazione vera e propria.
Per semplicità ci siamo basati sulla forma musicale contrappuntistica
e della fuga, generalizzandola poi per le altre forme, con un
particolare riferimento alla forma sonata, anche se sarebbe opportuno
ampliare l'algoritmo al fine di individuare, con maggior precisione
e specificità, il tema vero e proprio del brano nelle altre
forme. Infatti per segmentare il brano ci lasciamo guidare proprio
dalle strutture delle forme musicali che generalmente, ma in particolare
la fuga, presentano inizialmente i temi che poi elaborano ed espandono
per riprenderli nel finale. Per la individuazione degli oggetti
ci si é basati non solo sulle loro ripetizioni, che sono
evidentemente un aspetto necessario ma non sufficiente ai fini
musicali. Un tema ha infatti anche un impianto tonale (ad eccezione
della musica contemporanea) e metrico dai quali non é possibile
prescindere. Per tener conto anche di questi aspetti vengono formulate
delle richieste per le note degli ipotetici temi, in relazione
all'appartenenza alla tonalità a seconda del tipo di oggetto
ritmico (tetico, acefalo e anacrusico) e in relazione alla esaustività
e compiutezza del pensiero musicale, quale effetto della ritmica
e della metrica (capitolo 6).
Anche per questa fase di individuazione dei temi si é predisposta
una serie di parametri da specificare interattivamente sia circa
gli elementi da valutare nella definizione del tema (tonalità,
metrica, lunghezza del fraseggio, numero minimo di ripetizioni,
ecc.), sia circa la ripetizione stessa degli oggetti. E' proprio
agendo sui parametri che è possibile variare lo stile della
segmentazione, orientandolo più verso una forma musicale
piuttosto che ad un'altra, oppure caratterizzandolo a proprio
piacere, aumentando o diminuendo la quantità di caratteristiche
richieste in modo da formulare una ricerca rigidamente impostata
(ad esempio sulla forma di fuga) o assolutamente libera, cioé
basata solo sulla ripetitzione di singoli attributi delle note.
Seguono nel capitolo 7 un "Manuale d'uso" dell'applicazione, in cui gli utenti potranno trovare tutto quanto serve per un corretto e veloce utilizzo del SEGMENTER, e nel capitolo 8 le "Note tecniche" necessarie ai ricercatori che volessero modificare parti di questo programma o continuarne lo sviluppo.
Infine riportiamo nelle appendici una serie di esempi di ricerche e segmentazioni di brani di vario genere (dalle classiche fughe di Bach alla Cavalcata delle Walkirie di Wagner e alla Quinta Sinfonia di Beethoven) allo scopo di chiarire l'utilizzo e, soprattutto, le capacità dell'applicazione.
LEGENDA
Per consentire maggior chiarezza nell'esposizione del lavoro svolto, abbiamo corredato il testo di questa Tesi con un sintetico Glossario dei principali termini musicali utilizzati. Quando usato nel testo, ognuno dei termini contenuti nel glossario è richiamato da un asterisco (*).
Abbiamo inoltre riportato gli identificatori utilizzati nel
sorgente con una particolare fonte di caratteri: il Monaco 9.
Mentre i titoli e le voci dei vari menù sono in Monaco
10 e in grassetto.
Il programma SCORE SEGMENTER è stato realizzato su elaboratori
Macintosh ed è funzionante su una qualsiasi macchina di
questa famiglia.
Non è richiesta nessuna particolare configurazione o attrezzatura
hardware (è solo consigliabile una adeguata disponibilità
di RAM).
Come ambiente di sviluppo è stato usato l'MPW 3.0 supportato
dalla versione T1-6.0.4 del Sistema.
Il linguaggio di programmazione utilizzato è l'MPW Pascal
3.0.
Il programma SCORE SEGMENTER è stato realizzato nel Laboratorio di Informatica Musicale (LIM) del dipartimento di Scienze dell'Informazione dell'Università degli Studi di Milano, nell'ambito del progetto:
STAZIONE DI LAVORO MUSICALE INTELLIGENTE
linea di ricerca coordinata C4: MUSIC,
obiettivo C: SISTEMI AVANZATI DI PRODUTTIVITA' INDIVIDUALE,
sottoprogetto 7: SISTEMI DI SUPPORTO AL LAVORO INTELLETTUALE,
progetto finalizzato: SISTEMI INFORMATICI E CALCOLO PARALLELO,
Consiglio Nazionale delle Ricerche: