There’s a lot of interesting content produced on video these days. Invariably, though, when we post something some comments will appear lamenting that a video isn’t the most efficient way to disseminate technical information. We have mixed feelings. Some things benefit from being able to see, for example, a screencast. Some people like the human connection of seeing an instructor interact with a class instead of just reading. But we will admit that sometimes a video takes longer to watch, especially if it is full of pauses. Unsilence is a tool from [labmoellertim] that can fix that. The command line tool takes a video and strips out the parts that are silent. You can also use it as a Python library if you want to build your own tools using the technique.
If you’ve ever taken a class online, it isn’t uncommon to speed up a video so you can get through class faster. This works to a point, but removing or speeding up silent gaps means you don’t have to “listen faster.” Of course, you could still speed up the video, too.
The tool can detect silent versus audible content and can do several operations. By default, it speeds up silent parts by a factor of 6. You can change the speed of either part, of course. You can also change the volume — presumably muting silence. The fact that it speeds up the silent parts is disconcerting at first, but after watching a bit, you realize it helps you understand what’s going on in many cases.
As an example, an MIT Python lecture (see videos below) clocks in at 9:45, but after processing takes under 8 minutes. Saving not quite two minutes might not sound like a lot, but for such a short clip it works out to almost 19%. For an hour lecture that could add up to nearly 12 minutes. Of course, a lot will depend on the style of the speaker and the video. Some videos may save more time; others less.
Unfortunately, you do need the video file locally so if you want to apply this to a YouTube video, you’ll need a way to download it first. That’s relatively easy to do, but it kills the immediacy of just watching a video in your browser.