[READ-ONLY] Mirror of https://github.com/AilaScott/Earware. Basically a VST implementation of AutoEQ for headphone correction. Earware uses linear-phase FIR EQ to correct for phase issues created by standard EQs aila.dance
autoeq autoeq-app headphone-correction juce linux-audio vst-plugins vst3 vst3-plugin
C++ 40%
JavaScript 25%
HTML 17%
Python 12%
CMake 6%

README.md

Earware #

Earware is a preset-based corrective EQ that flattens your headphones toward an uncolored target using linear-phase FIR convolution. It was born out of frustration with bad gain staging and invasive DRM software in big-box corrective plugins, as well as my fatigue from manually inputting EQ values in every DAW I use on every system I use.

Throw it on your master and pick your cans from a searchable library of 6033 Headphone Models! (6034 list entries including "No Model Selected"). No correction is applied until you choose your headphones.

EQ data is sourced from AutoEq's recommended results — the highest-accuracy correction measurement available for each headphone. Earware uses linear-phase FIR convolution so all frequencies are delayed equally — no phase distortion. The tradeoff is ~23 ms of latency. A preamp matching the correction gain keeps your listening volume consistent, and bypass lets you A/B against the uncorrected signal.

Earware plugin screenshot

This project was built with some amazing open-source software, most notably Noizefield's awesome audio-plugin-coder repository, an extensive skillset and context management system for building JUCE plugins. It was utilized in combination with OpenCode and DeepSeek's highly efficient v4 flash model.

I need help!!!! The macOS build is new and not yet field-tested, and the macOS AU is currently broken (fix in progress). Similarly, no DAWS have been tested extensively besides Reaper on any platform. Please try it in your DAW and open an issue, including which DAW/OS you're using.

For Musicians and Engineers! #

Download the build for your platform from the Releases page:

Platform Formats Files
Linux x64 VST3 Earware_Linux_x64_VST3.zip
Windows x64 VST3 Earware_Windows_x64_VST3.zip
macOS (Universal) VST3, AU Earware_macOS_Universal_VST3.zip, Earware_macOS_Universal_AU.zip

To install, unzip and copy the plugin folder into your audio plugin directory:

  • VST3 — ~/.vst3/ (Linux), C:\Program Files\Common Files\VST3\ (Windows), ~/Library/Audio/Plug-Ins/VST3/ (macOS)
  • AU (macOS) — /Library/Audio/Plug-Ins/Components/

Copy the whole Earware.vst3 folder (not just the file inside it). If the plugin does not appear in your DAW afterwards, rescan your plugin list and restart the DAW. Windows builds need no additional runtime: the MSVC runtime is linked statically, so no VC++ Redistributable install is required.

See the user manual for full usage.

For Devs #

Building from source requires CMake ≥ 3.22, a C++20 compiler, and the JUCE 8.0.12 git submodule (a vendored Linux WebView UTF-8 fix is applied at configure time by the root CMakeLists.txt via in-place source edit — reference copy in patches/). Platform tooling: WebKitGTK/GTK3/Jack/ALSA on Linux, Visual Studio 2022 + the WebView2 SDK (resolved via NuGet) on Windows, and the system WKWebView on macOS.

git clone https://github.com/AilaScott/Earware.git
cd Earware
git submodule update --init --recursive
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release

Targets: Earware_VST3 (all platforms), Earware_AU (macOS), earware_rendertest (Linux only — render test suite: magnitude accuracy, output level match, DC gain, IR symmetry, group delay, phase linearity, latency).

Two source files are generated and committed — do not hand-edit either: Source/ParametricEQData.{h,cpp} holds the EQ data and model names (regenerate with python3 plugins/Earware/generate_data.py, which needs a local AutoEq checkout), and Source/ui/public/js/models.js holds the same model names for the UI (regenerate with python3 plugins/Earware/generate_models_js.py, which reads the committed C++ table and needs nothing else).

Details: Windows build notes and build/CI reference.

License #

GPL-3.0. Uses JUCE (GPL-3.0) and headphone data from jaakkopasanen/AutoEq's recommended results.