macOS doesn't ship with one. So I built it. Native Swift, Core Audio Taps, dual real-time spectrum analyzer. No virtual driver. No Electron. No paywall.
"macOS doesn't have a system-wide parametric EQ.Built at 04:57 in Bavaria · Listening to Opera by Ballarak
So I built one in a day."
Other system EQs install a virtual audio device — a kernel-adjacent shim that hijacks your output. iQualize doesn't. It uses CATap, Apple's native system audio tap introduced in macOS 14.
Install a kernel extension or audio driver. You don't notice it — until you do.
Apple's own system audio tap, used the way Apple intended.
Lives in your menu bar. No system extensions, no audio device changes. Launch it and it's running. Quit it and it's gone without a trace.
Drag band nodes across the frequency response. Add up to 31 parametric bands anywhere from 20 Hz to 20 kHz. The spectrum shows you what's happening, pre and post.
Spotify, YouTube, Final Cut, system sounds — everything through the same curve via Core Audio Taps. One EQ for your entire Mac.
Per-band frequency, gain, and bandwidth — accurate biquad response curves rendered from Audio EQ Cookbook formulas. Q or Octave display, your call.
2048-point Hann-windowed FFT via Accelerate vDSP, log-frequency binned, 60 fps double-buffered. Watch what you're doing.
12 ship presets. Edit one and it forks — never overwrites the original. Export/import as plain JSON .iqpreset files.
AUPeakLimiter on the output stage prevents clipping at 0 dBFS. Boost without fear.
+ buttons either side of the EQ. Right-click for "Add Suggested Band" — finds the largest frequency gap and drops one in. Drag to reorder.
Ring buffer between the real-time IOProc and AVAudioEngine. Parameter writes are atomic. Slider drags coalesce into single undo entries.
Per-channel gain in the render callback. Snap-to-center. Linked or independent channel processing — your choice.
Audio flows through a ring buffer that decouples the real-time IOProc callback from AVAudioEngine's pull model. No locks on the audio thread. No glitches on slider drags.
Apps render audio. The OS muxes it. CATap reads the post-mix bus and hands the stream to iQualize, where it's processed in-process — pre-EQ gain, parametric EQ, output gain, peak limiter — before being written back to your output device.
Sample rate is detected per device and converted internally, so it just works whether you're on a 48 kHz USB DAC or 44.1 kHz AirPods.
Grab the latest release, open the disk image, drag iQualize into Applications. That's it.
Releases on GitHubSwift Package Manager. No Xcode project. One script.
Requirements: macOS 14.2+ · Screen & System Audio Recording permission · Apple Silicon or Intel.