- Ranked priority lists with drag-to-reorder
- Offline persistence across restarts
- Volume and mute control from the menu bar
- Guard toggle to lock or unlock at any time
- Launch at login with zero Dock footprint
- CoreAudio event-driven: ~20MB RAM, 0% idle CPU
- Privacy-first: no network, no mic permission, local storage only
SoundLock
Your audio. Your rules. Always.
A macOS menu bar app that locks your audio device priority so the right output and input are always selected.
Free · MIT license · macOS 13+
macOS constantly reassigns your default audio device on its own logic — plug in a monitor, connect AirPods, join a call, and suddenly the wrong speaker or mic is active. SoundLock ends that.
You rank your output and input devices once. SoundLock listens to CoreAudio device events and instantly restores your top available device whenever macOS tries to switch. Event-driven, no polling, ~20MB RAM and 0% idle CPU.
Menu bar popover: ranked devices, volume, mute, and guard toggle.
SoundLock reads zero audio bytes, never requests microphone permission, ships no network code, and stores preferences locally via UserDefaults. No telemetry, no analytics.
1. Download & unzip
Download SoundLock.app.zip, unzip it, and drag SoundLock.app into your Applications folder.
2. First launch (Gatekeeper)
The app is unsigned. Right-click it and choose Open twice, or clear the quarantine flag from Terminal:
xattr -dr com.apple.quarantine /Applications/SoundLock.app
Build from source
Requires macOS 13+ and Xcode Command Line Tools. Clone the repo and run:
git clone https://github.com/lucasmancan/SoundLock.git
cd SoundLock
bash build.sh