Обрезать N байтов из аудиофайла с помощью SoX / FFmpeg и т. Д. В Windows?

#audio #ffmpeg #sox #audacity #file-recovery

#Аудио #ffmpeg #sox #audacity #восстановление файлов

Вопрос:

Моя команда случайно специально нажала НЕТ, когда Audacity попросила сохранить запись. Итак, я ушел с кучей файлов * .au после использования программы восстановления.

У некоторых из них был заголовок, и они все еще были открыты с помощью самой audacity (пример : этот), а некоторые другие — просто полная бессмыслица, иногда заголовок заполняется текстом из случайного кода javascript или HTML (например, этот). Вероятно, жесткий диск наполовину перезаписан кэшем браузера? Я не знаю. И на данный момент мне почти все равно.

Audacity настроен по умолчанию с частотой дискретизации 44100 Гц. Я могу открыть a-113.au используя audacity, из стандартных открытых файлов. Я также смог открыть файлы, используя «Open RAW files» из Audacity, используя эти настройки :

введите описание изображения здесь

итак, я предполагаю, что заголовок занимает 12384 байта.

Теперь, как мне обрезать 12384 байта из файла при открытии как RAW, с помощью SoX или ffmpeg? потому что, если я открою его как RAW со смещением 0 (настройки по умолчанию), он добавит заголовок в качестве шума.

Текущая команда ffmpeg, которую я использовал : ffmpeg.exe -f f32le -ar 44.1k -ac 1 -i source destination
Текущая команда sox, которую я использовал : sox -t raw --endian little --rate 44100 -b 1 -b 32 --encoding floating-point %%A "converted/%%~nxA.wav"
Оба по-прежнему имеют заголовок как шум в преобразованных файлах.

Ответ №1:

С помощью ffmpeg используйте протокол вложенных файлов.

 ffmpeg.exe  -f f32le -ar 44.1k -ac 1 -start 12384 -i  "subfile:source" destination