Come funziona la musica impronte digitali (per siti come Shazam e Lala.com)?
-
20-09-2019 - |
Domanda
La mia vasta collezione (120 GB) musica contiene molti brani duplicati, e ho cercato di tracce di impronte digitali nella speranza di rilevamento dei duplicati. E dato che sono un CS Maggiore Sono molto curioso di sapere cosa si fa là fuori? Nulla che faccio ha quasi la precisione di qualcosa come Shazam o Lala.com. Come fanno a tracce "hash"? Ho eseguito un hash MD5 di serie su tutti i miei file (26.000 file) e ho trovato centinaia di hash uguali su tracce diverse, in modo che non funziona.
Sono più interessato a Lala.com dal momento che lavorano con file completo, a differenza di Shazam, ma sto assumendo sia utilizzare una tecnica simile. Qualcuno può spiegare come generare identificatori unici per la musica?
Soluzione
Il documento fondamentale sul fingerprinting audio è l'opera di Haitsma e Kalker nel 2002-03. Per ogni fotogramma di audio, pre-elaborazione (differenze tra gli intervalli temporali e bande di frequenza) e poi memorizza una versione binarizzata dello spettro del telaio.
Questa procedura aggiunge robustezza. Se l'intero segnale viene spostato nel tempo, funziona ancora (almeno, si può ricavare un limite inferiore sul degrado delle prestazioni). E 'abbastanza robusto al rumore ambientale. Fin dalla sua nascita, ci sono stati molti articoli su di basso livello musicale somiglianza, quindi non c'è una risposta univoca.
Avete file assolutamente identici, vale a dire, i segnali sono ora allineati, la profondità di bit è lo stesso, la frequenza di campionamento è lo stesso? Poi penserei un hash MD5 come dovrebbe funzionare. Ma se uno qualsiasi di questi parametri sono cambiati, così sarà gli hash. In tal caso, una procedura simile a quella già detto in precedenza avrebbe funzionato meglio.
Date un'occhiata al procedimento Ismir disponibili gratuitamente on-line. Cose divertenti. http://www.ismir.net/
Altri suggerimenti
Date un'occhiata a lui Acoustic Fingerprint su Wikipedia. Ha riferimenti per alcuni giornali così come i collegamenti alle implementazioni (compresa l'open source fdmf ).
Dopo qualche ricerca più (anche se questo non è determinante a tutti!), Mi è capitato attraverso il wiki in MusicBrainz.org che elenca in dettaglio alcuni degli approcci che usano: