我有一个10分钟的音频,我希望在大块的时间内打破如下: (格式为mm:ss.frac)
1. 1.wav -> 00.000 - 20.271
2. 2.wav -> 20.272 - 47.550
3. 3.wav -> 47.551 - 01:20.562
我尝试使用像这样的trim
命令
sox infile outfile trim 0.000 20.271
但格式为trim start [length]
最糟糕的情况是,我将不得不计算单个块的持续时间。还有另一种方式吗?
答案 0 :(得分:3)
我发现最简单的解决方案是编写命令:
sox infile outfile start =end
在到达开始位置之前,音频不会发送到输出流,并且可以使用带有结束时间的“=”符号来指定结束位置。
所以代码现在是,例如:
sox forth.wav 10.wav trim 303.463 =353.790
修剪开始[长度| =结束] 可选的length参数给出了音频的长度 在开始样品之后输出,因此用于修剪 音频结束。或者,绝对结束位置可以 在前面加上等号。使用值 0表示启动参数只允许修剪结束。
答案 1 :(得分:0)
不,如果你想使用sox,你必须计算长度。您也可以使用ffmpeg,它具有支持开始/结束时间的atrim过滤器。