A biblioteca libmpg123 inclui um código de exemplo extract_frames.c
fazendo o trabalho. Eu compilei e funciona bem.
Existe uma maneira de extrair quadros de áudio reais do MP3? (O que significa que as meta tags de dados serão cortadas.)
Uma linha de comando do imaginery:
cat 1.mp3 | mpeg-frames-only > dump
cat 1.mp3 | mpeg-frames-only | md5
P.S. Eu não acho que a conversão de mpeg para wav seja uma boa ideia para o meu caso.
P.P.S. É melhor se houver poucas soluções para poder testá-las umas contra as outras.
A biblioteca libmpg123 inclui um código de exemplo extract_frames.c
fazendo o trabalho. Eu compilei e funciona bem.
Uma solução é encontrada (alguns argumentos podem ser desnecessários). Procurando por um caminho alternativo ainda.
mplayer 1.mp3 -vo null -dumpaudio -dumpfile dump.mp3
Para encontrar duplicatas e organizar sua biblioteca em geral, o MusicBrainz (http://musicbrainz.org/) é um ótimo banco de dados e possui um grande conjunto de ferramentas construídas em torno dele. O Picard ( link ) é um aplicativo de GUI projetado para ajudar você a organizar sua biblioteca de músicas, o que provavelmente será útil em sua meta de detectar duplicatas.
Se você quiser tentar criar algo como script, poderá obter a impressão digital acústica de um arquivo instalando libchromaprint-tools
e executando fpcalc /path/to/file.mp3
. Embora eu não tenha encontrado uma fonte definitiva dizendo isso, acho que há uma chance (embora pequena) de duas músicas que são realmente diferentes tendo a mesma impressão digital acústica, então você deve verificar manualmente se dois arquivos são de fato duplicados antes de excluir um deles. eles.
Uma visão geral do que é a impressão digital acústica pode ser encontrada aqui: link
E uma explicação detalhada de como o chromaprint funciona especificamente pode ser encontrado aqui: link