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/