About this project

eqMac is a macOS application for system-wide audio equalization and volume mixing. The repository README notes that the code here corresponds to version 1.3.2 without Pro features, and that newer releases are developed on a private fork; maintaining an open-source split of the free parts required too much effort. Features listed as current include free system audio processing, a volume booster, HDMI volume support, and volume balance for all devices including HDMI. Equalization options range from a basic bass/mids/treble control and a fixed 10-band advanced EQ to a Pro expert EQ with unlimited customizable bands (filter type, frequency, gain, bandwidth). A Pro spectrum analyzer is also listed. AutoEQ integration provides automatic headphone equalization from frequency responses, available for the advanced EQ for free and as part of the Pro expert EQ. Pro features further include AudioUnit hosting for third-party effects in the audio pipeline, spatial audio simulation of listening environments, and a per-application volume mixer. The UI can be customized with color changes (Pro) and feature visibility (free), with arrangement customization mentioned as coming soon. The roadmap describes the goal of becoming an ultimate audio toolbox for macOS, listing ideas such as input audio source effects for devices like guitar or microphone, virtual output, hotkeys, a recorder, phone remote control, separate left/right channel EQ, a WebSocket API, and file playback and rendering. User support is handled through GitHub Issues and a Discord community, with Pro customers offered support via a website contact form. Technically, eqMac consists of a native app backend responsible for audio processing, filesystem access, window management, API and lifecycle; a web-based UI built with Angular and TypeScript that is hosted remotely for over-the-air updates and cached for offline use; and a system audio loopback/passthrough driver based on Apple's Null Audio Server Driver Plug-in example. The driver is written in Swift and runs in user space rather than the kernel, which the README describes as more secure and stable than earlier kernel-based drivers such as SoundFlower. It captures the system audio stream and sends it to the app through a secure memory tunnel for processing and output to the appropriate audio device.