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
- Upload your audio (MP3) or video (MP4) file.
- Transcribe using Whisper ONNX models (transformers.js) — all in-browser.
- Censor: Pick words to bleep (exact, partial, or fuzzy match).
- 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
-
Clone the repository:
git clone https://github.com/neonwatty/bleep-that-shit.git cd bleep-that-shit -
Install dependencies:
-
Start the development server:
-
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
- Transformers.js for WebAssembly Whisper models
- FFmpeg.wasm for media processing
- OpenAI Whisper for the original models
Support
For issues and questions, please open an issue on GitHub.