I have MP3 files that sometimes have silence at the end. I would like to remove this silence automatically. From what I can tell, it is "perfect" silence (0 amplitude), not background noise. The length of the content and the silence varies.
I found some other questions about cropping to the first 30 seconds or cropping to X and X+N seconds using ffmpeg
. I would think I could use a similar approach, as long as I have a way to find when the silence starts. How would I do that programatically?
For example, one possible solution would be to have a command that finds the beginning of the "silence". I'd expect a sequence like this
end=$(ffmpeg some-command-to-find-start-of-silence) ffmpeg -t "$end" -acodec copy -i inputfile.mp3 outputfile.mp3
The solution does not have to use ffmpeg
, but it does need to be available on Ubuntu.
AudioLab on AndroidScroll down and find Silence Remover then select it. You can either select tracks from the all tracks list or choose the file manager to select it manually. There is also an option to record audio. In addition to that, you can preview the audio and change the file name.
sox inputfile.mp3 outputfile.mp3 silence 1 0.1 0.1% reverse silence 1 0.1 0.1% reverse
This will trim any silence longer than 0.1 second from your file. If you're only concerned about trimming the end, this can be simplified to:
sox inputfile.mp3 outputfile.mp3 reverse silence 1 0.1 0.1% reverse
A detailed look into how sox
's silence
works can be found here.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With