Pregunta

Mi gran colección (120 GB) música contiene muchas canciones duplicadas, y he estado tratando de pistas de huellas digitales con la esperanza de detectar duplicados. Y como soy una mayor CS Estoy muy curioso en cuanto a lo que se hace por ahí? Nada de lo que hago tiene casi la exactitud de algo así como Shazam o Lala.com. ¿Cómo pistas de "troceo"? He corrido un hash MD5 de serie en todos mis archivos (26.000 archivos) y me encontré con cientos de hashes iguales en diferentes pistas, por lo que no funciona.

Estoy más interesado en Lala.com ya que trabajan con archivos completos, a diferencia de Shazam, pero estoy suponiendo que ambos utilizan una técnica similar. ¿Puede alguien explicar cómo generar identificadores únicos para la música?

¿Fue útil?

Solución

El artículo seminal sobre las huellas digitales de audio es el trabajo de Haitsma y Kalker en 2002-03. Para cada cuadro de audio, y preprocesa (diferencias entre los marcos de tiempo y bandas de frecuencia) y después se almacena una versión binarizada del espectro del marco.

Este procedimiento añade robustez. Si toda la señal se desplaza en el tiempo, que todavía funciona (al menos, se puede derivar una cota inferior de la degradación del rendimiento). Es bastante robusto al ruido ambiental. Desde su creación, se han realizado muchos trabajos sobre bajo nivel de similitud de música, así que no hay una respuesta única.

¿Tiene archivos absolutamente idénticos, es decir, las señales están alineadas tiempo, la profundidad de bits es la misma tasa, el muestreo es la misma? Entonces yo creo que un hash MD5 como debería funcionar. Pero si se ha modificado cualquiera de esos parámetros, también lo harán los hashes. En tal caso, un procedimiento como el mencionado anteriormente funcionaría mejor.

Tome un vistazo a los procedimientos ismir disponible gratuitamente en línea. Cosas divertidas. http://www.ismir.net/

Otros consejos

Hay una gran cantidad de algoritmos para la toma de huellas dactilares acústica. Algunos de los más populares son:

  1. AMG LASSO
  2. AudioID
  3. LibFooID

De hecho libfooId es de código abierto, por lo que puede comprobar fuera de su código de Google de código !!

Tome un vistazo a la página acústica de huellas dactilares en la Wikipedia. Tiene referencias de algunos documentos, así como enlaces a las implementaciones (incluyendo el código abierto fdmf ).

Después de algunas investigaciones más (aunque esto no es concluyente en absoluto!), Que pasó a través de la wiki en MusicBrainz.org que detalla algunos de los enfoques que utilizan:

http://musicbrainz.org/doc/Audio_Fingerprint

http://musicbrainz.org/doc/How_PUIDs_Work

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top