Me complace anunciar formalmente la liberación de audiosum 0.1.
Audiosum es una herramienta que permite calcular la firma MD5 para un archivo MP3, pero ignorando la metainformación (etiquetas ID3v1, ID3v2, Lyrics3v1 y Lyrics3v2). En este momento no existe soporte para OGG.
Audiosum surge de la idea de buscar duplicados de audio cuando los archivos difieren únicamente en sus etiquetas. Por ejemplo, en el siguiente ejemplo, existen cuatro archivos cuya firma MD5 es diferente, por lo que son diferentes. Sin embargo, su parte de audio es idéntica. Cuando audiosum muestra la firma MD5 del audio, uniq los detecta por lo que tranquilamente podemos borrar una de las copias de estos archivos.
alvarezp@alvarezp-laptop:~$ md5sum (algunos archivos)
d662def56360c1ba71975fe0858651df other/music/ALEX UBAGO - QUE PIDES TU.mp3
4e91970580b0355b3aa7e711416d50ba other/music/Alex Ubago.- Vuelve.mp3
07894b351ae9df4a3c8ca487169e1524 DCIM/iPod_Control/Music/F00/ASFP.mp3
82db5ed3ffe951aba19cdd2d38cbea01 other/music/no doubt - bath water.mp3
alvarezp@alvarezp-laptop:~$ find -iname "*.mp3" | audiosum | sort | uniq -D -w 41
003c6b41 36d2a24f44413f4a4ab3282e7cea1649 [I3v1] [I3v2] [----] [----] ./other/music/ALEX UBAGO - QUE PIDES TU.mp3
003c6b41 36d2a24f44413f4a4ab3282e7cea1649 [I3v1] [----] [----] [----] ./other/music/Alex Ubago.- Vuelve.mp3
0058f7a4 17df577141ae1db6384309e2e3cbe2c6 [I3v1] [I3v2] [----] [----] ./DCIM/iPod_Control/Music/F00/ASFP.mp3
0058f7a4 17df577141ae1db6384309e2e3cbe2c6 [I3v1] [----] [----] [----] ./other/music/no doubt - bath water.mp3
El primer valor que se imprime es el tamaño del audio procesado. El segundo valor es la firma MD5.
Obsérvese cómo a audiosum no se le proveen los archivos por la línea de comando sino por la entrada estándar. Se puede incluir tee audiosum.out
antes de sort para que las firmas se almacenen en un archivo de texto antes de ser ordenadas. El comando uniq -D -w 41
es el que se encarga de dejar únicamente los duplicados, considerando los primeros 41 caracteres.
Descarga en .tar.gz: audiosum-0.1.tar.gz
Para compilar:
#Instalar la librería mhash.
apt-get install libmhash-dev #para Ubuntu
#Descargar el archivo audiosum-0.1.tar.gz.
wget http://blog.alvarezp.org/files/audiosum-0.1.tar.gz
#Descomprimir el paquete.
tar xvzf audiosum-0.1.tar.gz
cd audiosum-0.1
#Configurar y crear
./configure && make
#Instalar
sudo make install
Ejemplos de uso de audiosum:
find -iname "*.mp3" | audiosum
find -iname "*.mp3" | audiosum > audiosum.out
find -iname "*.mp3" | audiosum | tee audiosum.out
find -iname "*.mp3" | audiosum | sort | uniq -D -w 41
Saludos.