将大量 wav 文件拆分为小部分

Tar*_*ron 3 ffmpeg audio split sox wav

我有大量的 wav 文件(超过 50 000 个),我需要将每个 wav 文件拆分为 10 秒长的部分。

几乎不可能一一做到,所以我的问题是:我怎样才能在 ffmpeg(或 sox)中做到这一点?

meu*_*euh 6

这是作为示例提到的man sox

将输入文件拆分为多个 30 秒长的文件。每个输出文件名在其名称中都有唯一编号,如输出文件部分所述。

sox infile.wav output.wav trim 0 30 : newfile : restart
Run Code Online (Sandbox Code Playgroud)

因此,假设您的WAV文件的目录下~/myfiles,并且要创建拆分版本中~/split,你可以做

mkdir ~/split
cd ~/myfiles
find . -name '*.wav' \
 -exec sh -c 'mkdir -p ~/split/$(dirname "{}")' \; \
 -exec sox {} ~/split/{}  trim 0 10 : newfile : restart \;
Run Code Online (Sandbox Code Playgroud)