Chrome extension adjusts video speed based on how fast the speaker is talking (github.com)

by MrBuddyCasino 36 comments 119 points
Read article View on HN

36 comments

[−] golfer 60d ago
This is a very clever idea. Unfortunately I dislike installing extensions, because so many of them seem to get taken over by nefarious owners. Sadly it's poisoned the whole extension platform for me.

FYI: On Youtube, the keyboard shortcut for changing the video speed is simply pressing < or >

[−] Gander5739 60d ago
This extension appears to be installed directly from the files - I don't think it would automatically update even if a nefarious owner later gained control of the repository.
[−] varenc 60d ago
Note that this extension is offered on GitHub, not the Chrome Extension store, so if you load it from source it'll never be updated unless you update the code.

I do this for any extension I give big permissions. Rather than installing it from the Chrome extension store, I just download its source and 'load unpacked extension' directly. This method is just a roundabout a way to disable Chrome extension updates. (and of course I'm still trusting the extension's code quite a bit, but at least I don't have to worry about it changing)

[−] userbinator 60d ago
and of course I'm still trusting the extension's code quite a bit, but at least I don't have to worry about it changing

You only need to examine and trust it once.

[−] varenc 59d ago
It's true, but for large extensions that make use of bundled 3rd party libraries, it's hard to examine the code to determine with very high confidence there's nothing malicious in it. I also tend to watch a new extension's network traffic, but of course it's not foolproof either.
[−] thenickdude 59d ago
I delete the third party libraries and replace them with my own clean checkouts.
[−] GeoSys 60d ago
[dead]
[−] LoganDark 59d ago
Actually the shortcut for changing the video speed is typing > or <. If you simply press those keys, depending on your keyboard layout, you may only show the controls (if the video is playing) or advance forward/back a frame (if the video is paused).
[−] Bolwin 64d ago
Very interesting idea, but doesn't seem to work very well. I tried on three videos. On two it miscounted to an absurdly low rate of ~1 syllable/s and played it at the max speed which was illegible and in one it failed to detect any speech at all.
[−] diacritical 60d ago
For most videos the speaker talks in a relatively constant speed throughout the video. I've been using Video Speed Controller on Firefox for years. Sadly, it's not actively monitored by Mozilla for security issues even though it has 100k+ downloads. It basically lets you change the speed by whatever increments you want with a key. If the speaker slows down, tap-tap-tap, you can speed it up. I don't really see the need for algorithms or AI to solve what's already almost-solved.

I don't get why this addon isn't included in Firefox to begin with. Maybe because it doesn't just work only on standard HTML5 video files, but has support for specific sites and their players, too? But I've seen several updates on Firefox (not about the addon) that are along the lines of "solved perf issues on $site". So it's not like Firefox is trying to be site-agnostic.

[−] ortusdux 60d ago
This would be a killer feature for a podcast app. I can't stomach NPR content unless it's sped up to almost 2x, with the exception of a few fast talking hosts.
[−] EvanAnderson 60d ago
It's pretty jarring to me how slooooow my regular podcasts sound when I accidentally play them at 1x. They're shockingly hard to listen to. Occasionally I'll want to share a bit from a show with somebody else, and when I play it at 1x I worry the hosts have had a stroke.

Aside: I play most of my podcasts in VLC. A killer feature there would be per-podcast default speeds. Some shows have hosts with unfamiliar accents and I have to play them slower than shows with accents I'm more used to. I change it manually per-play, but that would sure be a nice preference. (Probably a violently too-specific feature for a general media player like VLC.)

[−] lelandfe 60d ago
Be comforted by the fact that most somebody elses listen to humans talk at 1x speed.
[−] apparent 60d ago
Overcast has per-podcast default speeds.
[−] EvanAnderson 60d ago
I'll check it out. Thanks.
[−] Mc_Big_G 64d ago
I have a policy against installing extensions but I might make an exception for this one. I default to 2x and often have to go to 3x if the speaker is really slow. The one exception is music production related videos and it is sometimes excruciating to get through. This is most likely because I'm usually watching some kind of instructional or educational video and just want the content and have no interest in being "entertained". That said, I understand that you have to game YouTube's algo and rules in order to make even a tiny bit of money. Imagine if every channel cut the first 30 seconds of every video intro and everyone could just get to the point.
[−] altairprime 64d ago
You could make a rewrite extension that seeks all video elements to 30s by default. Might not be perfect but it sounds like it would be useful for you.
[−] efilife 64d ago
what's rewrite?
[−] altairprime 64d ago
For example: https://addons.mozilla.org/en-US/firefox/addon/re-enable-rig... is a Firefox extension that 'rewrites' webpages to remove 'disable right click' code, https://addons.mozilla.org/en-US/firefox/addon/disable-autop... 'rewrites' webpages to disable HTML5 video autoplay, etc. So you could, perhaps, rewrite the attribute within
[−] chmod775 60d ago
One should really avoid installing a bunch of random extension with read/write permissions to every page. Both of these extensions have ~quivalents within firefox' settings:

    media.autoplay.*
    dom.event.contextmenu.enabled
Firefox also allows you to manage autoplay permissions on a per-page basis via regular settings (I believe it also shows via a setting on the URL bar if firefox blocked autoplay).

Also Shift+RMB will bypass any contextmenu blocking even when it's enabled by default.

If you want to fix unselectable text, you could also use the adblocker you already have to achieve that. For example using these rules:

    *##+js(acis, disableSelection, reEnable)
    *##+js(acis, document.oncontextmenu)
    *##+js(aopr, document.ondragstart)
    *##*:style(-webkit-touch-callout: default !important; -webkit-user-select: text !important; -moz-user-select: text !important; -ms-user-select: text !important; user-select: text !important;)
[−] childintime 64d ago
Or ask gemini to summarize the video instead.
[−] navark 64d ago
The extension you are looking for is "Sponsorblock". It crowd sources timestamps to auto-skip intros, ad-reads, credits, etc and is pretty customizable.
[−] nomilk 60d ago
Sponsorblock instantly 'broke' video for me; I feel incredible discomfort watching any video without it. Amazing extension.

Such is its utility, this single extension lifts youtube as a platform higher above tv or or native video players on other sites which don't have any sponsorblock capability.

[−] shevy-java 60d ago
Damn it!

Now I am called The Snail Speaker. :(

What I found interesting is ... if you have some recorded lectures from a university, some speakers are ultra-fast at 1x speed; and some others are acceptable once at 1.5 or 1.75.

Most I find difficult to understand at 2.0x though, so I mostly settled between the range of 1.25 to 1.5, sometimes 1.75 (depends on the topic too, of course; some topic is harder to understand, but here my thought was that some are able to speak fast and others can not. It's almost a skill to have or not have).

[−] golem14 60d ago
The math lectures I attended were even hard to follow with the speed it took to jot them down on the blackboard :)
[−] fitsumbelay 59d ago
I can thing of a couple of content creators I've encountered who make fast voice presentations almost impossible to follow. almost as if that's the point -- like that academic debating style where speakers just speed-recite as many arguments as they can -- like the content is actually meant to be slower and their goal is data compression or something ...
[−] hackemmy 60d ago
This is really cool. I build Chrome extensions too and the hardest part with anything audio related is getting the detection right across different types of content. Lectures vs podcasts vs casual vlogs all have very different speech patterns. I wonder if this could also work with non-English content since syllable detection probably breaks down with tonal languages.
[−] shawnz 59d ago
Damn, I was working on exactly the same idea not too long ago. It never really went anywhere because I couldn't find a speech rate detection algorithm that worked well enough to make it practically useful. I hope some more mathematically inclined people take a look at this idea and find a way to make it work.
[−] apparent 60d ago
Pretty cool, would be great if it could detect accented speech and have a different normalized speed for that. I listen to most people at 2x or more, but I can't usually understand accented English quite that fast.
[−] schrijver 60d ago
Fwiw all English is accented, so you’d need a setting for which accent you consider easy to understand.
[−] apparent 60d ago
Well, all English belongs to a dialect (British, American, subgroups thereof), but I wouldn't say that all English is accented. I'm usually OK with British and Australian, but would need to slow it down a bit for Irish or Scottish. I definitely need to slow it down for people with accented English, depending on how noticeable their accent is.
[−] schrijver 59d ago
Right, but if you were Irish, you wouldn’t have to slow it down when listening to English in an Irish accent. Your distinction to what is accented or not seems personal to you.

Accent is a subset of dialect, referring to pronunciation, where dialect also refers to vocabulary and grammar. It follows that if all English belongs to a dialect, all English has an accent.

Of course, some accents are more readily understood across the world; I imagine you are from the US, and there is the American English featured in film and TV (that I imagine synthesises different regional accents), that has a huge cultural reach, so people who learned English through media might find this particularly easy to understand.

However, outside the US, if you speak like this, you will always turn be regarded as the person with an accent, because you don’t speak like the locals. And people are going to find their local accent easier to understand.

[−] apparent 59d ago
I'm not disagreeing with your suggestion that a mechanism would be needed to set the "preferred accent/dialect" for a listener. My point is that when I was referring to accented English, I was referring to people for whom English is not their native language, for example a native French speaker. I know that people speak English in different ways in different countries, and that there isn't one "correct" English. But I was referring to people who speak English with a foreign-language accent in particular, who are the most difficult for me to understand at high speed.
[−] jauntywundrkind 60d ago
How good is the web's support for having subtitles? I'd love a version of this that just worked off of subtitles, rather than audio processing.
[−] LowLevelKernel 60d ago
Wow. I’ve been looking for this from a long time.
[−] ghm2199 60d ago
I would never install an extension with a 1000 foot pole, because of its seriously flawed security model. I think in 2026 if you really badly need an extension as an end user, write your own or pay someone to do it. I would also accept open source ones, since I can review the code.

Your extension can and will likely read all your data and likely has broad permissions to just fax all your Gmail to remote cloud server.

[−] camhart 60d ago
This extension is open source.