How to batch split audio files wherever there is silence?

Village picture Village · Nov 16, 2013 · Viewed 18k times · Source

I am using the following command in SoX to split many large audio files at each place where there is silence longer than 0.3 seconds:

sox -V3 input.wav output.wav silence 1 0.50 0.1% 1 0.3 0.1% : newfile : restart

This however ends up occasionally creating files that are entirely silent and trimming the audio before each break.

I found better results with Audacity, but I need to split hundreds of WAV files and Audacity cannot even open 10 files simultaneously without freezing.

How can I use SoX or similar software to split the files at the end of the 0.3 second periods of silence, such that the silent portion is still affixed to the end of the speaking, but not before and there are no clips that are entirely silent, unless they come from the beginning of input.wav?

Answer

user272651 picture user272651 · Aug 15, 2015

if you change 0.5 to 3.0, it works fine:

sox -V3 input.wav output.wav silence 1 3.0 0.1% 1 0.3 0.1% : newfile : restart