Supongamos que tengo algunos directorios de alrededor de 4000 archivos de audio, aproximadamente la mitad de los cuales son FLAC y la otra mitad son MP3. Supongamos que quiero detectar, no mediante metadatos de etiquetas, sino solo mediante datos de audio, si tengo archivos de audio duplicados o casi duplicados. Por ejemplo, supongamos que tengo una versión FLAC (sin pérdidas) y MP3 (con pérdidas) de la misma canción. Sin hacer suposiciones sobre el nombre del archivo, los metadatos de la etiqueta o incluso la frecuencia de muestreo, me gustaría alguna forma de detectar si son esencialmente la misma melodía.
Hay muchas cosas en las que he pensado, pero todas tienen algunos tipos de problemas:
- No se pueden comparar hashes o tamaños de archivos porque el formato de audio subyacente o las etiquetas pueden ser diferentes
- No se pueden comparar las duraciones de los archivos de audio, ya que es posible que los casi duplicados no duren exactamente la misma cantidad de tiempo (pueden estar separados entre sí por muy pequeñas fracciones de segundo) y también porque podría haber otros archivos de audio de la misma longitud
- No se pueden comparar los datos de audio sin procesar muestra por muestra, ya que eso no sería capaz de detectar una versión con pérdida y sin pérdida de la misma pista.
Realmente no estoy seguro de cómo hacer esto o si existe algún programa que pueda hacerlo. Básicamente, estoy buscando algo como AntiDupl.NET, pero archivos de audio en lugar de imágenes. Quizás esto pueda hacerse en Python con algún tipo de análisis estadístico, utilizando el error como umbral, pero no estoy seguro de cómo podría implementarse. ¿Alguna sugerencia de programa u otras ideas?