/bleep_that_sht

Make someone sound naughty - bleep out words of your choice leveraging Whisper transcription

Primary LanguageJupyter NotebookApache License 2.0Apache-2.0

HuggingFace Space Open In Colab Youtube Python application Bleep That Sh*t! - A whisper app that bleeps out chosen words in YouTube videos | Product Hunt

bleep that sh*t

Make anyone sound naughty / funny with Python.

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

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

Installation

For local videos

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.

pip install -r requirements.streamlit

To install requirements for the gradio demo use this install

pip install -r requirements.gradio

You will need ffmpeg installed on your machine as well.

For Youtube videos

Start this streamlit demo locally that lets you enter in a youtube / shorts url to a video you wish to bleep

python -m streamlit run bleep_that_sht/app_url_download.py

Alternatively you can start a gradio server with the same functionality

python -m bleep_that_sht/gradio_app_url_download.py

You can also use docker compose

docker compose up

Walkthrough

See beep_that_sht_walkthrough.ipynb) to play / see nitty gritty details.