Open-source project
bitgapp/eqMac avatar
bitgapp/eqMac

eqMac: a system-wide equalizer for macOS, and what the open repository contains

macOS System-wide Audio Equalizer & Volume Mixer 🎧

6,799 stars367 forksSwiftApache-2.0

At a glance

What is it?
eqMac is a macOS audio equalizer and volume mixer built on a user-space CoreAudio driver. The public repository is the free v1.3.2 codebase; newer releases ship from a private fork.
Who is it for?
Adopt eqMac if you want system-wide EQ and volume boosting on macOS and you accept that the public code is frozen at v1.3.2 while current builds come from a private fork. Do not adopt it expecting a buildable Pro version, an API, or anything for Windows or iPhone; the README lists those as roadmap items only.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 11 days ago.
What is it written in?
Mainly Swift, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The problem eqMac solves on macOS

macOS gives you per-device volume and little else. There is no system-wide equalizer, no volume boost past the hardware ceiling, and no way to set a different level for each application. eqMac exists to sit between the system audio output and your headphones or speakers and apply those adjustments to everything at once.

The README splits the feature list into Free and Pro. Free covers system audio processing, a volume booster, HDMI volume support, volume balance for all devices including HDMI, a basic bass/mids/treble control, a fixed 10-band advanced EQ, and AutoEQ integration at the advanced EQ level. Pro adds an unlimited-band expert EQ with selectable filter type, frequency, gain and bandwidth, a spectrum analyzer, AudioUnit hosting for third-party effects, spatial audio, and a per-application volume mixer.

The audience is macOS users with a specific complaint: headphones that need correction, a display or interface whose volume is too quiet, or apps that are loud next to everything else. It is not a library you embed. It is a desktop app with a driver.

How the driver, the app and the web UI fit together

The repository is a monorepo with three moving parts, and the README describes each one.

The driver lives under native/driver. It is a system audio loopback and passthrough device based on Apple's Null Audio Server Driver Plug-in example, and the README calls it one of the first examples of a macOS system capture driver written in Swift. It grabs the system audio stream and sends it to the app through a secure memory tunnel. Because it runs in user space rather than the kernel, the README contrasts it with earlier kernel drivers such as SoundFlower and argues the user-space approach is more secure and stable.

The app lives under native/app. It is the native backend responsible for audio processing, filesystem access, window management, the API and the general lifecycle of eqMac. It receives the captured stream, processes it, and sends it to the chosen output device.

The UI lives under ui. It is a web interface built with Angular and TypeScript, hosted remotely so the developer can push over-the-air updates and bug fixes, and cached for offline availability. That is an unusual split for a desktop utility, and it explains why the repository carries an Angular toolchain: the root package.json declares Angular 12.2 packages and an eslint script, with workspaces covering modules/*, api, site and ui.

The driver is the part that determines whether eqMac works at all on a given macOS release, because a CoreAudio plug-in depends on the audio server accepting it.

Installing eqMac and running a first equalization

The README does not give build or install steps for the repository. It points to https://eqmac.app as the homepage, and the README's user support section directs issues to the GitHub Issues page and to the Discord at discord.eqmac.app. So the practical install path is the published app from the website, not a build from source.

If you are working inside the repository instead, the only script declared in the root package.json is lint:

bash
npm run lint

That runs npx eslint over the workspace. It does not produce an app bundle, and no build script for the native side appears in the package.json shown here.

Once the app is installed and running, the workflow described by the feature list is: pick your output device, enable the equalizer, and adjust bands. The fixed 10-band advanced EQ is the free tier; the unlimited-band expert EQ with editable filter type, frequency, gain and bandwidth is Pro.

AutoEQ is the feature worth trying first if you have a known headphone model. The README describes it as automatic headphone equalization from frequency responses, integrated with the AutoEq project by jaakkopasanen, free at the advanced EQ level and Pro as part of the expert EQ. You select your headphone model and the correction curve is applied for you.

One configuration detail appears in the release notes rather than the README: v1.9.2 added capture method selection per output device. If audio is not being captured on a particular device, that setting is where to look.

The open repository is v1.3.2, and that is the central limitation

The README carries a notice that the code in the repository corresponds to v1.3.2 of eqMac without any Pro features, and that all newer releases are done on a private fork. The stated reason is that keeping the free parts open sourced required too much time to maintain and split off.

Read that carefully before you clone. The releases listed for the project run from v1.9.0 on 2026-09-11 through v1.9.1 on 2026-09-13 to v1.9.2 on 2026-09-19, and the last push to the repository was on 2026-09-19. So the repository is being touched, but the README says the shipping product is built elsewhere. Anyone hoping to read the current audio pipeline, or to build a Pro-equivalent binary, will not find it here.

The second limitation is platform. The README's roadmap includes input audio sources such as guitar and microphone, virtual output, hotkeys, a recorder, phone remote control, separate left/right channel EQ, a WebSocket API, and file playback and rendering. Those are listed as ideas, not shipped features. There is nothing in the README about Windows, iOS or Android builds.

The third is that a system capture driver is inherently fragile across macOS releases. The release notes for v1.9.1 mention Golden Gate compatibility and experimental AirPlay support, which tells you that OS updates and non-default output paths are recurring work rather than solved problems. AirPlay is explicitly labelled experimental.

eqMac compared with SoundSource

The most common comparison people search for is eqMac against SoundSource, and the difference is architectural rather than cosmetic.

eqMac installs its own CoreAudio driver, written in Swift and running in user space, to capture the system stream and route it back through the app's processing chain. That is why it can offer a volume booster and per-device balance on top of EQ, and why the driver is the component most exposed to macOS changes.

SoundSource, by Rogue Amoeba, is a commercial macOS audio utility in the same territory: per-application volume and audio device control. The README here does not describe SoundSource's internals, so the honest comparison is limited to what eqMac's README claims for itself: a free tier that includes system audio processing, a volume booster and a 10-band EQ, and a Pro tier that adds the per-application volume mixer, AudioUnit hosting and spatial audio.

If your requirement is a per-application mixer, note that eqMac puts it behind Pro. If your requirement is a headphone correction curve, eqMac's AutoEQ integration is the free path and is the feature with the least direct equivalent elsewhere.

Licence, maintenance and what an upgrade costs

The repository is Apache-2.0. The root package.json declares ISC for the monorepo, which is a mismatch worth knowing about if you plan to reuse code; the repository-level LICENSE file is the one that governs the project. Apache-2.0 permits commercial and private use and includes a patent grant, but it also carries notice and attribution obligations. That is a description of the licence text, not legal advice.

The practical upgrade cost is the split between the repository and the shipped app. The last push was on 2026-09-19, and the README says newer releases come from a private fork, so there is no public changelog for the audio pipeline beyond the release titles. If you patch the open code, you are patching a version that the shipped product has moved past.

On the app side, the UI is hosted remotely and cached for offline use. That means interface fixes can arrive without a full app update, but it also means the interface you see is not fully determined by the binary you installed. For a tool that runs a system audio driver, that is a design decision worth weighing rather than a neutral convenience.

Editorial conclusion

Adopt eqMac if you want system-wide EQ and volume boosting on macOS and you accept that the public code is frozen at v1.3.2 while current builds come from a private fork. Do not adopt it expecting a buildable Pro version, an API, or anything for Windows or iPhone; the README lists those as roadmap items only. Before installing, verify the macOS version compatibility of the build you download and check whether the feature you need is marked Free or Pro in the README's feature list.

Frequently asked questions

Is eqMac free?

It has a free tier and a Pro tier. The README lists system audio processing, the volume booster, HDMI volume support, volume balance, the basic bass/mids/treble control and the fixed 10-band advanced EQ as Free, while the expert EQ, spectrum analyzer, AudioUnit hosting, spatial audio and volume mixer are Pro.

What is eqMac?

It is a macOS system-wide audio equalizer and volume mixer. The README describes a native app that processes audio, a user-space CoreAudio driver that captures the system stream, and an Angular web UI hosted remotely for over-the-air updates.

How to install eqMac?

The README does not give install or build steps; it points to https://eqmac.app as the homepage, which is where the published app comes from. The only script in the root package.json is npm run lint, which does not build an app bundle.

Is eqMac safe to use?

The README states that the driver runs in user space rather than the kernel, unlike earlier drivers such as SoundFlower, and argues that this is more secure and stable. The repository is Apache-2.0 licensed, and the README says the public code corresponds to v1.3.2 without Pro features.

How to use eqMac?

Pick your output device, enable the equalizer and adjust bands. The free tier gives a fixed 10-band advanced EQ, and AutoEQ applies a correction curve from a headphone frequency response if your model is covered.

Official sources

  1. bitgapp/eqMac on GitHub
  2. License: Apache-2.0
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/bitgapp-eqmac.svg)](https://hysenlabs.com/projects/bitgapp-eqmac)