/eqMac

macOS System-wide Audio Equalizer & Volume Mixer 🎧

Primary LanguageSwiftApache License 2.0Apache-2.0

discord chat

Notice: Currently the code in this repository corresponds to v1.3.2 of eqMac without any Pro Features and all the newer releases are done on a private fork. Having the Free parts of the app open sourced required too much time to maintain and split off.

Features

Current

  • Free System Audio Processing
  • Free Volume Booster
  • Free HDMI Volume Support
  • Free Volume Balance support for all devices (including HDMI)
  • Free Basic EQ - Bass, Mids, Treble control
  • Free Advanced EQ - Fixed 10 bands
  • Pro Expert EQ - Unlimited bands, fully customizable (Filter Type, Frequency, Gain, Bandwidth)
  • Pro Spectrum analyzer
  • Free/Pro AutoEQ Integration - Automatic Headphone Equalization from frequency responses. Free for Advanced EQ and Pro as part of the Expert EQ
  • Pro AudioUnit (AU) Hosting - add 3rd party effects to the Audio Pipeline
  • Pro Spatial Audio - simulate different listening environments like Concert Halls or Different sized Rooms.
  • Pro Volume Mixer - Apply different volume levels per each application
  • Custom UI - Fully customize the look and feel of eqMac by changing the User Interface Colors (Pro), Feature visibility (Free) and arrangement (Soon).

Roadmap

Idea is to become the ultimate Audio toolbox for macOS

  • Input Audio Source - Apply effects to any device: guitar, microphone etc.
  • Virtual Output - Export the Adjusted audio to any application
  • Hotkeys - Control eqMac with Keyboard Shortcuts
  • Recorder - save any audio playback (System, Input device, File)
  • Remote control from your phone
  • Separate L/R Channel EQ - Fix hearing impairements
  • API - Control all aspects of eqMac through a WebSocket API. Works with any programming language that supports WebSockets.
  • File playback and rendering - Apply effects to audio files and instantly render them
  • and more...

Vote on the Features you want to see sooner

User support

If you are a Pro customer I provide Customer Support through the Contact form on the website :) This project is heavily reliant on the whole community helping each other out. If you have an issue with eqMac please go through Issues to see if it's already being discussed, if not create a new one. Also you can join our Discord, I'm there all the time and I like to chat with people.

Technology

eqMac was built using these technologies:

  • App - Native backend to the whole app. Responsible for audio processing, filesystem access, window management, API and general lifecycle of eqMac.
  • UI - Web based user interface that is hosted remotely and thus allows for Over the Air (OTA) updates & bug fixes. Built with Angular + TypeScript and is cached for offline availability.
  • Driver - System Audio loopback/passthrough device based on Apple's Null Audio Server Driver Plug-in example. One of the first Examples of a macOS System Capture drivers written in Swift. The driver grabs the system audio stream and sends it to the app through a secure memory tunnel. eqMac can grab this stream, process it and send to the appropriate audio device. The driver runs in User space instead of Kernel like the previous drivers (i.e SoundFlower), which means it's much more secure and stable.

Credits

@nodeful - Creator and Developer of eqMac

@titanicbobo - For the Big Sur icon design

Max Heim - For his research and work on creating the first Swift based Audio Server Plug-in Driver - Pancake