Esiste uno strumento in grado di rilevare (e se possibile, correggere) i difetti nei file MP3? [chiuso]


31

La mia raccolta contiene alcuni MP3 che presentano alcuni problemi come:

  • visualizzazione della durata errata al caricamento
  • piccoli salti
  • improvvisamente termina nonostante la durata rivendica un altro minuto rimanente
  • rumore

Sto cercando uno strumento in grado di rilevare quanti più glitch possibile e correggere quelli che possono essere corretti (ovviamente, ad esempio, il rumore non può essere semplicemente eliminato nella maggior parte dei casi).


Sembrano problemi del giocatore. Sei sicuro che siano causati dai tuoi file MP3?
digitxp

@digitxp la conclusione improvvisa è probabilmente dovuta a parti mancanti del file, ma il tempo visualizzato in modo errato potrebbe essere causato da VLC. Ma ciò significa che c'è qualcosa che non va nel file poiché altri file mostrano l'ora corretta. Rumore e salti potrebbero essere dovuti a una cattiva lettura del CD, ho digitalizzato la mia collezione senza fare doppi controlli: - /
Tobias Kienzler

hm, la durata errata potrebbe derivare da VBR vs CBR ... quindi i problemi rimanenti sono incompletezza ed errori di lettura del CD
Tobias Kienzler

Risposte:


35

Lo strumento da riga di comando mp3val consente di eseguire rapidamente la scansione e, facoltativamente, la riparazione di difetti strutturali nei file mp3. Cerco di eseguirlo praticamente su tutti i file della mia collezione, secondo il principio "non posso far male". Identifica un numero incredibile di file apparentemente buoni con difetti che vanno da insignificanti a gravi.

mp3val è particolarmente bravo a riconoscere e correggere le carenze delle intestazioni, come la mancanza di intestazioni VBR in un file VBR (la fonte della maggior parte della durata errata e la ricerca di problemi). Ma eliminerà anche i dati del frame audio immondizia / corrotto, instabilità inutilizzabile che alcuni giocatori potrebbero gestire in modo meno elegante se lasciato nel file.

Si può anche dire di correre su un'intera directory di mp3, riparando solo quei file con cui trova problemi, mantenendo i backup (o facoltativamente no), preservando i timestamp (opzionalmente) e registrando la sessione su un file di testo (opzionale).

Ed è gratuito e open source! (Il collegamento è al suo progetto sourceforge.)

EDIT: Un'ultima cosa che ho dimenticato di menzionare. "Ma mp3val non è stato aggiornato dal 2009 !!", ti sento piangere. È molto vero ! Funziona bene dal 2009 e non ha bisogno di un aggiornamento. (Dopotutto, non è come se il formato del file MP3 sia cambiato negli ultimi 2 anni!)


anche +1 una seconda volta per te modifica :-) anche se sembrano esserci ancora alcuni bug validi ancora aperti ...
Tobias Kienzler,

1
Sì, sembra che mp3val abbia alcuni problemi reali in Windows 7 con alcuni nomi di file esoterici. È un peccato. (Prima regola dell'informatica moderna: qualsiasi raccolta MP3 sufficientemente grande conterrà un file con una data forma di nome esoterico.) Potrebbe usare un po 'di luv da un programmatore di Windows, se qualcuno lo sa! [OffTopic: È stato surreale guardare in mp3val svn e scoprire che la patch più recente era venuta da ME, specialmente da quando mi ero completamente dimenticato di farlo! ;-)]
FERD

1
Sfortunatamente mp3val non è riuscito a correggere alcuni dei miei file :(. Ma è MP3Diagsstato in grado di risolverli (intestazione Xing su file VBR che porta alla visualizzazione di una durata errata).
scai,

@Marecky È molto strano. Ho appena provato mp3valFedora 28 e funziona ancora bene. La dipendenza dalla libreria più esoterica che ha è o libm.so.6o libstdc++.so.6, quindi non è probabile che si verifichi una rottura ABI incompatibile. Solo per verificare, però: nella sua modalità predefinita mp3val non toccherà alcun file, effettuerà modifiche solo se viene eseguito con il -fflag - e anche in questo caso, solo i file in cui la modalità di scansione ha registrato WARNING:o ERROR:verrebbero modificati. Se non rileva alcun problema risolvibile, i file rimarranno intatti.
FeRD

1
@FeRD - Hai ragione, non ricordo ora quale programma fosse (Audacious, Gnome MPV o Rhythmbox Music Player) ma dopo aver strappato un cd con l'ultimo ho messo nuovi file nella playlist di uno di questi programmi e ho visto male tenere traccia dei tempi - ecco perché ho pensato che gli mp3 avessero indici errati (o qualunque cosa li avesse dentro) e funzionassero su di essi mp3val- ma i file erano corretti - ecco perché mp3valnon hanno mai mostrato alcun avviso e non ho corretto i file. Non so perché il giocatore abbia mostrato tempi di traccia sbagliati, eliminerò il mio commento precedente.
Marecky,

10

Pensavo avessi già provato la prima opzione su google ...? Anche uno script perl, mp3checker , potrebbe essere utile.

Modificare:

Per quanto riguarda la riparazione dei brani, potresti dare un'occhiata a MP3 Diags (link a un articolo di lifehacker).


grazie, scacco matto è uno strumento utile per identificare i file problematici (che comunque lascia comunque il compito di sistemare le cose)
Tobias Kienzler

1
Complimenti per MP3 Diags. Ho avuto problemi con il mio lettore mp3 che non riportava correttamente la durata. MP3 Diags ha rilevato e risolto il problema.
David L

4

mpck funziona su Windows e GNU / Linux.

Home page: http://checkmate.gissen.nl/

Rileva frame errati e genera report opzionali.
C'è un frontend GUI anche per 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

Aggiornare:

Questo programma sembra essere pienamente in grado di gestire i nomi dei file utf-8, anche se non ho provato glifi giapponesi, cinesi o più esotici.

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 con locale UTF-8 (locale giapponese in Windows)
Il binario nativo di Windows non è a conoscenza di Cygwin, quindi ho dovuto convertire l'output.

$ 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            

Grazie, sebbene sia già stato menzionato in questa risposta
Tobias Kienzler il

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

No, è il link etichettato "la prima opzione su google". Ma +1 comunque dato che hai approfondito un po 'le sue funzioni
Tobias Kienzler il

Oh giusto. L'ho ignorato. Controllerò mp3val, ma finora mpck è stato in grado di fare tutto ciò di cui ho bisogno da un mp3-checker.
Ярослав Рахматуллин

2
Su Linux, non mi sembra necessario applicare soluzioni alternative per mp3val - AFAICT il bug di riferimento è un problema solo di Windows. (Qualunque funzione utilizzi per analizzare la riga di comando o gestire i nomi dei file non deve essere Unicode-sicura.) Sotto Linux, ho appena danneggiato a mano (azzerando i blocchi casuali con ghex) i file mp3 rinominati come segue: Tësting 1.mp3 Testíng ®eally hµrd.mp3 ☭They don't get much weirder☭.mp3... mp3val no problemi nel processarli correttamente.
FeRD

0

Più semplice è usare ffmpeg per copiare il file da quello con la durata errata nel suo tag ID3. Questo fa sì che scriva le informazioni corrette.

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

Poiché utilizza copia, impiega una frazione del tempo impiegato dalla codifica originale. Questo non è evidente con una canzone, ma lo apprezzi davvero con un audiolibro di 7 ore. Dopo la ricodifica, i tag ID3 ora hanno le informazioni corrette.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.