目前,我们在 shell 脚本中使用此命令来删除音频文件中的静音:
ffmpeg -i $INFILE -af silenceremove=0:0:0:-1:1:${NOISE_TOLERANCE}dB -ac 1 $SILENCED_FILE -y
这工作得很好,只是它消除了所有的静音,导致剩余的音频被挤压在一起。
如何在每段音频之间留出两到三秒的时间内完成这一任务?
该解决方案需要非常高效,因为我们将处理大量音频,并且应该使用可以在 Linux 和 OSX 上轻松安装的工具,例如 ffmpeg 或 sox。
答案1
我见过的最好的方法是将-l
标志添加到静音,如下所示:
sox in.wav out6.wav silence -l 1 0.1 1% -1 2.0 1%
我从这篇非常有用的博客文章的示例 6 中复制了这个命令,名为沉默之袜