Music Information Retrieval

Slides:



Advertisements
Presentazioni simili
Analisi e progettazione
Advertisements

DBMS (DataBase Management System)
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
Cenni sul campionamento
1 Biglietti: schema E/R. 2 Biglietti: albero degli attributi.
Lez. 131 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Rappresentazione.
Chiara Mocenni - Sistemi di Supporto alle Decisioni I – aa Sistemi di Supporto alle Decisioni I Dynamic Programming Chiara Mocenni Corso di.
Chiara Mocenni - Sistemi di Supporto alle Decisioni I – aa Sistemi di Supporto alle Decisioni I Scelte di consumo Chiara Mocenni Corso di laurea.
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Iterazione enumerativa (for)
Identificazione delle attività
Enver Sangineto, Dipartimento di Informatica Multimedia Information Retrieval.
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Capitolo 9 Il problema della gestione di insiemi disgiunti (Union-find) Algoritmi e Strutture Dati.
Processi Aleatori : Introduzione – Parte I
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
eliana minicozzi linguaggi1a.a lezione2
1 Anatomia di una pagina Un insieme di pagine web hanno generalmente una parte invariante (o poco): header, navigazione, footer una parte variabile: contenuti.
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
Antonello DAguanno Music Information Retrieval - TOOLS.
L’indagine OCSE-PISA: il framework e i risultati per la matematica
La Rappresentazione cartografica
Tabelle hash.
Modelli simulativi per le Scienze Cognitive Paolo Bouquet (Università di Trento) Marco Casarotti (Università di Padova)
Cercare informazioni sul Web. 5-2 Organizzazione dellinformazione tramite gerarchie Classificazione gerarchica Linformazione è raggruppata in un piccolo.
OPERAZIONI CON TRINOMI DI II° GRADO
Unità Didattica 2 I Linguaggi di Programmazione
Corso di Laurea in Ingegneria per lAmbiente e il Territorio Informatica per lAmbiente e il Territorio Docente: Giandomenico Spezzano Tutor: Alfredo Cuzzocrea.
I database per il medico / 2 n I database n I database: nozioni generali sulle basi di dati, con approfondimento sulle basi bibliografiche Paolo Gardois.
Antonello DAguanno Music Information Retrieval - AUDIO.
Biologia Computazionale - Algoritmi
RAPPRESENTAZIONE DELL'INFORMAZIONE
C APITOLO 6 © 2012 Giorgio Porcu – Aggiornamennto 22/02/2012 G ESTIRE D ATI E C ARTELLE DI LAVORO Excel Avanzato.
Database & Information Retrieval
Elementi di Informatica di base
INFORMATICA MATTEO CRISTANI. INDICE CICLO DELLE LEZIONI LEZ. 1 INTRODUZIONE AL CORSO LEZ. 2 I CALCOLATORI ELETTRONICI LEZ. 3 ELEMENTI DI TEORIA DELL INFORMAZIONE.
Esercizio 10.* Un cassiere vuole dare un resto di n centesimi di euro usando il minimo numero di monete. a) Descrivere un algoritmo goloso per fare ciò.
Radix-Sort(A,d) // A[i] = cd...c2c1
ACCESS Introduzione Una delle necessità più importanti in informatica è la gestione di grandi quantità di dati. I dati possono essere memorizzati.
Progettare un database
Algoritmi e Strutture Dati
La versione 18 di Aleph500: le novità CATALOGAZIONE Rita Vanin Ottobre 2007.
Multimedia Information Retrieval
Corpo Musicale di Brenno Useria
Programma di Informatica Classi Prime
IO E LA MATEMATICA PROCEDURALE
Informazioni e dati A. Ferrari. Informazione automatica Informatica deriva dalla contrazione di altri due termini: informazione e automatica e sta a significare.
Rappresentazione delle durate Lezione 7 Programmazione per la Musica | Prof. Luca A. Ludovico.
Definizione di un algoritmo
ITCG “V. De Franchis” - PON FSE Modulo G/1 l’informatica”
IV D Mercurio DB Lezione 2
Capitolo 9 Il problema della gestione di insiemi disgiunti (Union-find) Algoritmi e Strutture Dati.
Giannicola Spezzigu Accordo: sovrapposizione di 3 o più suoni Ogni sigla denota un accordo, ossia i suoni da cui esso è formato Accordi e.
L’ELABORATORE ELETTRONICO uno strumento in grado di eseguire insiemi di azioni (“mosse”) elementari le azioni vengono eseguite su oggetti (dati) per produrre.
Che cosa è e a cosa serve un GIS?
Automi temporizzati.
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Informatica e Informatica di Base
“ Pseudocodice ” Un programma per computer lavorerà su in insieme di “ variabili ” contenenti i dati del problema, soluzioni intermedie, soluzioni finali.
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
Modulo 5 – Database ACCESS LICEO SCIENTIFICO “ B. RESCIGNO COMPUTER SCUOLA PIANO INTEGRATO 2008/09 ESPERTO prof.ssa Rita Montella.
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
I DONEITÀ DI C ONOSCENZE E C OMPETENZE I NFORMATICHE ( A – D ) Un database è un insieme di record (registrazioni) e di file (archivi) organizzati per uno.
6 Inchiesta Giulio Vidotto Raffaele Cioffi. Indice: 6.1 Come si prepara un questionario 6.2 Come somministrare un questionario 6.3 Campionamento.
Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Docente: A.A Salvatore Cuomo La ricorsione 15 Approccio ricorsivo, esercizi sulla.
Transcript della presentazione:

Music Information Retrieval Università degli studi di Padova Laurea specialistica in Informatica Music Information Retrieval Corso di Sistemi Informativi Michele De Filippo De Grazia Anno accademico 2006-2007

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

Outline Introduzione Multifaceted challenge Ulteriori problematiche Sistemi MIR Multifaceted challenge e sistemi MIR MIREX Esempio di un semplice sistema MIR: il progetto MusiFind

Outline Introduzione Multifaceted challenge Ulteriori problematiche Sistemi MIR Multifaceted challenge e sistemi MIR MIREX Esempio di un semplice sistema MIR: il progetto MusiFind

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

Outline Introduzione Multifaceted challenge Ulteriori problematiche Sistemi MIR Multifaceted challenge e sistemi MIR MIREX Esempio di un semplice sistema MIR: il progetto MusiFind

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)

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)

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

Outline Introduzione Multifaceted challenge Ulteriori problematiche Sistemi MIR Multifaceted challenge e sistemi MIR MIREX Esempio di un semplice sistema MIR: il progetto MusiFind

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

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

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)

Outline Introduzione Multifaceted challenge Ulteriori problematiche Sistemi MIR Multifaceted challenge e sistemi MIR MIREX Esempio di un semplice sistema MIR: il progetto MusiFind

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

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)

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

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

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

Outline Introduzione Multifaceted challenge Ulteriori problematiche Sistemi MIR Multifaceted challenge e sistemi MIR MIREX Esempio di un semplice sistema MIR: il progetto MusiFind

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

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

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

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

Outline Introduzione Multifaceted challenge Ulteriori problematiche Sistemi MIR Multifaceted challenge e sistemi MIR MIREX Esempio di un semplice sistema MIR: il progetto MusiFind

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à

Outline Introduzione Multifaceted challenge Ulteriori problematiche Sistemi MIR Multifaceted challenge e sistemi MIR MIREX Esempio di un semplice sistema MIR: il progetto MusiFind

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

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

Il progetto MusiFind Funzione di classificazione Stringa melodica 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 come C(i1), C(i2), C(i3),…,C(in-1) dove C è la funzione di classificazione

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

Il progetto MusiFind Algoritmo per la creazione delle features Sia data una melodia = sequenza di toni di lunghezza n+1 Calcolo la sequenza di intervalli lunga n relativa alla melodia Applico la funzione di classificazione C ad ogni intervallo producendo la sequenza di classi di intervalli relativa (lunga n) Estraggo tutte le sottosequenze di lunghezza k (k arbitrario)

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

Il progetto MusiFind Algoritmo per la creazione delle features (completo) Sia data una melodia = sequenza di toni di lunghezza n+1 Calcolo la sequenza di intervalli lunga n relativa alla melodia Applico la funzione di classificazione C ad ogni intervallo producendo la sequenza di classi di intervalli relativa (lunga n) Estraggo tutte le sottosequenze di lunghezza k (k arbitrario) Per ogni distinta sottosequenza lunga k applico la funzione H per generare i corrispondenti indici della hash table

Il progetto MusiFind Ora è possibile scrivere l’algoritmo per generare un indice sulla collezione musicale (hash table) Inizializzo la tabella in modo che a tutte le entry sia associata una lista vuota Per tutti i file f (melodie) della collezione 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

Il progetto MusiFind A partire da questo algoritmo possiamo trovare anche la risposta ad una stringa query q Creare tutte le sottosequenze di classi di intervalli lunghe k in q Per ogni sottosequenza S Generare l’indice i = H(S) della hash table Estrarre la lista di file associati all’ i-esima entry della hash table 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)

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

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

Il progetto MusiFind Risultati ottenuti utilizzando query ricavate dalla parte iniziale delle 100 melodie 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 97 0.26 C12L5Q4 9.95 42 0.10 C12L5Q6 2.6 16 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 0.54 0.50 C23L4Q8

Il progetto MusiFind Risultati ottenuti utilizzando query ricavate random all’interno delle 100 melodie 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 95 0.24 C12L5Q4 11.68 42 79 0.09 C12L5Q6 2.13 14 98 0.47 0.43 C12L5Q8 1.36 100 0.74 C14L5Q4 8.84 39 87 0.11 C14L5Q6 2.04 15 99 0.49 C14L5Q8 1.24 8 0.81 C23L4Q4 4.81 26 0.21 C23L4Q6 1.43 0.70 0.55 C23L4Q8 1.35

sia random all’interno delle 100 melodie (medie sui 4 indici) Il progetto MusiFind Risultati ottenuti utilizzando ricerca contigua su query ricavate sia all’inizio sia random all’interno delle 100 melodie (medie sui 4 indici) 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 0.77 0.64 RConQ8 1.04

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