Gibt es ein Tool, das Störungen in MP3-Dateien erkennen (und wenn möglich beheben) kann? [geschlossen]

31

Meine Sammlung enthält einige MP3s, die einige Probleme haben wie:

  • Anzeige der falschen Ladezeit
  • kleine Sprünge
  • plötzlich endend, obwohl die Dauer noch eine Minute beansprucht
  • Lärm

Ich bin auf der Suche nach einem Tool, das so viele dieser Störungen wie möglich erkennt und diese behebt (offensichtlich kann z. B. Rauschen in den meisten Fällen nicht einfach beseitigt werden).

Tobias Kienzler
quelle
Das klingt nach Spielerproblemen. Sind Sie sicher, dass diese von Ihren MP3-Dateien verursacht werden?
digitxp
@digitxp Das plötzliche Ende ist wahrscheinlich auf fehlende Teile der Datei zurückzuführen, aber die falsch angezeigte Zeit kann von VLC verursacht werden. Dies bedeutet jedoch, dass mit der Datei etwas nicht stimmt, da andere Dateien die korrekte Uhrzeit anzeigen. Geräusche und Sprünge sind möglicherweise auf ein schlechtes Lesen der CD zurückzuführen. Ich habe meine Sammlung ohne Überprüfung digitalisiert: - /
Tobias Kienzler
hm, die falsche dauer könnte von VBR vs CBR herrühren ... also die verbleibenden probleme sind unvollständigkeit und fehler beim lesen der cd
Tobias Kienzler

Antworten:

35

Mit dem Befehlszeilentool mp3val können Sie schnell nach Strukturfehlern in MP3-Dateien suchen und diese gegebenenfalls reparieren. Ich versuche, so ziemlich jede Datei in meiner Sammlung nach dem Prinzip "kann nicht schaden" zu durchsuchen. Es identifiziert eine erstaunliche Anzahl von scheinbar guten Dateien mit Fehlern von unwichtig bis schwerwiegend.

mp3val ist besonders gut darin, Header-Mängel zu erkennen und zu korrigieren, z. B. das Fehlen von VBR-Headern in einer VBR-Datei (die Ursache für die meisten Probleme mit falscher Dauer und bei der Suche nach Problemen). Es werden jedoch auch fehlerhafte / beschädigte Audio-Frame-Daten gelöscht, unbrauchbare Daten, mit denen manche Player möglicherweise weniger als elegant umgehen, wenn sie in der Datei verbleiben.

Es kann sogar angewiesen werden, ein ganzes Verzeichnis von MP3s zu durchlaufen, nur die Dateien zu reparieren, mit denen es Probleme gibt, Backups zu erstellen (oder optional nicht), Zeitstempel beizubehalten (optional) und die Sitzung in einer Textdatei zu protokollieren (optional).

Und es ist kostenlos und Open Source! (Der Link ist zu seinem SourceForge-Projekt.)

EDIT: Eine letzte Sache, die ich vergessen habe zu erwähnen. "Aber mp3val wurde seit 2009 nicht mehr aktualisiert !!", ich höre dich weinen. Das ist sehr wahr ! Es funktioniert seit 2009 einwandfrei und benötigt kein Update. (Immerhin ist es nicht so, dass sich das MP3-Dateiformat in den letzten 2 Jahren geändert hat!)

FeRD
quelle
auch 1 ein zweites Mal für Sie bearbeiten :-) obwohl es scheinen einige gültige Fehler noch zu öffnen ...
Tobias Kienzler
1
Ja, es scheint, dass mp3val unter Windows 7 einige echte Probleme mit esoterischen Dateinamen hat. Das ist bedauerlich. (Erste Regel des modernen Computings: Jede ausreichend große MP3-Sammlung enthält eine Datei mit einer bestimmten Form von esoterischem Dateinamen.) Sie könnte etwas von einem Windows-Programmierer benötigen, wenn irgendjemand dazu bereit ist! [OffTopic: Es war surreal, in den mp3val svn zu schauen und herauszufinden, dass der neueste Patch von ME stammt - zumal ich es total vergessen hatte! ;-)]
FeRD
1
Leider konnte mp3val einige meiner Dateien nicht reparieren :(. Aber MP3Diagses gelang mir , sie zu reparieren (Xing-Header bei VBR-Dateien, die zu einer falschen
Anzeigedauer führten
@ Marecky Das ist sehr seltsam. Ich habe gerade mp3valFedora 28 ausprobiert und es läuft immer noch gut. Die esoterischste Bibliotheksabhängigkeit ist entweder libm.so.6oder libstdc++.so.6, es ist also nicht wahrscheinlich, dass ein nicht kompatibler ABI-Bruch vorliegt. Nur zur Kontrolle: Im Standardmodus mp3val werden keine Dateien berührt, Änderungen werden nur vorgenommen, wenn sie mit dem -fFlag ausgeführt werden - und selbst dann nur Dateien, bei denen der Scan-Modus eine WARNING:oder ERROR:eine Änderung protokolliert . Wenn keine behebbaren Probleme festgestellt werden, bleiben Ihre Dateien unberührt.
Ferd
1
@FeRD - Sie haben Recht, ich weiß nicht mehr, welches Programm es war (Audacious, Gnome MPV oder Rhythmbox Music Player), aber nachdem ich eine CD mit der letzten kopiert habe, habe ich neue Dateien in die Wiedergabeliste eines dieser Programme aufgenommen und sie falsch gesehen track times - aus diesem grund dachte ich, dass mp3s falsche indizes haben (oder was auch immer darin enthalten ist) und auf ihnen laufen mp3val- aber die dateien waren korrekt - deshalb wurde mp3valnie eine warnung angezeigt und die dateien wurden nicht korrigiert. Ich weiß nicht, warum der Player falsche Titelzeiten angezeigt hat. Ich werde meinen vorherigen Kommentar löschen.
Marecky
10

Ich nahm an, Sie haben bereits die erste Option auf Google ausprobiert ...? Auch ein Perl-Skript, mp3checker , könnte hilfreich sein.

Bearbeiten:

Was das Reparieren Ihrer Tracks angeht, könnten Sie MP3 Diags (Links zu einem Lifehacker-Artikel) einen Blick darauf werfen.

John
quelle
danke, checkmate ist ein nettes tool, um problemdateien zu identifizieren (aber es bleibt noch die aufgabe, die sachen zu reparieren, wenn möglich)
Tobias Kienzler
1
Daumen hoch für MP3 Diags. Ich hatte Probleme mit meinem MP3-Player, der die Dauer nicht korrekt anzeigt. MP3 Diags hat das Problem gefunden und behoben.
David L
4

mpck läuft unter Windows und GNU / Linux.

Homepage: http://checkmate.gissen.nl/

Es erkennt fehlerhafte Frames und generiert optionale Berichte.
Es gibt auch ein GUI-Frontend für 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

Aktualisieren:

Dieses Programm scheint in der Lage zu sein, Utf-8-Dateinamen zu verarbeiten, obwohl ich keine japanischen, chinesischen oder exotischeren Glyphen ausprobiert habe.

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 mit UTF-8-Gebietsschema (japanisches Gebietsschema in Windows)
Die native Windows-Binärdatei kennt Cygwin nicht, daher musste ich die Ausgabe konvertieren.

$ 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            
Ярослав Рахматуллин
quelle
Danke, obwohl das in dieser Antwort
Tobias Kienzler
mpck! = mp3check. Liege ich falsch?
Ярослав Рахматуллин
Nein, es ist der Link mit der Aufschrift "Die erste Option bei Google". Aber trotzdem +1, da Sie ein wenig über seine Funktionen ausarbeiten
Tobias Kienzler
Oh, richtig. Ich habe das ignoriert. Ich werde mp3val auschecken, aber bisher konnte mpck alles, was ich brauche, von einem mp3-Checker abrufen.
Ярослав Рахматуллин
2
Unter Linux halte ich es nicht für erforderlich, Problemumgehungen für mp3val anzuwenden - AFAICT, der Fehler, auf den verwiesen wird, ist nur ein Windows-Problem. (Welche Funktionen auch immer zum Parsen der Befehlszeile oder zum Behandeln von Dateinamen verwendet werden, dürfen nicht Unicode-sicher sein.) Unter Linux habe ich gerade per Hand beschädigte MP3-Dateien (durch Nullen von zufälligen Blöcken mit ghex) wie folgt umbenannt: Tësting 1.mp3 Testíng ®eally hµrd.mp3 ☭They don't get much weirder☭.mp3... mp3val hatte keine Probleme bei der korrekten Verarbeitung aller.
Ferd
0

Einfacher ist es, ffmpeg zu verwenden, um die Datei von der mit der fehlerhaften Dauer in ihrem ID3-Tag zu kopieren. Dies führt dazu, dass die richtigen Informationen geschrieben werden.

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

Da für das Kopieren nur ein Bruchteil der Zeit benötigt wird, die für die ursprüngliche Codierung erforderlich ist. Bei einem Lied ist das kaum zu bemerken, aber bei einem 7-Stunden-Hörbuch weiß man es wirklich zu schätzen. Nach der Neucodierung haben die ID3-Tags nun die richtigen Informationen.

Miriam English
quelle