Real project · Desktop app · AI

Video censor

A desktop app that finds profanity in a video, mutes it and cuts short clips for Shorts and Reels in the same run. One file in, publish-ready content out.

Type
Desktop app
For
YouTubers, streamers, editors
Stack
Python · Whisper · FFmpeg · Demucs
Format
Finished product, still evolving
Video censor desktop app: the Whisper transcription step

The problem

Video creators and streamers spend hours listening through a recording to find every swear word and bleep or mute it by hand. For an hour-long stream that is half a day of editing, and one missed word can mean demonetisation or a removed video.

Vertical clips for Shorts, Reels and TikTok were a separate chore: watching the same footage again to find the good moments.

The solution

We put the whole process into one app with a step-by-step pipeline. It transcribes speech with Whisper, finds words from a dictionary, mutes them with a small margin on each side and can cut clips and separate voice from music at the same timestamps.

Every step runs on its own, and Magic Pipeline runs everything from transcription to finished files with one button.

How it works

  1. 01

    Source

    Pick a video and a project folder. Intermediate files, the cache and the log live next to it, so you can come back to a project any time.

  2. 02

    Transcription

    Whisper turns speech into timestamped text. Three backends to choose from (faster-whisper, stable-ts, openai-whisper), models up to large-v3 and the recognition language. Results are cached: a second run with the same settings is instant.

  3. 03

    Censoring

    Automatic, from a profanity dictionary, with an optional insults filter. The padding around each word is adjustable so neighbouring sounds are not clipped. Anything missed is added as a manual interval.

  4. 04

    Clips and audio

    Fragments for Shorts and Reels are cut by timestamp. Demucs separates voice from music, so only speech is muted and the background track stays.

  5. 05

    Cuts and AI timings

    Unwanted parts of the video are removed as a list of intervals. Timings prepared by AI go straight into the pipeline.

  6. 06

    Magic Pipeline

    One button runs all steps in order. Metadata is stripped at the end and every operation is written to the log.

What's inside

Transcription cache

Saved Whisper results. Change the dictionary or padding and censor again without re-transcribing.

Three Whisper backends

faster-whisper, stable-ts or openai-whisper, with model, language, batch size and padding tuned to the machine.

Transcription-only mode

Get SRT and TXT with timestamps and no censoring, for subtitles or a script.

Manual intervals

Any fragment can be muted or cut by hand when the automation misses it.

Demucs

Splits the track into voice and music so censoring does not damage the background music.

Log and project folder

A progress panel, a saved log and quick access to the folder with the results.

In numbers

10

Pipeline steps in one window, from the source to stripped metadata.

Pipeline
1

The Magic Pipeline button runs the whole process end to end.

Button
large-v3

The most accurate Whisper model the app works with.

Model
0 s

Repeat transcription from the cache: results persist between runs.

Cache

Stack

Python for the logic and the interface, Whisper for speech recognition, FFmpeg for cutting and encoding, Demucs for audio separation. Everything runs locally, the video is never uploaded anywhere.

  • Python
  • Whisper
  • faster-whisper
  • stable-ts
  • FFmpeg
  • Demucs

Have an idea?

Let's talk.

What do you need?
Send via Telegram

We reply within an hour during working hours.

Message us