An open API service indexing awesome lists of open source software.

https://github.com/neonwatty/bleep-that-shit

Automatically filter, censor, and replace profanity, swear words, curse words, or custom terms in audio and video with a beep or bleep sound effect. Built to self-host with Python, AI, Streamlit, and Docker. Free and open source.
https://github.com/neonwatty/bleep-that-shit

artificial-intelligence audio-processing machine-learning python self-hosted youtube

Last synced: about 2 hours ago
JSON representation

Automatically filter, censor, and replace profanity, swear words, curse words, or custom terms in audio and video with a beep or bleep sound effect. Built to self-host with Python, AI, Streamlit, and Docker. Free and open source.

Awesome Lists containing this project

README

          

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).

https://github.com/user-attachments/assets/da50f8a9-27ba-4747-92e0-72a25e65175c

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)

https://github.com/neonwatty/bleep-that-shit/assets/16326421/fb8568fe-aba0-49e2-a563-642d658c0651

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

https://github.com/neonwatty/bleep-that-shit/assets/16326421/63ebd7a0-46f6-4efd-80ea-20512ff427c0

---

## 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/](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:

```bash
git clone https://github.com/neonwatty/bleep-that-shit.git
cd bleep-that-shit
```

2. Install dependencies:

```bash
npm install
```

3. Start the development server:

```bash
npm run dev
```

4. Open [http://localhost:3000](http://localhost:3000) in your browser

---

## Available Scripts

```bash
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](LICENSE) file for details.

---

## Acknowledgments

- [Transformers.js](https://github.com/xenova/transformers.js) for WebAssembly Whisper models
- [FFmpeg.wasm](https://github.com/ffmpegwasm/ffmpeg.wasm) for media processing
- [OpenAI Whisper](https://github.com/openai/whisper) for the original models

---

## Support

For issues and questions, please open an issue on [GitHub](https://github.com/neonwatty/bleep-that-shit/issues).