sox - 如何修剪0.75秒或更长时间的静音?

时间:2017-09-16 12:48:45

标签: audio sox

this stack post我看到如何使用sox来调整0.1秒或更长时间的静音。

sox inputfile.mp3 outputfile.mp3 silence 1 0.1 0.1% reverse silence 1 0.1 0.1% reverse

一个问题是上面的命令绝对没有,在我的mp3文件中,它有无声块长达3秒。

我想修剪当前静音等于或大于0.75秒的MP3中的所有静音。所以我从上面插入了:

sox inputfile.mp3 outputfile.mp3 silence 1 0.75 0.75% reverse silence 1 0.75 0.75% reverse

...但我很确定我错了,因为我不知道自己在做什么,而且我不确定%params是什么意思是,无论如何它对我的mp3没有任何作用。什么是修正[完整] cmd-line用法来修剪所有的沉默块> = 0.75秒?

如果你能解释每个参数的含义,我也会喜欢它。我在sox中阅读了此silence命令的docs,但我并不理解。

重要提示:我的所有音频文件都会散布整个静音,而不是音轨的开头/结尾。

2 个答案:

答案 0 :(得分:2)

我找到了使用SoX Silence的非常有用的指南。虽然官方的SoX Silence手册页非常混乱且难以理解,但本指南通过示例提供了详尽的解释: https://digitalcardboard.com/blog/2009/08/25/the-sox-of-silence/comment-page-2/

好像你想做: sox inputfile.mp3 outputfile.mp3 silence 1 0.75 0.1% 1 0.75 0.1% : newfile : restart

这会将音频分解成碎片,中间的静音被删除。然后你可以简单地将它们组合成一个文件。

答案 1 :(得分:0)

您必须先将其分成多个部分,然后再将它们合并在一起:

sox inputfile.mp3 tmpoutput.mp3 silence 1 0.75 0.1% 1 0.75 0.1% : newfile : restart
sox -m tmpoutput*.mp3 output.mp3
rm tmpoutput*.mp3