我相信你所寻找的东西可以用sox silence命令来实现.它允许您在给定阈值,持续时间高于等等的情况下从音频的任何部分移除静音.
有关详细的手册,请参阅sox网页,沉默部分写得非常好.
如果你想在沉默中分裂而不是"挤压"所有东西,那么你可能想尝试类似的东西:
sox input.wav slice.wav silence 1 1.0 2% 1 3.0 2% : newfile : restart
Run Code Online (Sandbox Code Playgroud)
参数是:
input.wav - 输入音频文件
slice.wav - 输出音频文件名称(数字将附加到每个切片)
silence - 效果名称
1 1.0 2% - above_periods,持续时间,阈值
1 3.0 2% - below_periods,持续时间,阈值