Problem
The macOS virtual-mic options were paid, abandoned, or shipped as kernel extensions that broke on every OS update. I wanted a low-latency virtual input device with a noise gate — and a clean install and update path that didn’t fight the system.
Approach
A small Swift daemon that builds a CoreAudio aggregate device and runs an
AVAudioEngine processing chain with a custom noise-gate AUAudioUnit. No
kext, no signed-installer dialog, no preference pane. It runs under launchd
and installs as a Homebrew cask, so updates land via brew upgrade.
Stack
Swift with AVAudioEngine and CoreAudio for the audio path and a custom AUAudioUnit for the gate; launchd for lifecycle; a Homebrew cask (depends on BlackHole) with GitHub Actions building releases on every tag.
What shipped
Open-sourced and installable via Homebrew — scaffold through public release: config loading with validation, the noise-gate DSP unit, CoreAudio device enumeration, a CLI with signal handling, and the cask pipeline.
What’s next
A small companion menu-bar app for level monitoring. Optional — the daemon is the product, the UI is convenience.