使用Sox,如何将音频文件缩短5秒,并从末尾进行裁剪?
例如,以下是如何从头开始裁剪文件:
sox input output trim 5000下面是如何在结尾加上5秒的默哀:
sox input output pad 0 5000发布于 2012-05-03 01:18:34
语法为sox input output trim <start> <duration>
例如,sox input.wav output.wav trim 0 00:35会将前35秒输出到output.wav。
(您可以使用sox input -n stat了解长度)
在trim命令的SoX documentation中:
会从音频中截取部分内容。可以给出任意数量的位置;直到到达第一个位置时,才将音频发送到输出。然后,效果在复制和丢弃每个位置的音频之间交替。使用值0作为第一个位置参数允许从音频的开头进行复制。
例如,
sox加密输出文件修剪0 10
将复制前十秒,而
播放infile修剪12:34 =15:00 -2:00
和
播放infile修剪12:34 2:26 -2:00
都将从12分34秒播放到音频中最多15分钟(即2分钟26秒长),然后在音频结束前两分钟继续播放。
对于每个dpwe's comment,位置值被解释为相对于前一个位置,除非它们以= (在这种情况下,它们相对于文件的开头)或- (在这种情况下,它们相对于文件的结尾)开头。
因此,将末尾修剪5秒将是sox input output trim 0 -5
发布于 2013-02-15 17:45:28
上面的命令是错误的,它只会让你得到最后5秒。您实际上需要使用:
sox input output reverse trim 5 reverse 这将缩短从文件末尾开始的5秒。
发布于 2015-07-08 03:33:43
我是SoX的新手,但我注意到这个页面经常出现在音频裁剪的搜索结果中,并且会被许多试图做类似事情的人看到。
因此,我想提供我个人认为最好的解决方案。
我在文件末尾遇到了和John Smith Optional提到的一样的“点击”。这表明,当音频结束时,短暂的淡出可以消除任何毛刺的人工制品,并且确实有效。它接受fadeout位置参数的负值,以指示音频结束之前的时间是关键。
因此,我看不到比这更好的实现OP目标的方法了:
sox full_length.wav trimmed.wav fade 0 -5 0.01参数1为'0‘,因此没有淡入。参数2删除最后5秒参数3使用10毫秒的淡入度
https://stackoverflow.com/questions/9667081
复制相似问题