使用 FFmpeg 将音频文件分割成等长的片段

GPW*_*PWR 5 audio ffmpeg sample tempo segment

我想使用 FFmpeg 将音频文件分割成几个等长的片段。我想指定一般片段持续时间(无重叠),并且我希望 FFmpeg 渲染尽可能多的片段来遍历整个音频文件(换句话说,要渲染的片段数量未指定)。另外,由于我对 FFmpeg 的经验不是很丰富(我只用它来进行带有很少参数的简单文件转换),所以我想要一个您应该用来执行此操作的代码的描述,而不仅仅是我赢得的一段代码不一定懂,如果可以的话。先感谢您。

PS 以下是我尝试这样做的背景:我想自动将一首歌曲采样到单小节循环中,而不是使用 DAW 手动将它们切碎。我想做的就是将歌曲的第一个节拍与 DAW 中的节拍网格对齐,然后导出该音频文件并使用它在 FFmpeg 中生成单小节循环。

将来,我将尝试做一些类似于批处理命令的事情,其中​​可以指定速度和调号,并且它将使用 FFmpeg 自动生成循环(只要循环与节拍网格对齐,就像我'前面已经提到过)。

llo*_*gan 14

您可以使用分段复用器。基本示例:

ffmpeg -i input.wav -f segment -segment_time 2 output_%03d.wav
Run Code Online (Sandbox Code Playgroud)
  • -f segment表示应该使用分段复用器进行输出。
  • -segment_time 2使每个片段长 2 秒。
  • output_%03d.wav是输出文件名模式,将导致 iin output_000.wavoutput_001.wavoutput_002.wav等。