I have a WAV file of a human reading simple sentences ("hello world"). How can I break the WAV file into multiple WAV files each containing one word ("hello" and "world") by automatically recognizing the gap of silence between the words?

I am looking for a tool that will do the work, But if I won’t have a choice I can write this in C or C# or Java

  • 1
    You just copy-pasted the same question from 2011?
    – slhck
    Mar 13, 2019 at 15:05

1 Answer 1


A general universal solution is impossible because there are many cases where it cannot be done.

This is a harder problem that you may think because natural speech does not always separate words by silence.

For instance, the phrase "Look out" is usually pronounced with a glottal stop, being heard more like "loo kout"

Programs that translate natural speech usually break the speech into separable sound bits, aka phonemes, and then try and match patterns of phonemes to words.

So while you can break a WAV file in to segments based on silence, it probably won't be on word boundaries. You'd end up with things like (using the counter example), one WAV for "loo" and another WAV for "kout"

Not the answer you're looking for? Browse other questions tagged .