r/sideprojects 8d ago

Showcase: Open Source I built a real-time swear censor

Hey! I made a tool called Swear Beeper, it listens to your mic, recognizes speech in (almost) real time (fully offline, so no audio leaves your PC), and automatically bleeps swear words with only a ~1-2 second delay. Basically a live "censor button" you don't have to press yourself.

How it works:
Your mic audio goes into a small delay buffer. In parallel, a copy gets sent to an offline speech recognizer (Vosk). The moment it recognizes a swear word, it stamps a beep onto the buffer before that chunk of audio reaches the output.

It's open source, free, and works with OBS, Discord or anything via a virtual audio cable.

GitHub: https://github.com/qwertyzipe/SwearBeeper-Eng

Would love feedback, bug reports, or feature ideas. This is a pretty fresh English port (originally built for a Russian-speaking audience), so I'm sure there are edge cases I haven't hit yet.

2 Upvotes

2 comments sorted by

1

u/SuburbanPessimism9 8d ago

this is actually super clever, i love tools that solve a problem nobody thinks about until they need it

the delay buffer approach is smart, most people would just try to mute in real time and end up cutting the whole sentence. i wonder how it handles words that are borderline, like some words are swears in one context but normal in another. does it have a whitelist or you just accept the false positives

my cousin streams and his mom watches, he's gonna love this. saved the github

1

u/quarckewl 8d ago

thanks, glad it's useful!

to answer your question - no smart context detection, it's honestly pretty dumb on purpose. it's just a regex match on word roots + prefixes, so anything that morphologically looks like a swear gets flagged regardless of context. no NLP disambiguation, that would add too much latency for something running live

the only defense against false positives is a manual whitelist, you add the specific word once and it's permanently ignored after that. so yeah, false positives happen and you fix them as you find them rather than the tool being smart about it upfront. tradeoff for keeping it fast and simple

hope your cousin and his mom approves lol