• Stars
    star
    354
  • Rank 119,259 (Top 3 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created almost 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

๐Ÿ”‡ Browser extension to skip silent parts in videos and audio files on any webpage


Available on chrome web store Available on Firefox Addons Available on Edge Add-ons Buy Me A Coffee

Skip Silence

"Skip Silence" is a browser extension that allows you to automatically skip parts of a video that are silent. It is highly inspired by CaryKH's automatic on-the-fly video editing tool. The extension works with most websites that use HTML5 audio and video elements (like YouTube).

Demo

(Video used: Unedited part of https://youtu.be/DQ8orIurGxw?t=234)

Installation

"Skip Silence" is available through the chrome web store. You can also install this extension on Chrome by downloading the source from GitHub and loading the unpacked, built extension through "chrome://extensions" as a "Temporary Add-On".

Firefox

"Skip Silence" only has restricted support for Firefox.

On Chrome, "Skip Silence" uses a browser API to support analyzing audio on almost all websites. Unfortunately, Firefox currently doesn't support this API and thus the extension doesn't work on some websites. Take a look at open bugs for more info.

If you have problems with the extension on a website on Firefox, you can try using a Chromium-based browser like Ungoogled Chromium.

Usage

When "Skip Silence" detects a compatible element on the current page, its icon in the menubar will be colored.

Changing icon

You can now click on this icon to reveal the settings popup.

You can now:

  • Click the toggle button to enable and disable "Skip Silence" for the current page
  • Change "Skip Silence"'s settings
  • View the current volume using the VU meter
    • The VU Meter will be blue when on normal speed and green when currently in a silent part
    • The red line represents your current volume threshold

Limitations

  • Won't work on sites that use other methods to play video or audio (e.g. Spotify Web Player uses a special method to prevent songs from being downloaded)

How does it work?

The extension attaches a JavaScript audio analyser to the current video or audio source and will speed up or slow down the video using the current volume of the audio.

Open browser bugs

The extension sometimes seems to push the boundaries of what browsers can do. Due to this, some features that would be nice to have can't be implemented as the browsers contain bugs or missing features.

Current list of bugs/feature requests the extension is waiting for

Development

This extension is using the plasmo framework for developing and building.

To start development, follow these steps:

  1. Check if your Node.js version is v18 or newer.
  2. Clone this repository.
  3. Run pnpm install to install the dependencies.
  4. Run pnpm dev to start the development server for chrome or pnpm dev:firefox for Firefox.
  5. Load your extension on Chrome following:
    1. Access chrome://extensions/
    2. Check Developer mode
    3. Click on Load unpacked extension
    4. Select the build folder.
  6. Happy hacking.

Build

Requirements:

  • NodeJS 18
  • preferably pnpm but npm will also work

Run these commands in the root of the extension files:

pnpm install # or npm install
pnpm run build # or npm run build
pnpm run build:firefox # or npm run build

After the build is done, the raw contents will be placed in /build and the compacted zip will be placed in /build/[chrome/firefox]-mv2-prod.zip.

Contributing

Please fork this repository and create a new pull request to contribute to it.

If you notice any errors, please create a new issue on GitHub.

License

Licensed under the MIT License

More Repositories

1

auto-form

๐ŸŒŸ A React component that automatically creates a @shadcn/ui form based on a zod schema.
TypeScript
1,065
star
2

blymp-io

๐Ÿ“‚ Easily transfer files between devices
TypeScript
83
star
3

wrapped

๐Ÿ“Š Personalized stats about your time on TikTok.
TypeScript
53
star
4

dontbugme

๐Ÿ› DontBugMe allows you to easily use credentials from BugMeNot.com on any page.
TypeScript
49
star
5

minimalpedia

๐Ÿ“– Alternative, minimalistic frontend for Wikipedia using React
CSS
29
star
6

react-electron-browser-view

:electron: A simple wrapper to make Electrons BrowserView compatible with React
JavaScript
28
star
7

cauldron-js

๐Ÿœ Cauldron.js - Minecraft Server in your browser
JavaScript
13
star
8

pinforgithub

๐Ÿ“Œ Save repositories on GitHub for later without having to star them
JavaScript
10
star
9

Bangs-For-Google

Automatically use DuckDuckGo for !Bangs, keeping Google for all other searches
JavaScript
10
star
10

plasmo-state

โ™ป๏ธ Sync state across content script, background workers and the popup in Plasmo extensions
TypeScript
9
star
11

multithreaded-brainfuck-c

A Brainfuck interpreter in C that allows writing Brainfuck programs with multithreading support
C
7
star
12

ewmail

โœ‰๏ธ Ew, Mail! is a web browser extension that simplifies the usage of temporary email addresses from Temp-Mail
JavaScript
7
star
13

nftlicense

โ›“ Software licensing using NFTs
TypeScript
6
star
14

sprous

๐ŸŒฑ Add a support system/knowledge base to your website with sprous.
JavaScript
6
star
15

portfolio

๐Ÿ–ฅ Personal portfolio
Svelte
6
star
16

quill-languagetool

โœ’๏ธ LanguageTool integration for Quill.js editors
TypeScript
6
star
17

vowserdb

๐Ÿ—„ vowserDB allows you to use CSV or JSON files as a database in PHP
PHP
5
star
18

nordigen

๐Ÿ’ณ Unofficial JavaScript API Library for Nordigen
TypeScript
5
star
19

wonderrail

๐Ÿš„ Discover the smartest way to Interrail
TypeScript
5
star
20

git-dev-time

โฑ CLI to estimate the time a developer spend on a repository
JavaScript
5
star
21

Google-Keep-to-Standardnotes-Converter

๐Ÿ—’ Convert Google Keep Takeout archive into Standardnotes archive
HTML
5
star
22

lockbox

A secure, end-to-end encrypted secret sharing service
TypeScript
4
star
23

logo_generator

๐Ÿงช Create Material Logos using Font Awesome icons
JavaScript
3
star
24

Did-you-mean-for-GitHub

โ“ A browser extension that suggests you similar repository names when you get a 404 error on GitHub
CSS
3
star
25

journal

๐Ÿ““ Minimal blogging CMS for blogs with static files
PHP
2
star
26

sn-theme-material

๐Ÿ–ฅ Dark Material Theme for StandardNotes
CSS
2
star
27

watermark

๐Ÿ‘๏ธ Add hidden watermarks to uncompressed images (PNG, BMP etc.) that do not rely on image metadata by tweaking RGB values
TypeScript
2
star
28

electric-squid

A wrapper and proxy to let flying-squid run in the browser.
TypeScript
2
star
29

plasmo-package-template

โœจ Template for writing packages interacting with Plasmo
TypeScript
1
star
30

gpt-chatbot

Basic scripts to train and use GPT-3 as a chatbot with custom data
Python
1
star
31

learn-rust

๐Ÿฆ€ Testing ground for learning Rust
Rust
1
star
32

seed

๐Ÿต๏ธ Laravel-inspired seeding system for JavaScript
TypeScript
1
star
33

rust_json_parser

๐Ÿ—œ Simple JSON parser in Rust
Rust
1
star
34

cors-audio-extension-test

๐Ÿคบ Test to see if CORS can be unblocked by webextensions to allow "audioContext.createMediaElementSource"
JavaScript
1
star
35

lora-net

๐Ÿ“ก CLI and Web App for building an adhoc, multihop network using LoRa wireless modules
TypeScript
1
star
36

franz-recipe-standardnotes

๐Ÿ—’ StandardNotes recipe for Franz
CSS
1
star
37

chrome-webstore-api

Chrome webstore upload
TypeScript
1
star