jev-audio-beeper
Proof of concept that uses Jev to detect Spanish profanity in word-timestamped audio and beeps it out with ffmpeg without changing duration.
Overview
jev-audio-beeper is a TypeScript proof of concept for low-latency audio censorship. An ASR adapter supplies words with start and end times; each word is evaluated in its local context by Jev with two typed questions, a Boolean for whether it is an insult and a four-level Score for severity, run in parallel. Words above a threshold have their intervals padded and merged, and ffmpeg overlays a beep or mute without changing the audio duration, producing a censored WAV and a JSON audit report with each word's probability, score, confidence and the final beep intervals.
The checked-in demo uses a timestamp sidecar so the Jev and signal-processing path is reproducible without tying the POC to an ASR vendor, and an AsrProvider interface allows plugging in streaming ASR. It uses the official @ai-sdk/typesafe-ai provider with jev-latest. The default threshold of 0.72 is explicitly a starting point, not a calibrated value, and the README outlines how to move to live streaming with partial words every 100-250 ms. The AnotiaWang list reports about 466 ms to beep.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Is this word an insult in its local context? | true · false |
| Score | How severe is this word? | — |
How it works
- ASR provides words with timestamps
- Jev evaluates each word in context in parallel
- Threshold, pad and merge intervals
- ffmpeg overlays beeps
- Write censored WAV and JSON audit
Strengths
- Duration-preserving censorship
- Full per-word audit trail
- Vendor-neutral ASR seam
Caveats
- Private proof of concept
- Default threshold not calibrated
- Spanish profanity only in the demo
Getting started
With Node 22+ and ffmpeg: `npm install`, `export TYPESAFE_AI_API_KEY=...`, `npm run check && npm run demo`.At a glance
- Type
- Project
- Status
- prototype
- Language
- TypeScript
- Runtime
- Node CLI with ffmpeg
- Has code
- yes
Use cases and integrations
How curated lists describe it
Low-latency audio insult detector: Jev decides, ffmpeg beeps in ~466 ms without rewriting the rest of the track.
AnotiaWang/awesome-decision-modelsLow-latency audio censorship POC using Jev typed decisions and ffmpeg.
hellogumbo/awesome-jev
Frequently asked questions
What does Jev decide?
Whether each spoken word is an insult in context, and how severe it is.
Does the audio length change?
No, words are beeped or muted in place.
Is the 0.72 threshold tuned?
No, the README calls it a POC starting point to be calibrated on labelled audio.
Related projects
Chrome extension that uses your Jev key to hide high-confidence sexual and solicitation replies on X behind reversible placeholders.
Browser extensionproductionTypeScriptOne-file Mastra input processor that asks Jev whether a message must be blocked, failing open behind a deadline and circuit breaker.
ProjectproductionTypeScriptChrome and Firefox extension that hides AI-written posts on X, LinkedIn, Reddit and YouTube by asking Jev 30 narrow style questions.
Browser extensionproductionJavaScriptText-only pseudonymous Spanish forum where Jev approves clearly clean posts and everything else goes to Claude, then humans.
ProjectproductionJavaScriptNode.js profanity and toxicity screener using Jev to catch leetspeak, spacing and romanised profanity in Indic and other languages.
ProjectbetaTypeScriptDiscord bot where Jev flags spam and scam links in real time, drives an escalating timeout ladder and profiles members.
ProjectbetaPython