Improvements to the Skip Silence system

App version: 2.0.2 (ee4b2c055)

Feature you want:

The skip silence feature that comes bundled with ExoPlayer is far far too aggressive by default. It cuts out all silences longer than 150ms, with only 20ms of padding. This causes 2 problems:

  • Natural gaps in speech (moments of quiet between sentences, and even short hesitations between words) get completely cut out, causing sentences and words to run into each other
  • In some cases, someone speaking quietly can actually have parts of the words they are saying be cut out

The net result of this is that for a lot of podcasts, the “Skip Silences” feature is completely useless - it makes the conversation very difficult to comprehend.

Over on the Github, someone proposed that we should make skip silence configurable, but I don’t think that’s the correct solution. As the “Why not add an option for that” article says, sometimes users ask for options when what they really want is for a bug (or poor design choice) to be fixed.

Suggested solution:

The Skip Silence feature should be less aggressive. It should only skip silences longer than (say) 500ms, and should have more than 20ms padding.

These less aggressive settings would probably suit most podcasts better, and make the Skip Silences feature more genuinely useful.

Technical details:

In terms of technical details, it is possible to configure ExoPlayer’s skip silence feature, however it looks a bit fiddly. Depending on how complex this would be to integrate into the current way we use ExoPlayer, we may have to wait for them to make this less of a pain.

Other users?

Before proposing that we should definitely do this for sure, I’m curious:

  • are there many people who use the skip silences feature and don’t mind how aggressive it currently is?
  • are there any users who like how aggressive it is?
  • how many users would object to this change?

Skip silence is a nice feature but I don’t use it mainly because it’s too aggressive.
I would if you could set length of silence you want to skip and set how much seconds silence to replace it.

What I mean is if there is a silence for 1 minutes replace it with a silence of 5/10 seconds.

1 Like

Instead of making it configurable, let’s work on making skip silence do the right thing. I am sure either myself or another contributor will take a look at the code for skip silence.

1 Like

I am voting for making it configurable (and have some sane defaults).

Possible configurations:

  • configure the threshold (noisy podcasts) (is that dynamic?)
  • configure what to do with silence, I see 2 options:
    • reduce all silence longer than X to X
    • reduce all silence by a factor, so a silence of X would become to X / Z
1 Like