Music Information Retrieval Università degli studi di Padova Laurea specialistica in Informatica...
-
Upload
filumena-rosati -
Category
Documents
-
view
214 -
download
0
Transcript of Music Information Retrieval Università degli studi di Padova Laurea specialistica in Informatica...
Music Information Retrieval
Music Information Retrieval
Università degli studi di PadovaLaurea specialistica in Informatica
Corso di Sistemi Informativi
Michele De Filippo De Grazia
Anno accademico 2006-2007
Music Information Retrieval
Bibliografia
J. Stephen Downie, Music Information Retrieval, University of Illinois
J. Stephen Downie, Evaluating a Simple Approach to Music Information Retrieval: Conceiving Melodic N-grams as Text, University of Western Ontario
Kjell Lemström, Pauli Laine, Musical Information Retrieval Using Musical Parameters, International Computer Music Conference 1998
Progetto MIREX: http://www.music-ir.org
Music Information Retrieval
Outline
Introduzione Multifaceted challenge Ulteriori problematiche Sistemi MIR Multifaceted challenge e sistemi MIR MIREX Esempio di un semplice sistema MIR: il
progetto MusiFind
Music Information Retrieval
Outline
Introduzione Multifaceted challenge Ulteriori problematiche Sistemi MIR Multifaceted challenge e sistemi MIR MIREX Esempio di un semplice sistema MIR: il
progetto MusiFind
Music Information Retrieval
Introduzione
Music Information Retrieval: tecniche di immagazzinamento e recupero di materiale musicale
I sistemi MIR attuali si basano solo sui metadati testuali per adempiere ai propri compiti
Ci si pone l’obiettivo di andare oltre all’utilizzo di metadati testuali Due filoni
Recupero di file audio: indicizzazione e ricerca attraverso i metadati testuali all’interno dei file. Tecnica diffusa ma in un ambito molto ristretto
Recupero di opere musicali generiche: indicizzazione e ricerca attraverso le caratteristiche musicali dell’opera (multifaceted challenge)
Problematiche Complessità nelle rappresentazione musicale Diritti d’autore Assenza di uno standard di riferimento: necessità di una comunità
di sviluppo di riferimento
Music Information Retrieval
Outline
Introduzione Multifaceted challenge Ulteriori problematiche Sistemi MIR Multifaceted challenge e sistemi MIR MIREX Esempio di un semplice sistema MIR: il
progetto MusiFind
Music Information Retrieval
Multifaceted Challenge
Aspetti della rappresentazione musicale Pitch Temporal Harmonic Timbral Editorial Textual Biblioraphic
Ognuna gioca un ruolo importante nella definizione del dominio di un sistema MIR
Grande complessità per l’interazione esistente tra tutti questi aspetti
Oggigiorno i più diffusi sistemi MIR trattano soltanto l’aspetto bibliografico (metadati)
Music Information Retrieval
Multifaceted Challenge
Pitch L’intonazione di una nota data dalla frequenza fondamentale del
suono. Il pitch è rappresentato graficamente come dei simboli (♫,♪,…),
nomi (A,B,…,G) o i gradi della scala (I,II,…,VII) L’inviluppo melodico (variazione di toni) è l’aspetto più utilizzato
dai sistemi MIR per indicizzare opere musicali (di solito le prime battute)
Temporal Informazione che concerne alla durata dell’evento musicale Molto importante perché interagendo con Pitch rappresenta
completamente un tema musicale (note e la loro durata) Difficoltà nella rappresentazione per i molti aspetti temporali
presenti in un’opera Harmonic
Rappresentazione delle polifonie ossia di più pitch suonati contemporaneamente
Difficile estrazione dai file audio: spesso non sono denotati esplicitamente
Esempio: gli accordi (rappresentati mediante sigle)
Music Information Retrieval
Multifaceted Challenge
Timbral Rappresenta il timbro sonoro dato dai differenti strumenti utilizzati
nell’opera musicale Spesso parte di queste informazioni fanno parte dell’aspetto
bibliografico Difficoltà nella rappresentazione per l’enorme quantità di timbri
diversi prodotti dalle tecniche esecutive (legato, pizzicato) Editorial
Rappresentazione grafica degli spartiti, con l’aggiunta di informazioni utili per l’esecuzione
Textual Rappresentazione dell’opera musicale attraverso un testo cantato
(testi delle canzoni, cori,…) Maggior indipendenza dei testi dalle melodie e arrangiamenti Perciò posso avere ambiguità e di conseguenza maggior
complessità: testi diversi associati alla stessa melodia, testo associato a melodie diverse, stessa melodia con testo in lingue diverse, ecc...
Bibliographic Metadati sulla melodia (autore, titolo, esecutori,…) Unico criterio di indicizzazione utilizzato su larga scala
Ricerche in atto per creare sistemi MIR che utilizzino anche altri aspetti
Music Information Retrieval
Outline
Introduzione Multifaceted challenge Ulteriori problematiche Sistemi MIR Multifaceted challenge e sistemi MIR MIREX Esempio di un semplice sistema MIR: il
progetto MusiFind
Music Information Retrieval
Ulteriori Problematiche
Oltre alle problematiche relative agli aspetti rappresentativi della musica, ne esistono altre
Multirepresentational Challange Multicultural Challenge Multiexperiential Challenge Multidisciplinarity Challenge
L’aggiunta di questi ulteriori aspetti spiega la grande difficoltà nella realizzazione di un sistema MIR completo
Music Information Retrieval
Ulteriori Problematiche
Multirepresentational Challenge Esistono diverse scelte per la rappresentazione informatica della
musica Da queste scelte dipendono la facilità di estrazione delle
rappresentazioni interne e lo spazio richiesto per la loro memorizzazione
Esempio:• Spartito/MIDI bassi costi di immagazzinamento• File audio onere molto maggiore
Problemi di copyright per la creazione di un catalogo musicale Multicultural Challenge
L’informazione musicale è per sua natura multiculturale Opere al di fuori del sistema tonale occidentale (musica indiana,
tribale africana) richiederebbero uno studio approfondito per cercare altri aspetti rappresentativi
Si cerca di superare ciò con informazioni aggiuntive all’interno delle informazioni bibliografiche
Music Information Retrieval
Ulteriori Problematiche
Multiexperiential Challenge La musica può essere catalogata anche secondo i gusti
musicali e l’esperienza personale Un ulteriore sviluppo di sistemi MIR potrebbe essere, la
catalogazione delle opere musicali secondo considerazioni psico-acustiche sull’effetto emotivo prodotto sull’ascoltatore
Esempio: attraverso feedback capire quando un brano è da considerarsi noioso oppure allegro
Multidisciplinarity Challenge All’interno di un progetto per realizzare un sistema MIR
esiste un enorme “diversità intellettuale” Questo implica chiare difficoltà nel suo sviluppo, infatti
eterogeneità tra i ricercatori e sviluppatori comportano• Difficoltà nella definizione degli obiettivi e modalità operative• Necessita di standard per indicizzare le opere (spartiti vs
segnale campionato)• Difficoltà nella diffusione della ricerca (diverse comunità con
scarsa coesione)
Music Information Retrieval
Outline
Introduzione Multifaceted challenge Ulteriori problematiche Sistemi MIR Multifaceted challenge e sistemi MIR MIREX Esempio di un semplice sistema MIR: il
progetto MusiFind
Music Information Retrieval
Sistemi MIR
Una classificazione dei sistemi MIR viene fatta sulla loro completezza di rappresentazione
Maggiore completezza comporta maggior numero di facet utilizzate per la rappresentazione
Un sistema che utilizza tutte le facet elencate si dice “completo”
Esistono due tipi principali di sistemi MIR che differiscono per completezza e per diversità d’uso
Analytic/Production MIR System Locating MIR System
Music Information Retrieval
Sistemi MIR
Analytic/Production MIR System: caratteristiche Caratterizzato dal più alto grado di completezza rappresentativa Creato per utenti esperti: musicologi, compositori, trascrittori Ha lo scopo di analizzare approfonditamente tutte le facet
musicali per specifiche analisi teoriche e produzione musicale (grana fine)
Analytic/Production MIR System: tecniche Il suo sviluppo viene ricondotto da un problema di
rappresentazione musicale ad un problema di programmazione o comunque ad una qualche tecnica già nota
• Tentativi di modellare l’informazione musicale come linguaggio di programmazione (Kassler, Lincoln, Lemstrom)
• Sviluppo di linguaggi funzionali appositi (MIRA) per esprimere la rappresentazione musicale (Sutton)
• Estensione del modello ER utilizzando DB relazionali (Rubenstein)• Utilizzo di espressioni regolari (McLean’s) e automi a stati finiti (Page)
Music Information Retrieval
Sistemi MIR
Analytic/Production MIR System: strumenti Necessità di sviluppare uno strumento che sia in grado di
realizzare i compiti standard di un sistema MIR (encoding, estrazione, pattern matching,…)
Humdrum Toolkit cerca di realizzare tutto questo• Composto da 50 programmi integrati tra loro (sviluppato per UNIX)• Strumento potente in grado di gestire query di complessità
arbitraria• Grande flessibilità: creazione di query basate su diverse facet
musicali• Enorme complessità d’uso: necessità di scrivere le query nello
stretto linguaggio formale UNIX
• Per questo sviluppato per utenti esperti
extract –i**kern’ HG.kern | semits –x | xdelta –s = |patt –t Motivel –s = -f Motiv1.pat |extract –i**’patt’| assemble HG.krn
Music Information Retrieval
Sistemi MIR
Locating MIR System: caratteristiche Sviluppati per assistere l’identificazione locazione e
recupero di brani musicali Creato per utenti generici Si focalizza solo su alcune facet musicali: Pitch, Temporal,
Textual, Bibliograpich (grana grossa) Locating MIR System: tecniche (1)
Query tipiche utilizzando solo informazioni testuali e bibliografiche
• Lista di tutte le opere di un dato compositore• Lista delle informazioni correlate ad una data opera
Per altre invece necessito della tecnica Incipit Index ovvero della rappresentazione dell’inviluppo melodico privo delle informazioni temporali della prima parte dell’opera
• Opera che inizia con una data linea melodica
Music Information Retrieval
Sistemi MIR
Locating MIR System: tecniche (2) Il sistema Incipit Index (1970) è incompleto, infatti la sua
rappresentazione porta ad una ricerca solo per tema principale ma ha buoni effetti nella pratica (scrittura query semplice)
Un esempio è l’indice di Parsons (1975)• Rappresenta l’inviluppo melodico utilizzando solo tre simboli: R
(nota ripetuta), D (melodia discendente) e U (melodia ascendente).• Trascura completamente l’intonazione delle note ma ho una bassa
probabilità di fare errori nella formulazione della query• E’ anche possibile utilizzare non solo la parte iniziale ma tutta
l’opera
Music Information Retrieval
Outline
Introduzione Multifaceted challenge Ulteriori problematiche Sistemi MIR Multifaceted challenge e sistemi MIR MIREX Esempio di un semplice sistema MIR: il
progetto MusiFind
Music Information Retrieval
Multifaceted Challenge e Sistemi MIR
Ci sono vari modi in cui un sistema MIR gestisce singoli aspetti della rappresentazione musicale. In seguito ne vedremo alcuni a seconda dell’aspetto trattato
Music Information Retrieval
Multifaceted Challenge e Sistemi MIR
Pitch e Temporal (1) RISM (1997)
• DataBase musicale composto da 200.000 composizioni per 8.000 autori
• Rappresentazione mediante Incipit Index focalizzata su pitch e durata• Quindi rappresento soltanto la parte iniziale dell’opera, codificata
usando codici alfanumerici Plaine and Easie• Codifica alfanumerica per i pitch• Codifica numerica per la durata temporale
• Esempio: “Il core vi dono” da “Cosi fan tutte” (Mozart)
• Problematiche• Difficoltà nell’interpretazione delle informazioni e nella formulazione delle
query per la necessità di conoscere perfettamente la melodia e il linguaggio
• Per risolvere alcuni di questi problemi si è creato il sistema HyperBack che consente l’inserimento delle query utilizzando una interfaccia e una tastiera MIDI
%F-4$Bb@3/8#’8C.6.3$.B’C&/,8AD6(-)D/,8G’8.C,6B/8F
Music Information Retrieval
Multifaceted Challenge e Sistemi MIR
Pitch e Temporal (2) MELDEX (100.000 file MIDI + 10.000 documenti)
• Sistema MIR completo• File MIDI reperiti dal Web utilizzando uno spider• Usa rappresentazioni multiple per la singola composizione
(spartito, file audio, MIDI)• Modulo di ricerca con Query by Humming• Ricerca sia utilizzando l’inviluppo melodico semplice (Parsons)
sia il match esatto (con informazioni aggiuntive)• Tecniche di programmazione dinamica aumentano
l’accuratezza della ricerca ma ad un considerabile costo computazionale
Altri sistemi• Utilizzo di n-grammi per rappresentare le melodie a cui
applicare le classiche tecniche di IR
Music Information Retrieval
Multifaceted Challenge e Sistemi MIR
Harmonic Query con argomento l’armonia della composizione
musicale, che possono essere monofoniche o polifoniche (problema di formulazione)
Difficoltà nel discriminare melodia e armonia in opere con forme composite (file audio)
Spazio di ricerca per opere polifoniche multidimensionale Utilizzo algoritmi di pattern matching o n-grammi per ridurmi
a problemi già noti Timbral
Generalmente basato sul processare le melodie per estrarre i timbri in essa presenti
Buoni risultati per opere monofoniche (un unico strumento) Ancora non esiste un buon strumento per discriminare gli
strumenti in melodie composite
Music Information Retrieval
Outline
Introduzione Multifaceted challenge Ulteriori problematiche Sistemi MIR Multifaceted challenge e sistemi MIR MIREX Esempio di un semplice sistema MIR: il
progetto MusiFind
Music Information Retrieval
MIREX
MIREX (Music Information Retrieval Evaluation eXchange) è un progetto nato all’interno di Music-ir.org (comunità di sviluppo per sistemi MIR) che si pone l’obiettivo di definire
Un benchmark d’uso per la valutazione di sistemi MIR Metodologie standard per la valutazione dei risultati forniti
da sistemi MIR La prima MIREX Conference si è tenuta a Londra, 11-15
settembre 2005 Lo scopo è di confrontare lo stato dell’arte degli
algoritmi e sistemi esistenti migliorando gli aspetti relativi alla multidiscipinarietà
Music Information Retrieval
Outline
Introduzione Multifaceted challenge Ulteriori problematiche Sistemi MIR Multifaceted challenge e sistemi MIR MIREX Esempio di un semplice sistema MIR: il
progetto MusiFind
Music Information Retrieval
Il progetto MusiFind
Progetto iniziato nel 1993 che aveva il compito di creare un sistema MIR per la raccolta e l’estrazione di brani a partire da un catalogo musicale
Ci soffermeremo solo alla parte del progetto relativa alla creazione e rappresentazione del catalogo musicale (indice) e dei risultati ottenuti
Il primo passo fu di scegliere il formato con cui dovevano essere codificati i file iniziali
La scelta cadde sui file MIDI Formato molto diffuso Codifica relativamente semplice e manipolabile Conosciuto da quasi tutti i ricercatori
Il secondo passo fu di scegliere alcuni aspetti chiave sulla rappresentazione musicale
Enfatizzare la recall sulla precision, quindi non inserire informazioni ritmiche nell’indice, ossia si preferiva recuperare solo il brano rilevante (single label)
Utilizzare intervalli (n-grammi) piuttosto che toni per la loro rappresentazione più generale
Music Information Retrieval
Il progetto MusiFind
Sono state definite alcune unità di misura e loro proprietà “intervallo” = la differenza tra due toni
• Un tono codificato secondo MIDI è un valore compreso tra [0..127] allora gli intervalli possibili saranno da -127 a +127
• Questi sono troppi per poter indicizzare quindi nasce la necessità di dividerli in classi
“classi di intervalli” = insieme di intervalli equivalenti• Se partizioniamo l’insieme di intervalli I in sottoinsiemi disgiunti
I1, I2,…, Ic tali che
• Ogni Ii è chiamata una classe di equivalenza• Ora definiremo una funzione di classificazione
j
c
jj III i
1
I ji e
Music Information Retrieval
Il progetto MusiFind
Funzione di classificazione
Che converte l’intervallo i nella sua classe di equivalenza Tale funzione viene creata ad hoc a seconda del tipo di
classificazione Stringa melodica
Data una sequenza di toni p1, p2, p3,…,pn definiamo la sua corrispondente sequenza di intervalli come
i1, i2, i3,…in-1 dove ij = pj+1 - pj (intervallo tra pj e pj+1) Data una sequenza di intervalli i1, i2, i3,…in-1 definiamo la
corrispondente sequenza di classi di intervalli comeC(i1), C(i2), C(i3),…,C(in-1) dove C è la funzione di classificazione
jIijiC
cIC
)( dove
..1 :
Music Information Retrieval
Il progetto MusiFind
Ora definiamo le features utilizzate per l’indicizzazione Data una sequenza X = x1, x2, x3,…, xn definiamo la
sottosequenza di lunghezza k a partire dall’elemento j come
Allora data una sequenza di classi di intervalli S = c1, c2, c3,…,cn
possiamo definire allo stesso modo
Queste sottosequenze saranno quindi le nostre features
Possiamo finalmente scrivere la prima parte dell’algoritmo per generare tali features dalla collezione
1,..., kjjkj xxX
1,..., kjjkj ccS
Music Information Retrieval
Il progetto MusiFind
Algoritmo per la creazione delle features1. Sia data una melodia = sequenza di toni di lunghezza n+12. Calcolo la sequenza di intervalli lunga n relativa alla melodia3. Applico la funzione di classificazione C ad ogni intervallo
producendo la sequenza di classi di intervalli relativa (lunga n)
4. Estraggo tutte le sottosequenze di lunghezza k (k arbitrario)
Music Information Retrieval
Il progetto MusiFind
Osservazioni Le sottosequenze non sono necessariamente distinte Se volessimo quindi costruire una tabella con tutte le
sottosequenze di lunghezza k possibili, tale tabella dovrebbe avere ck entry (permutazioni lunghe k delle c classi)
Se le enumeriamo da 0 a ck-1 possiamo definire una funzione che mapperà ogni singola sottosequenza in un valore di tale intervallo
Sia data una sequenza di classi di intervalli S = s0, s2, s3,…,sk-1 allora definiamo tale funzione come
Possiamo allora utilizzare H per costruire le features finali, ossia sostituisco ogni sottosequenza con una sorta di “impronta” (univoca) che sarà utilizzata come chiave in una hash table
i
k
i
iscSH
1
0
)(
Music Information Retrieval
Il progetto MusiFind
Algoritmo per la creazione delle features (completo)1. Sia data una melodia = sequenza di toni di lunghezza n+12. Calcolo la sequenza di intervalli lunga n relativa alla melodia3. Applico la funzione di classificazione C ad ogni intervallo
producendo la sequenza di classi di intervalli relativa (lunga n)4. Estraggo tutte le sottosequenze di lunghezza k (k arbitrario)5. Per ogni distinta sottosequenza lunga k applico la funzione H
per generare i corrispondenti indici della hash table
Music Information Retrieval
Il progetto MusiFind
Ora è possibile scrivere l’algoritmo per generare un indice sulla collezione musicale (hash table)1. Inizializzo la tabella in modo che a tutte le entry sia
associata una lista vuota2. Per tutti i file f (melodie) della collezione
a. Per tutte le sottosequenze S di classi di intervalli lunghe k in f Calcola l’indice i = H(S) Aggiungi il nome del file f (o un codice identificativo) alla lista
della i-esima entry della hash table a meno che f non compaia già nella lista
Quindi la lista associata all’entry i rappresenta l’insieme delle melodie che contengono al loro interno la sottosequenza S di classi di intervalli tale che H(S) = i
Music Information Retrieval
Il progetto MusiFind
A partire da questo algoritmo possiamo trovare anche la risposta ad una stringa query q1. Creare tutte le sottosequenze di classi di intervalli lunghe k in q2. Per ogni sottosequenza S
a. Generare l’indice i = H(S) della hash tableb. Estrarre la lista di file associati all’ i-esima entry della hash table
3. Mantenere nella lista finale solo i file che compaiono in tutte le sottoliste
Quindi ognuno dei file recuperati conterrà almeno una istanza di ognuna delle sottosequenze di classi di intervalli generate da q
Non necessariamente conterrà q stessa, infatti le sequenze potrebbero non essere nell’ordine esatto
Da questo fatto abbiamo due conseguenze Buona probabilità di recuperare molte melodie poco rilevanti
(bassa precision) La melodia rilevante sarà recuperata (recall massima)
Music Information Retrieval
Il progetto MusiFind
Lo scopo finale di questo progetto era di capire gli effetti sul recupero delle melodie utilizzando gli n-grammi e l’indicizzazione
Prima di ciò c’era la necessità di decidere quali valori assegnare a c (numero di classi di equivalenza) e l (lunghezza delle sottosequenze) in modo da non aumentare troppo la grandezza della hash table
Inoltre si è deciso di utilizzare sottosequenze di lunghezza diversa per le query, non necessariamente uguale ad l
Sottosequenze più lunghe di l• lq= 5 e l = 4 q = 12345 1234 and 2345
• L’insieme finale sarà l’intersezione delle liste risultanti Sottosequenze più corte di l
• lq= 4 e l = 6 q = 1234 1234@@ (@=tutti i valori)
• L’insieme finale sarà l’unione delle liste risultanti
Music Information Retrieval
Il progetto MusiFind
Furono scelte 4 combinazioni per c e l (creazione di 4 indici diversi)
c=7 e l=6 (C7L6) con 117.649 entry c=12 e l=5 (C12L5) con 248.832 entry c=14 e l=5 (C14L5) con 537.824 entry c=23 e l=4 (C23L4) con 379.841 entry
E tre lunghezze per le query 4, 6 e 8 (Q4, Q6, Q8)
Collezione di 100 file MIDI Esperimento eseguito su query ricavate dalle melodie stesse
Come parte iniziale della melodia Scelta random all’interno della melodia
Il totale delle query eseguite per esperimento è 1.200 (100 melodie x 4 indici x 3 tipi di query)
Da questi esperimenti è stata poi calcolata la precision come P = 1/ n° di melodie recuperate
Music Information Retrieval
Il progetto MusiFind
Media file Max n° file N° query P Media P
C7L6Q4 24.93 83 69 0.04
C7L6Q6 7.8 53 87 0.13 0.14
C7L6Q8 3.84 53 97 0.26
C12L5Q4 9.95 42 87 0.10
C12L5Q6 2.6 16 97 0.38 0.40
C12L5Q8 1.41 14 99 0.71
C14L5Q4 8.34 39 90 0.12
C14L5Q6 2.26 17 96 0.44 0.43
C14L5Q8 1.35 11 100 0.74
C23L4Q4 4.86 26 93 0.21
C23L4Q6 1.84 26 97 0.54 0.50
C23L4Q8 1.35 26 100 0.74
Risultati ottenuti utilizzando query ricavate dalla parte iniziale delle 100 melodie
Music Information Retrieval
Il progetto MusiFind
Media file Max n° file N° query P Media P
C7L6Q4 23.19 83 75 0.04
C7L6Q6 7.57 53 92 0.13 0.14
C7L6Q8 4.15 53 95 0.24
C12L5Q4 11.68 42 79 0.09
C12L5Q6 2.13 14 98 0.47 0.43
C12L5Q8 1.36 14 100 0.74
C14L5Q4 8.84 39 87 0.11
C14L5Q6 2.04 15 99 0.49 0.47
C14L5Q8 1.24 8 100 0.81
C23L4Q4 4.81 26 95 0.21
C23L4Q6 1.43 26 100 0.70 0.55
C23L4Q8 1.35 26 100 0.74
Risultati ottenuti utilizzando query ricavate random all’interno delle 100 melodie
Music Information Retrieval
Il progetto MusiFind
Media file Max n° file N° query P Media P
IConQ4 4.59 22 90 0.22
IConQ6 1.41 8 96 0.71 0.62
IConQ8 1.08 5 99 0.93
RConQ4 5.17 26 97 0.19
RConQ6 1.30 8 96 0.77 0.64
RConQ8 1.04 5 96 0.93
Risultati ottenuti utilizzando ricerca contigua su query ricavate sia all’inizio sia random all’interno delle 100 melodie (medie sui 4 indici)
Music Information Retrieval
Il progetto MusiFind
Vediamo quindi il riepilogo dei risultati ottenuti Precision media per le query estratte all’inizio delle
melodie P=0.37 Precision media per le query estratte random dalle melodie
P=0.40 Precision media per tutte le query non contigue
P=0.38 Precision media per tutte le query contigue
P=0.63 Miglior risultato ottenuto con la combinazione C23L4
• Query non contigue P=0.53• Query contigue P=0.63