Audio Tool · Web Audio API · Operate Surface · 2026 · Solo — Web Audio API DSP, silence-detection algorithm, ID3v2 binary encoder, waveform visualization, Operate surface design, TDD (32 tests), Vercel production deployment
Pod Chapter
Browser-local podcast chapter detector: RMS energy windowing, EMA smoothing, adaptive 30th-percentile silence threshold, chapter boundary extraction, and ID3v2.3 CHAP frame binary encoding — all implemented from scratch in TypeScript without any audio or ID3 library dependency.
The problem
Adding chapter marks to a podcast MP3 requires either paying for desktop software (Hindenburg, Descript) or hand-authoring JSON timestamps. No browser-local tool runs actual audio signal processing to detect natural chapter breaks and write them into the MP3 binary as standard ID3v2 CHAP frames. Pod Chapter fills that gap: real PCM analysis, not a remote API call.
Architecture
Key decisions
Adaptive threshold
30th percentile of RMS values per file instead of a fixed dB floor — handles whisper podcasts and loud interviews without config.
EMA smoothing first
Exponential moving average (α=0.05) before thresholding suppresses transient noise spikes without requiring a bandpass filter implementation.
Boundary at gap midpoint
Chapter boundary placed at gap midpoint (not gap start) so neither chapter loses audio content at its boundary edge.
ID3v2.3 over v2.4
ID3v2.3 chosen for broadest podcast app compatibility (Apple Podcasts, Overcast, Pocket Casts) — v2.4 uses syncsafe sizes in CHAP which many parsers mishandle.
Zero library dependency
All binary encoding written from scratch for hiring signal and to avoid AGPL/GPL library contamination from the VoiceStudio-adjacent audio tooling space.