Existe uma ferramenta que pode detectar (e, se possível, corrigir) falhas nos arquivos MP3? [fechadas]


31

Minha coleção contém alguns MP3s com algumas falhas, como:

  • exibindo a duração errada no carregamento
  • saltos menores
  • de repente, apesar da duração reivindicar outro minuto restante
  • barulho

Estou procurando uma ferramenta que possa detectar o maior número possível dessas falhas e corrigir aquelas que podem ser corrigidas (obviamente, por exemplo, o ruído não pode ser simplesmente eliminado na maioria dos casos).


Isso soa como problemas do jogador. Tem certeza de que são causados ​​pelos seus arquivos MP3?
digitxp

@digitxp o final repentino provavelmente ocorre devido à falta de partes do arquivo, mas o tempo exibido incorretamente pode ser causado pelo VLC. Ainda assim, isso significa que há algo errado com o arquivo, pois outros arquivos mostram a hora correta. Ruídos e saltos podem ser devidos a uma leitura incorreta do CD, digitalizei minha coleção sem verificar duas vezes: - /
Tobias Kienzler

hm, a duração errada pode resultar de VBR vs CBR ... então os problemas restantes são erros de leitura da incompletude e CD
Tobias KIENZLER

Respostas:


35

A ferramenta de linha de comando mp3val faz um trabalho rápido na verificação e, opcionalmente, na reparação de defeitos estruturais nos arquivos mp3. Eu tento executá-lo em praticamente todos os arquivos da minha coleção, com o princípio "não posso machucar". Ele identifica um número incrível de arquivos ostensivamente bons, com defeitos que variam de inconseqüentes a graves.

O mp3val é especialmente bom em reconhecer e corrigir deficiências de cabeçalho, como a falta de cabeçalhos VBR em um arquivo VBR (a fonte da maioria dos problemas de duração e busca incorretas). Mas também limpará os dados do quadro de áudio com lixo / corrompidos, fragmento inutilizável que alguns players podem manipular com menos elegância se permanecer no arquivo.

Pode até ser dito para executar sobre um diretório inteiro de mp3, reparando apenas os arquivos com problemas, mantendo backups (ou opcionalmente não), preservando carimbos de data / hora (opcional) e registrando a sessão em um arquivo de texto (opcional).

E é gratuito e de código aberto! (O link é para o projeto sourceforge.)

Edição: Uma última coisa que eu esqueci de mencionar. "Mas mp3val não é atualizado desde 2009 !!", eu ouço você chorar. Isso é verdade ! Está funcionando bem desde 2009 e não precisa de atualização. (Afinal, não é como se o formato do arquivo MP3 tivesse mudado nos últimos 2 anos!)


também uma segunda vez para você editar :-) embora parece haver alguns bugs válidos ainda aberta ...
Tobias KIENZLER

1
Sim, parece que o mp3val tem alguns problemas reais no Windows 7 com alguns nomes de arquivo esotéricos. Isso é lamentável. (Primeira regra da computação moderna: qualquer coleção de MP3 suficientemente grande conterá um arquivo com qualquer forma de nome de arquivo esotérico.) Ele poderia usar alguns recursos de um programador do Windows, se alguém quiser! [OffTopic: Foi surreal olhar para o mp3val svn e descobrir que o patch mais recente veio de mim - especialmente desde que eu tinha esquecido totalmente! ;-)]
FeRD

1
Infelizmente o mp3val falhou ao corrigir alguns dos meus arquivos :(. Mas MP3Diagsfoi capaz de corrigi-los (cabeçalho Xing em arquivos VBR que levam a uma duração incorreta sendo exibida).
scai

@ Marecky Isso é muito estranho. Eu apenas tentei mp3valno Fedora 28, e ele ainda está funcionando bem. A dependência mais esotérica da biblioteca que possui é um libm.so.6ou outro libstdc++.so.6, portanto não é provável que uma quebra incompatível da ABI seja provável. Apenas para verificar: no modo padrão, mp3val ele não toca em nenhum arquivo, ele só fará modificações se for executado com o -fsinalizador - e mesmo assim, apenas os arquivos nos quais o modo de verificação registrou WARNING:ou ERROR:seria modificado. Se não detectar nenhum problema corrigível, seus arquivos permanecerão intocados.
FeRD

1
@FeRD - Você está certo, não me lembro agora de qual programa (Audacious, Gnome MPV ou Rhythmbox Music Player), mas depois de copiar um CD com o último, coloquei novos arquivos na playlist de um desses programas e vi errado. tempos de faixa - foi por isso que pensei que os mp3 tinham índices errados (ou o que quer que houvesse dentro) e os executava mp3val- mas os arquivos estavam corretos - por isso mp3valnunca exibi nenhum aviso e não corrigi os arquivos. Não sei por que o jogador mostrou tempos de faixa incorretos; vou excluir meu comentário anterior.
Marecky

10

Presumi que você já tentou a primeira opção no google ...? Também um script perl, mp3checker , que pode ser útil.

Editar:

Quanto ao reparo de suas faixas, dê uma olhada no MP3 Diags (links para um artigo do lifehacker).


graças, xeque-mate é uma boa ferramenta para identificar arquivos de problema (isso ainda deixa a tarefa de consertar as coisas, se possível, embora)
Tobias KIENZLER

1
Polegares para cima para MP3 Diags. Eu tive problemas com o meu mp3 player não relatando a duração corretamente. O MP3 Diags encontrou e resolveu o problema.
David L

4

O mpck funciona no Windows e GNU / Linux.

Página inicial: http://checkmate.gissen.nl/

Ele detecta quadros incorretos e gera relatórios opcionais.
Também existe uma interface gráfica para o Windows.

mpck 0.19 - checks a MP3 file for errors

Usage: mpck [OPTION]... [FILE]...

Verbosity:
   -v, --verbose        print some extra info
   -q, --quiet          print only Ok or Bad per file
   -B, --badonly        only report bad files
Other options:
   -R, --recursive      check directories recursively
   -e, --extention=EXT  only check files ending on .EXT
   -r                   short for -R -e mp3
   -m, --maxname=NUM    report bad for filenames which exceed NUM characters
   -n, --namecheck      check for strange characters in the filename
   -x, --xmloutput      output results in XML
   -h, --help           print this help, then exit
   -V, --version        print version information

Atualizar:

Este programa parece ser totalmente capaz de lidar com nomes de arquivos utf-8, embora eu não tenha experimentado glifos japoneses, chineses ou mais exóticos.

Gentoo (UTF-8)

$ mpck -r 2000\ -\ Завтрак\ на\ траве\ \(USA\)/  | grep SUM
SUMMARY: 2000 - Завтрак на траве (USA)//04-ja-sbrasyvaju-kozhu.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//07-tak-vot-kakaja-ty-demo.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//09-evrej-i-goj.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//06-teplyj-dozhd'-demo.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//01-vse-napominaet-o-tebe.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//02-marsh-novoselov--sf-unplugged.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//05-rubaha.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//03-kalifornia-love.mp3

Cygwin com localidade UTF-8 (localidade japonesa no Windows)
O binário nativo do Windows não está ciente do cygwin, então tive que converter a saída.

$ mpck.exe -r "2000 - Завтрак на траве (USA)" | grep 'SUM' | 
       iconv -f CP932 -t UTF-8
SUMMARY: 2000 - Завтрак на траве (USA)\04-ja-sbrasyvaju-kozhu.mp3          
SUMMARY: 2000 - Завтрак на траве (USA)\07-tak-vot-kakaja-ty-demo.mp3       
SUMMARY: 2000 - Завтрак на траве (USA)\09-evrej-i-goj.mp3                  
SUMMARY: 2000 - Завтрак на траве (USA)\06-teplyj-dozhd'-demo.mp3          
SUMMARY: 2000 - Завтрак на траве (USA)\01-vse-napominaet-o-tebe.mp3        
SUMMARY: 2000 - Завтрак на траве (USA)\02-marsh-novoselov--sf-unplugged.mp3
SUMMARY: 2000 - Завтрак на траве (USA)\05-rubaha.mp3                     
SUMMARY: 2000 - Завтрак на траве (USA)\03-kalifornia-love.mp3            

Graças, porém que já foram mencionados em esta resposta
Tobias KIENZLER

mpck! = mp3check. Estou errado?
Ярослав Рахматуллин

Não, é o link "a primeira opção no google". Mas +1 no entanto desde que você elaborar um pouco sobre a sua funções
Tobias KIENZLER

Oh, certo. Eu ignorei isso. Vou verificar o mp3val, mas até agora o mpck conseguiu tudo o que eu precisava em um verificador de mp3.
Ярослав Рахматуллин

2
No Linux, não me parece necessário aplicar nenhuma solução alternativa para o mp3val - AFAICT, o bug referenciado é um problema apenas do Windows. (Quaisquer que sejam as funções usadas para analisar a linha de comando ou manipular nomes de arquivos não devem ser seguras para Unicode.) No Linux, apenas danifiquei manualmente (zerando blocos aleatórios com ghex) os arquivos mp3 renomeados da seguinte forma: Tësting 1.mp3 Testíng ®eally hµrd.mp3 ☭They don't get much weirder☭.mp3... mp3val não tinha problemas ao processar corretamente todos eles.
FeRD

0

Mais simples é usar o ffmpeg para copiar o arquivo daquele com a duração incorreta em sua tag ID3. Isso faz com que escreva as informações corretas.

ffmpeg -i "audio.mp3" -acodec copy "audio_fixed.mp3"

Como usa cópia, leva uma fração do tempo que a codificação original leva. Isso é quase imperceptível em uma música, mas você realmente gosta disso com um audiolivro de 7 horas. Após recodificar, as tags ID3 agora têm as informações corretas.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.