fillerbuster
v0.0.1
Published
Remove filler words from videos and podcasts using AI.
Downloads
13
Readme
fillerbuster
Remove filler words from videos and podcasts using AI.
Takes a YouTube URL or local file, transcribes it with whisper.cpp, identifies filler words with Claude, and produces a cleaned version with fillers surgically removed.
How it works
- Transcribe — whisper.cpp generates word-level timestamps
- Detect fillers — deterministic rules catch obvious fillers ("um", "uh", "you know"), then Claude analyzes context-dependent ones ("like", "so", "actually", "right")
- Refine boundaries — waveform energy analysis finds precise speech onset/offset for each filler, snapping cuts to zero crossings
- Remove — PCM-level crossfade splicing with comfort noise fills gaps naturally
Detection rate: ~95% on tested content, with zero clipped words.
Prerequisites
macOS with Homebrew installed. Then:
# JavaScript runtime
curl -fsSL https://bun.sh/install | bash
# Speech-to-text engine (local, runs on CPU)
brew install whisper-cpp
# Audio/video processing
brew install ffmpeg
# YouTube downloader (only needed for YouTube URLs)
brew install yt-dlp
# Claude Code — requires a Claude Pro or Max subscription
curl -fsSL https://claude.ai/install.sh | bashInstall
bunx fillerbusterBuild from source
git clone <this-repo> && cd fillerbuster
bun install
bun run buildUsage
# YouTube video
fillerbuster "https://youtube.com/watch?v=..."
# Local file
fillerbuster interview.mp4
# Audio-only output (faster, no video re-encoding)
fillerbuster podcast.mp4 --audio-only
# Preview what would be removed
fillerbuster talk.mp4 --dry-run
# Quality audit — process first 3 minutes, then check for residuals
fillerbuster talk.mp4 --audit 3Options
-o, --output <path> Output file path (default: iCloud Drive/fillerbuster/)
-m, --model <size> Whisper model: tiny.en, base.en, small.en, medium.en,
large-v3, large-v3-turbo (default: small.en)
--dry-run Show what would be removed without re-encoding
--verbose Show detailed progress
--padding <ms> Extra padding around cuts in ms (default: 0)
--workers <n> Parallel Claude workers (default: 5)
--audio-only Export audio only as M4A (much faster)
--fast Stream copy mode (fastest, cuts at keyframes)
--no-silence Hard concat instead of inserting silence at cuts
--audit [N] Two-pass quality test on first N minutes (default: 5)
--clean Ignore cached results and start freshWhat gets removed
Always removed (deterministic, no AI needed): um, uh, erm, ah, hmm, you know, y'know
Removed when used as filler (Claude decides based on context): like, so, actually, basically, literally, right, well, yeah, I mean, sort of, kind of
Stammers — repeated words and false starts are also detected and removed.
Caching
All intermediate files are cached in ~/.cache/fillerbuster/jobs/. Re-running the same input skips completed steps. Use --clean to start fresh.
Output
By default, cleaned files are saved to iCloud Drive (~/Library/Mobile Documents/com~apple~CloudDocs/fillerbuster/). After saving, an interactive prompt suggests a clean filename using Claude — you can accept, give feedback to revise it, type your own name, or skip.
Use -o to write to a specific path instead.
