Suchen nach einer Linux- oder Windows-Befehlszeilen-WAV-Dateiprüfung

5255
paradroid

Ich versuche, ein Befehlszeilenprogramm (Windows oder Linux) zu finden, mit dem WAV-Dateien überprüft werden können, um festzustellen, ob sie vollständig sind, ohne Beschädigung oder plötzliche Endungen.

Ich habe zwar mehrere Programme gefunden, die dies mit .mp3-Dateien tun können, aber ich finde nichts, was mit .WAV-Dateien möglich ist, abgesehen von einigen kommerziellen Windows-Programmen, die nur eine GUI verwenden und daher nicht in Skripten verwendet werden können.

4
Hast du eine kaputte Datei, die getestet werden kann? Ignacio Vazquez-Abrams vor 13 Jahren 1
@Ignacio: Ich habe einige, aber es wird einige Zeit dauern, bis ich sie aus tausenden von Dateien herausfinde. Deshalb brauche ich das überhaupt. Ich melde mich, wenn ich einen finde. paradroid vor 13 Jahren 0
Sie könnten dd wahrscheinlich nur verwenden, um eine kurze zu schneiden, beispielsweise die ersten zehn Kilobyte einer Multi-Megabyte-Datei. Sind sie auch alle PCM oder verwenden sie auch andere Kodierungen? Ignacio Vazquez-Abrams vor 13 Jahren 0
Ich frage mich, ob es in `shntool` etwas gibt, das nützlich sein könnte? boehj vor 13 Jahren 1
Diese Frage gehört zu http://softwarerecs.stackexchange.com/ - oh, aber sie ist zu alt. DanFromGermany vor 7 Jahren 0

3 Antworten auf die Frage

7
Mike Simpson

Hier ist ein Artikel darüber, wie eine PCM-WAV-Datei aussehen sollte:

https://ccrma.stanford.edu/courses/422/projects/WaveFormat/

Sollte in der Lage sein, ein kleines Skript zu schreiben, um die Header zu überprüfen und sicherzustellen, dass sie in Ordnung sind.

Aktualisieren:

http://www.sendspace.com/file/cdy1hk

Hier ist ein kleines Hilfsprogramm, das möglicherweise Ihren Bedürfnissen entspricht. Es prüft die Datei, gibt einige Informationen über die Datei aus und wird beendet. Der Rückkehrcode ist 0, wenn er erfolgreich ist, ungleich Null, wenn ein Problem mit der Datei vorliegt.

Es ist in Python geschrieben und hängt von der Python-Wave-Bibliothek ab. Sie können die .py-Datei aus der ZIP-Datei extrahieren und unabhängig voneinander untersuchen / ausführen oder das kompilierte Exe zusammen mit den mitgelieferten Unterstützungsdateien verwenden.

Scheint in Ordnung zu sein für zB Dateien, die mit lame --decode ausgegeben werden, und fängt auf, wenn ich eine WAV abschneide (prüft, ob die Dateigröße normal ist).

Es ist nicht möglich festzustellen, ob die PCM-Daten ohne externe Prüfsummen usw. beschädigt wurden.

Aktualisieren:

Hinzugefügt eine etwas bessere Fehlerprüfung. Kompilierte Exe-Version freaks heraus, wenn sich wavcheck.py im selben Ordner befindet, also habe ich es in einem Unterordner (/ src) abgelegt. Lol. Link oben auf neue Datei aktualisiert.

Aktualisieren:

Ich habe mir shntool angesehen, wie von @boehj vorgeschlagen - es sieht aus wie eine gute Software zum Überprüfen von WAV-Dateien, und es hat eine schöne detaillierte Ausgabe. Seine Ausgabe könnte trivial analysiert oder der Quellcode so geändert werden, dass im Status 'info' und / oder 'len' ein OK-Beendigungsstatus möglich ist. Es hat den Exit-Code 0, auch wenn Probleme mit der Datei gemeldet werden.

Homepage für shntool: http://www.etree.org/shnutils/shntool/

Natürlich ist es nicht das, wonach er verlangt ... CarlF vor 13 Jahren 1
Er suchte nach etwas, um abgeschnittene (beschädigte, zB teilweise kopierte) Dateien zu erkennen. Kodieren WAV-Header tatsächlich die Dateigröße? Ich glaube nicht, bin aber bereit, korrigiert zu werden. CarlF vor 13 Jahren 0
OK, +1, denn wenn ich Ihrem Link tatsächlich folgte (in der Antwort selbst), zeigte er genau das, was Sie sagten, dass es sein sollte. Entschuldigen Sie. CarlF vor 13 Jahren 1
Thanks for the answers. When I have gone through your suggestions properly, I will reply saying what worked best. paradroid vor 13 Jahren 0
@paradroid Ich habe auch eine Funktionsanforderung an die Entwickler von shntool gesendet, um einen neuen 'Check'-Modus mit gesetztem Exit-Status hinzuzufügen. Keine Antwort, weiß nicht, wie fruchtbar das sein wird. Mike Simpson vor 13 Jahren 0
Nur der letzte Link funktioniert noch. DanFromGermany vor 7 Jahren 0
1
Nordanfors

Ripcheck ist ein Dienstprogramm, das dies tut.

Zitieren der Dokumente:

"ripcheck" führt verschiedene Tests einer WAV-Datei durch, um zu ermitteln, ob beim Konvertieren einer CD in eine WAV-Datei Fehler aufgetreten sind.

[...]

WARUM?

Dieses Programm wurde geschrieben, weil wir auf einigen Alben bei Magnatune zu Beginn Beschwerden über gelegentliche "Pops" erhalten hatten. Weitere Untersuchungen haben ergeben, dass die meisten Alben, die wir 2007 veröffentlicht haben, verschiedene Probleme beim Rippen von CDs hatten. Wir haben auch verschiedene CDRs gefunden, die von unseren Musikern gebrannt wurden, die kleine Defekte aufwiesen, wahrscheinlich weil billige CDR-Medien verwendet wurden oder die CDR zu schnell verbrannt wurden.

[...]

Könnten Sie es unterlassen, einfach einen Link anzugeben? Bitte geben Sie Ihrem Link etwas an, wie z. B. wie er auf das OP antworten wird, ob Sie es bereits verwendet haben, welche Schlüsselfunktionen usw. Matthew Williams vor 10 Jahren 0
Ich habe mir die Freiheit genommen, ein Zitat aus den Dokumenten hinzuzufügen. Es sieht so aus, als könnte dieses Tool die Frage beantworten. sleske vor 10 Jahren 1
1
johan

Ich weiß, dass dies ein alter Thread ist, aber nur für den Fall, dass es von Nutzen ist:

Das JHOVE- Tool (das in der Domäne Archivierung / digitale Bibliotheken häufig verwendet wird) umfasst ein WAV-Modul, das WAV-Dateien validieren kann. Hier verfügbar:

http://jhove.openpreservation.org/

Ich weiß nicht, wie die Validierung von JHOVE mit den von shntool durchgeführten Prüfungen verglichen wird .

UPDATE : Nachdem ich meine Antwort gepostet hatte, habe ich einige WAVs selbst abgeschlachtet und sie dann durch eine Reihe von Tools durchlaufen. Vollständige Beschreibung mit Links zu Testdaten und Skripts hier:

http://openpreservation.org/blog/2017/01/04/breaking-waves-and-some-flacs/

Hauptergebnis: Besser mit dem guten alten Shntool bleiben! JHOVE entpuppt sich als nutzlos für so etwas (was auch für mich eine Überraschung war). (Das Blog geht übrigens auch auf die Erkennung gebrochener FLAC-Dateien ein, obwohl das hier nicht die Frage war.)