Ищите командную строку .WAV для Linux или Windows.

5197
paradroid

Я пытаюсь найти программу командной строки (Windows или Linux), которая может проверять файлы .WAV, чтобы увидеть, если они завершены, без повреждений или внезапных окончаний.

Хотя я нашел несколько программ, которые могут делать это с файлами .mp3, я не могу найти ничего, что может сделать это с файлами .WAV, кроме пары коммерческих программ Windows, которые используют только графический интерфейс и поэтому не могут использоваться в сценариях.

4
Есть сломанный файл, который можно проверить? Ignacio Vazquez-Abrams 13 лет назад 1
@Ignacio: У меня есть некоторые, но мне понадобится некоторое время, чтобы найти их среди тысяч файлов, поэтому мне это нужно в первую очередь. Я вернусь к вам, если найду один. paradroid 13 лет назад 0
Возможно, вы могли бы просто использовать dd, чтобы вырезать один короткий, скажем, первые несколько десятков килобайт из файла размером в несколько мегабайт. Кроме того, они все PCM, или они также используют другие кодировки? Ignacio Vazquez-Abrams 13 лет назад 0
Интересно, есть ли в `shntool` что-нибудь полезное? boehj 13 лет назад 1
Этот вопрос принадлежит http://softwarerecs.stackexchange.com/ - о, но он слишком старый. DanFromGermany 7 лет назад 0

3 ответа на вопрос

7
Mike Simpson

Вот статья о том, как должен выглядеть wav-файл PCM:

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

Должен быть в состоянии написать небольшой сценарий, чтобы проверить заголовки и убедиться, что они выглядят нормально.

Обновить:

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

Вот небольшая утилита, которая может удовлетворить ваши потребности. Он проверяет файл, выводит некоторую информацию о файле и завершает работу. Код возврата равен 0 в случае успеха, ненулевой, если есть проблема с файлом.

Он написан на Python и зависит от библиотеки волн Python. Вы можете извлечь .py файл из zip и проверить / запустить самостоятельно, либо использовать скомпилированный exe вместе с включенными файлами поддержки.

Кажется, работает нормально, например, для файлов, выводимых с помощью lame --decode, и ловит, когда я обрезаю WAV (проверяет, чтобы убедиться, что размер файла нормальный).

Невозможно определить, были ли повреждены данные PCM без, например, внешних контрольных сумм и т. Д.

Обновить:

Добавлена ​​немного лучшая проверка ошибок. Скомпилированная exe-версия выходит из себя, когда wavcheck.py находится в той же папке, поэтому я поместил ее в подпапку (/ src). Лол. Обновленная ссылка выше на новый файл.

Обновить:

Я взглянул на shntool в соответствии с предложением @boehj - похоже на хорошее программное обеспечение для проверки файлов WAV, и у него хороший подробный вывод. Его выходные данные могут быть тривиально проанализированы, или его исходный код может быть изменен, чтобы обеспечить состояние выхода «все в порядке» в режиме «информация» и / или «len». Как он есть, он имеет код выхода 0, даже если он сообщает о проблемах с файлом.

Домашняя страница для shntool: http://www.etree.org/shnutils/shntool/

Конечно, это не то, что он просит .... CarlF 13 лет назад 1
Он искал что-то, чтобы обнаружить обрезанные (поврежденные, например, частично скопированные) файлы. Действительно ли WAV-заголовки кодируют размер файла? Я не верю в это, но готов исправиться. CarlF 13 лет назад 0
Хорошо, +1, потому что когда я действительно перешел по вашей ссылке (в самом ответе), она показала именно то, что вы сказали, что должно. Мои извенения. CarlF 13 лет назад 1
Спасибо за ответы. Когда я правильно рассмотрю ваши предложения, я отвечу, что лучше всего сработало. paradroid 13 лет назад 0
@paradroid Я также отправил запрос на добавление функций разработчикам shntool, чтобы добавить новый режим проверки с установленным статусом выхода. Никакого ответа, так что не знаю, насколько это будет плодотворно. Mike Simpson 13 лет назад 0
Только последняя ссылка все еще работает. DanFromGermany 7 лет назад 0
1
Nordanfors

Ripcheck - это утилита, которая делает это.

Цитирование документов:

«ripcheck» запускает различные тесты для файла WAV, чтобы увидеть, есть ли потенциальные ошибки, которые произошли при преобразовании CD в файл WAV.

[...]

ЗАЧЕМ?

Эта программа была написана, потому что мы получали некоторые жалобы на случайные "хлопки" в начале на некоторых альбомах в Magnatune. Дальнейшие исследования показали, что большинство альбомов, которые мы выпустили в 2007 году, имели различные проблемы с копированием CD. Мы также нашли различные CDR, сожженные нашими музыкантами, у которых были небольшие дефекты, возможно, из-за использования дешевых CDR-носителей или слишком быстрой записи CDR.

[...]

Не могли бы вы просто предоставить ссылку. Пожалуйста, укажите содержание вашей ссылки, например, как оно будет отвечать на ФП, использовали ли вы его раньше, каковы основные характеристики и т. Д. Matthew Williams 10 лет назад 0
Я позволил себе добавить цитату из документов. Похоже, этот инструмент может ответить на вопрос. sleske 10 лет назад 1
1
johan

Я знаю, что это старая тема, но на всякий случай она пригодится:

Инструмент JHOVE (который довольно широко используется в области архивирования / цифровых библиотек) включает в себя модуль WAV, который может проверять файлы WAV. Доступно здесь:

http://jhove.openpreservation.org/

Не знаю, как проверка JHOVE сравнивается с проверками, которые выполняет shntool .

ОБНОВЛЕНИЕ : поэтому после публикации моего ответа я сам убил несколько WAV, а затем провел их через ряд инструментов. Полная рецензия со ссылками на тестовые данные и скрипты здесь:

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

Главный итог: лучше придерживаться старого доброго Shntool! JHOVE оказывается бесполезным для такого рода вещей (что также было для меня неожиданностью). (Между прочим, блог также посвящен обнаружению поврежденных файлов FLAC, хотя здесь речь не шла об этом.)