A Chrome extension that dynamically adjusts video playback speed based on the speaker's syllable rate, normalizing speech to a comfortable listening pace. It captures audio via HTMLMediaElement.captureStream(), applies a 300-3000 Hz bandpass filter to isolate vowel formants, then uses energy-envelope modulation analysis with zero-crossing counting to estimate syllable rate (~2-10 Hz). The detected rate drives a speed mapping formula that corrects for current playback speed, with exponential smoothing to avoid jarring transitions. Three algorithm iterations are documented, including why threshold peak-counting and AudioWorklet approaches were abandoned. Configurable parameters include target syllable rate, min/max speed clamps, filter coefficients, and silence hold time. Known limitations include DRM-protected content, music false positives, and SPA navigation gaps.
Table of contents
How it worksInstallationFilesConfigurationDiagnostic overlayTuning guideKnown limitationsPotential improvementsLicenseSort: