Skip to content

IsaiahDupree/EqualizerForMac

Repository files navigation

Sonance EQ

CI

A system-wide equalizer for macOS — high-precision, driverless, with a huge preset library. Every app's audio (Spotify, Safari, Zoom, games, system sounds) flows through a real-time parametric EQ before it reaches your speakers.

Not a browser extension. Unlike Safari-only equalizers, Sonance EQ sits between the macOS audio mixer and your output device, so it shapes everything you hear.

Sonance EQ — parametric editor with response curve, presets, per-app EQ, and Mid-Side

Status

M0 + M1 + M2 complete — a system-wide parametric EQ with an 8,850-headphone library, linear-phase & Mid-Side modes.

  • ✅ Driverless system-audio capture via Core Audio process taps (macOS 14.4+) — no kernel extension, no installer, no reboot.
  • ✅ Capture → DSP → re-inject loop (private aggregate device, real output as clock master, self-excluded to prevent feedback).
  • ✅ Real-time vDSP_biquadm EQ engine (up to 32 sections/channel) with a wait-free control→audio handoff and ramped coefficient updates — no zipper noise on live edits.
  • Parametric editor with a live response curve (drag bands for freq/gain, edit Q & type, add/remove up to 32 bands), preamp, bypass A/B, starter presets, live output-device rebuild.
  • 8,850 AutoEq headphone corrections bundled (searchable browser) + JSON import/export.
  • Linear-phase FIR mode (toggle) — same magnitude, zero phase distortion, ~21 ms latency; default off (minimum-phase IIR).
  • Mid-Side mode — EQ the mono center and the stereo width with independent curves.
  • 🔬 All DSP proven offline against the shipping sources: Tools/verify_{biquad,fir,midside}.swift, plus a 1,030-case test suite (Tests/, Swift Testing) + pre-commit hook + CI.
  • 🚧 M3 (mocked pre-Apple-registration): Pro paywall + feature gating with a mock RevenueCat store (real buy/restore/persist UX, no Apple), per-app EQ (target specific apps via a mixdown tap), AI-generated app icon, Developer-ID notarize/DMG script. Pending registration: real RC keys + App Store Connect product, notarization run, MAS build.

📖 Using the app: see the User Manual. For the roadmap see docs/BUILD-PLAN.md; for the fact-checked technical findings see docs/RESEARCH.md.

Build & run

Requires macOS 14.4+ and Xcode 16+ (developed on macOS 26 / Xcode 26). The Xcode project is generated from project.yml with XcodeGen.

brew install xcodegen          # one-time
xcodegen generate              # regenerate SonanceEQ.xcodeproj from project.yml
open SonanceEQ.xcodeproj        # then press ⌘R in Xcode

First run:

  1. Press Start EQ.
  2. macOS will ask for permission to capture audio — Allow it.
  3. Play audio in any app. Drag bands on the response curve, click Headphones to load a correction for your gear, or pick a preset. Toggle Bypass to A/B against the unprocessed sound.

See the User Manual for a full walkthrough, and the Release Runbook for the signed-DMG / App Store automation.

The project file (SonanceEQ.xcodeproj) is git-ignored — always regenerate it with xcodegen generate. Edit project.yml, never the .xcodeproj directly.

Architecture (one-liner)

all apps → [global process tap, muted-when-tapped] → private aggregate device
         → IOProc (copy → EQ biquad cascade → out) → real output device → speakers

License / IP

Original work, source-available but not open-source — see LICENSE. The compiled app is a commercial product (one-time purchase); the source is published for transparency. No code, assets, or branding copied from any other app. Bundled headphone corrections come from the MIT-licensed AutoEq project with attribution; full third-party credits are in THIRD-PARTY-NOTICES.md. See docs/RESEARCH.md §IP for the IP analysis.

About

Sonance EQ — a system-wide, driverless equalizer for macOS. Core Audio process taps + vDSP, 8,850 AutoEq headphone presets, parametric / linear-phase / Mid-Side, per-app EQ.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors