使用 FFmpeg 将音频文件拆分为等长的片段
Splitting an Audio File Into Equal-Lenght Segments Using FFmpeg
我想使用 FFmpeg 将一个音频文件分成几个等长的片段。我想指定一般片段持续时间(无重叠),并且我希望 FFmpeg 渲染尽可能多的片段来遍历整个音频文件(换句话说,要渲染的片段数未指定)。
另外,由于我对 FFmpeg 不是很有经验(我只用它来进行简单的文件转换,参数很少),我想要一个你应该用来做这个的代码的描述,而不仅仅是我赢得的一段代码' 一定要了解,如果可能的话。
提前谢谢你。
P.S。这是我为什么要这样做的背景:
我想自动将一首歌曲采样到单小节循环中,而不必使用 DAW 手动将它们切碎。我想要做的就是将歌曲的第一拍与我的 DAW 中的拍子网格对齐,然后导出该音频文件并使用它在 FFmpeg 中生成单小节循环。
以后我会尝试做一些类似批处理命令的东西,其中可以指定速度和调号,它会自动使用 FFmpeg 生成循环(只要循环与节拍对齐)网格,正如我之前提到的)。
可以使用segment muxer。基本示例:
ffmpeg -i input.wav -f segment -segment_time 2 output_%03d.wav
-f segment
表示段复用器应该用于输出。
-segment_time 2
使每个片段长 2 秒。
output_%03d.wav
是输出文件名模式,它将导致 output_000.wav
、output_001.wav
、output_002.wav
等。
我想使用 FFmpeg 将一个音频文件分成几个等长的片段。我想指定一般片段持续时间(无重叠),并且我希望 FFmpeg 渲染尽可能多的片段来遍历整个音频文件(换句话说,要渲染的片段数未指定)。 另外,由于我对 FFmpeg 不是很有经验(我只用它来进行简单的文件转换,参数很少),我想要一个你应该用来做这个的代码的描述,而不仅仅是我赢得的一段代码' 一定要了解,如果可能的话。 提前谢谢你。
P.S。这是我为什么要这样做的背景: 我想自动将一首歌曲采样到单小节循环中,而不必使用 DAW 手动将它们切碎。我想要做的就是将歌曲的第一拍与我的 DAW 中的拍子网格对齐,然后导出该音频文件并使用它在 FFmpeg 中生成单小节循环。
以后我会尝试做一些类似批处理命令的东西,其中可以指定速度和调号,它会自动使用 FFmpeg 生成循环(只要循环与节拍对齐)网格,正如我之前提到的)。
可以使用segment muxer。基本示例:
ffmpeg -i input.wav -f segment -segment_time 2 output_%03d.wav
-f segment
表示段复用器应该用于输出。-segment_time 2
使每个片段长 2 秒。output_%03d.wav
是输出文件名模式,它将导致output_000.wav
、output_001.wav
、output_002.wav
等。