Trim 在 Windows 上使用 SoX / FFmpeg 等从音频文件中删除 N 个字节?

Trim off N bytes from audio file using SoX / FFmpeg etc, on Windows?

当 Audacity 要求保存录音时,我的团队不小心故意点击了“否”。因此,在使用恢复程序后,我留下了一堆 *.au 文件。

他们中的一些人确实有 header 并且仍然 open-able 具有 audacity 本身(例如:this one), and some other are just complete nonsense, sometimes having the header filled with text from random javascript or HTML code (like this one)。可能硬盘被浏览器缓存覆盖了一半?我不知道。而在这一点上,我几乎不在乎。

audacity 使用默认设置,采样率为 44100Hz。我可以使用 audacity 从标准打开文件中打开 a-113.au。我还能够使用 Audacity 的“打开 RAW 文件”实现打开文件,使用以下设置:

所以我假设 header 占用 12384 字节。

现在,当使用 SoX 或 ffmpeg 打开为 RAW 文件时,如何 trim 12384 字节的文件?因为如果我以 0 偏移量(默认设置)将其打开为 RAW,它将添加 header 作为噪声。

我使用的当前 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"
两者在转换后的文件中仍然有 header 作为噪音。

使用ffmpeg,使用子文件协议。

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