GitHub - neonwatty/bleep-that-shit: Free in-browser audio & video censorship tool. AI-powered transcription with Whisper, 100% private client-side processing. Bleep profanity, custom words, or any phrase.

3 min read Original article ↗

Bleep That Sh*t! - A whisper app that bleeps out chosen words in YouTube videos | Product Hunt

Bleep That Sh*t! — In-Browser Audio & Video Censorship Tool

Make someone sound naughty 😈 or make your content more Ad-friendly.

Bleep That Sh*t! lets you instantly transcribe and censor words in your audio or video files, with full control over what gets bleeped. No uploads, no servers, no installs — everything happens right in your browser.

The current in-browser implementation works for clips of length 10 minutes or less.


How it works

  1. Upload your audio (MP3) or video (MP4) file.
  2. Transcribe using Whisper ONNX models (transformers.js) — all in-browser.
  3. Censor: Pick words to bleep (exact, partial, or fuzzy match).
  4. Preview & Download: Hear the result and save your censored file.

All processing is done locally in your browser. Your media and transcripts stay private — nothing is sent to a server.


Examples

Some examples of the end product (make sure to turn volume on, its off by default).

bleep-that-sht-examples.mp4

Let's look more closely at the last example above - below is a short clip we'll bleep out some words from using the pipeline in this repo. (make sure to turn on audio - its off by default)

bleep_test_og_cropped_low_res.mp4

Now the same clip with the words - "treetz", "ice", "cream", "chocolate", "syrup", and "cookie" - bleeped out

bleep_test_processed_cropped_low_res.mp4

Using the App

Just open the app in any modern browser — no installation or setup required.

Live Demo

Visit the deployed app at https://neonwatty.github.io/bleep-that-shit/ or run it locally.


App Features

Main Workflow (/bleep)

  • Upload audio or video files
  • Select language and Whisper model
  • Transcribe to generate word-level timestamps
  • Enter words to censor with multiple matching modes (exact, partial, fuzzy)
  • Choose from different bleep sounds
  • Preview and download the censored result

Model Comparison (/sampler)

  • Compare transcription accuracy across different Whisper models
  • Test processing speeds
  • Find the best model for your needs

Running Locally

Prerequisites

  • Node.js 18+
  • npm or yarn

Installation

  1. Clone the repository:

    git clone https://github.com/neonwatty/bleep-that-shit.git
    cd bleep-that-shit
  2. Install dependencies:

  3. Start the development server:

  4. Open http://localhost:3000 in your browser


Available Scripts

npm run dev          # Start development server
npm run build        # Build for production
npm run start        # Start production server
npm test            # Run Playwright tests
npm run test:ui     # Run tests with UI

Browser Requirements

  • Modern browser with WebAssembly support
  • Web Workers support
  • Sufficient RAM for model loading (varies by model size)

Available Whisper Models

  • Tiny (39 MB): Fastest, good for quick processing
  • Base (74 MB): Better accuracy, still fast
  • Small (242 MB): Best accuracy, slower processing

Both English-only and multilingual variants are available.


Contributing

Contributions are welcome! Please feel free to submit a Pull Request.


License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.


Acknowledgments


Support

For issues and questions, please open an issue on GitHub.