如何使用 CLI 在一行中修剪多个时间跨度内的波形音频

如何使用 CLI 在一行中修剪多个时间跨度内的波形音频

我有一个波形音频文件,我想像这样在多个点进行修剪。

音频长度为 1 小时,我想保留前 3 分钟以及 6 分钟到 30 分钟的部分。换句话说,我想删除 3 分钟到 6 分钟和 30 分钟到 60 分钟的部分。

我可以用 ffmpeg 来做这样的事。

ffmpeg -i audio.wav -t 00:03:00 -c copy 01.wav
ffmpeg -i audio.wav -ss 00:06:00 -t 00:24:00 -c copy 02.wav
ffmpeg -i 01.wav -i 02.wav -filter_complex '[0:0][1:0]concat=n=2:v=0:a=1[out]' -map '[out]' output.wav

但如果可能的话,我想把它写在一行中,并附带选项。如果可以从命令行使用,我就不会坚持使用 ffmpeg。

有办法吗?

答案1

使用 Sox。命令如下:

sox inputfile.wav outputfile.wav trim 0 =3:00 =6:00 =24:00

请参阅这里

在修剪参数中,每对值都是从入点到出点。0 是入点,3:00 是出点,然后是 6:00 入点和 24:00 出点。= 符号表示相对于开始。

相关内容