Report 04 / Native audio
SystemAUHost
Process system audio through Audio Unit effects without requiring BlackHole, Soundflower, Loopback, or a custom HAL driver.
- Status
- MVP
- Category
- Native audio
- Built with
- Swift / SwiftUI / Core Audio / AVAudioEngine / Audio Units / macOS Process Tap API
Blocker: Protected or DRM audio may not be capturable, and the MVP requires macOS 14.2 or later.
SystemAUHost is a standalone macOS menu-bar Audio Unit rack for processing system audio.
Its routing path is direct:
macOS process audio → native process tap → AU chain → selected real output
The MVP uses the native Core Audio Process Tap API, so it does not require BlackHole, Soundflower, Loopback, or a custom HAL driver. A dedicated AudioEngineController owns the AVAudioEngine and Audio Unit graph outside the SwiftUI interface.
The app lists Core Audio output devices, hosts effects and music effects in an ordered chain, and supports adding, removing, bypassing, reordering, and opening plugin interfaces. It also provides global dry bypass, panic restore, and sample-rate, buffer, and latency reporting. The selected output and plugin chain can be saved and restored.
SystemAUHost uses CATapMutedWhenTapped. Normal dry system audio should return when the app stops reading the tap or when the operator presses Panic.
The boundary is explicit: the MVP handles global stereo system and process audio, excludes itself to avoid feedback, and requires macOS 14.2 or later. Some protected or DRM audio may not be capturable. VST3 hosting and process-specific selection are not included in the current version.