我有一些 MP3 文件,有时最后会有静音。我想自动消除这种沉默。据我所知,这是“完美”的静音(0 振幅),而不是背景噪音。内容和沉默的长度各不相同。
我发现了一些关于 cropping to the first 30 seconds 的其他问题或 cropping to X and X+N seconds使用 ffmpeg
。我想我可以使用类似的方法,只要我有办法找到沉默开始的时间。我将如何以编程方式执行此操作?
例如,一种可能的解决方案是使用一条命令来查找“沉默”的开头。我期待这样的序列
end=$(ffmpeg some-command-to-find-start-of-silence)
ffmpeg -t "$end" -acodec copy -i inputfile.mp3 outputfile.mp3
该解决方案不必必须使用 ffmpeg
,但它确实需要在 Ubuntu 上可用。
最佳答案
sox inputfile.mp3 outputfile.mp3 silence 1 0.1 0.1% reverse silence 1 0.1 0.1% reverse
这将从您的文件中删除任何超过 0.1 秒的静音。如果您只关心修剪末端,这可以简化为:
sox inputfile.mp3 outputfile.mp3 reverse silence 1 0.1 0.1% reverse
可以找到关于sox
的silence
工作原理的详细信息 here .
关于ubuntu - 如何以编程方式从 MP3 中删除静音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11834297/