Trim 音频文件并获取静音之间的部分

Trim audio file and get the part between silence

我的目标是使用 SoX 获取音频文件中包含非噪声声音的部分。我已经阅读了 SoX 的影响,发现 noiseredsilence 我认为有帮助。问题是我还没有找到可以 trim 基于其中的无声停顿的音频文件的命令。

我相信一个sox silence命令就可以实现您想要的。它允许您在给定阈值、高于阈值的持续时间等的情况下从音频的任何部分移除静音。

详细的手册请参考sox webpage,静音部分写的很好


如果你想在沉默中分裂而不是 "squeeze" 一切都在一起,那么你可能想尝试这样的事情:

sox input.wav slice.wav silence 1 1.0 2% 1 3.0 2% : newfile : restart

参数为:

input.wav - 输入音频文件

slice.wav - 输出音频文件名(数字将附加到每个切片)

silence - 效果名称

1 1.0 2% - above_periods,持续时间,阈值

1 3.0 2% - below_periods,持续时间,阈值