Ecosyste.ms: Awesome
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: 5 days 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.
- Host: GitHub
- URL: https://github.com/neonwatty/bleep-that-shit
- Owner: neonwatty
- License: apache-2.0
- Created: 2024-06-08T20:57:15.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-01-24T21:20:09.000Z (19 days ago)
- Last Synced: 2025-01-24T21:27:19.750Z (19 days ago)
- Topics: artificial-intelligence, audio-processing, machine-learning, python, self-hosted, youtube
- Language: Jupyter Notebook
- Homepage: https://bleepthatsht.xyz/
- Size: 17.6 MB
- Stars: 21
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![]()
![]()
![]()
[![Python application](https://github.com/neonwatty/bleep_that_sht/actions/workflows/python-app.yml/badge.svg)](https://github.com/neonwatty/bleep_that_sht/actions/workflows/python-app.yml/python-app.yml)# Automatically censor and bleep out words in audio and video using AI. Free and built to self-host with Python and Docker.
Make someone sound naughty 😈 or make your content more Ad-friendly.
Works by bleeping out keywords of your choice from an mp4 by leveraging a transcription model (here Whisper) to transcribe the audio, then target and replace chosen words with _bleep_ sounds using the extracted timestamps associated with your chosen word(s).
All processing is performed locally.
- [Version overall comparison](#version-overall-comparison)
- [Examples](#examples)
- [Installation](#installation)
- [App walkthrough](#app-walkthrough)
- [Tech walkthrough](#tech-walkthrough)## 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_sht/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_sht/assets/16326421/63ebd7a0-46f6-4efd-80ea-20512ff427c0
## Installation
### Using docker
Use docker to quickly to spin up the app in an isolated container by typing the following at your terminal
```bash
docker compose up
```Then navigate to `http://localhost:8501/` to use the app.
### Using python
To get setup to run the notebook / bleep your own videos / run the strealit demo first install the requirements for this project by pasting the below in your terminal.
```bash
pip install -r requirements.txt
```Then activate the app server by typing the following at your terminal
```bash
streamlit run /home/bleep_that_sht/app.py --server.port=8501 --server.address=0.0.0.0
```Then navigate to `http://localhost:8501/` to use the app in any browser.
**Note:** you will need [ffmpeg](https://www.ffmpeg.org/download.html) installed on your machine as well.
## App walkthrough
Once you have the app up and running and have navigated to ``http://localhost:8501/`, there are three tabs you can choose from
**The first tab** allows for local video upload and processing.
**The second tab** allows for youtube url download and processing.
**The third tab** has handy "about" information for convenience.
The app may take longer than usual during the initial processing of local videos or YouTube content because it needs to download the transcription model.
A quick walkthrough of both local video and youtube processing is shown below.
![]()
## Tech walkthrough
See `beep_that_sht_walkthrough.ipynb`) to play / see nitty gritty details.