AutoEq README

The project's README from github.com/jaakkopasanen/AutoEq. As one markdown file: README.md.

AutoEq

AutoEq is a tool for automatically equalizing headphones.

Go to autoeq.app to get started.

This Github repository now mainly serves developers. The contributions of this project are:

Sennheiser HD 800

Sennheiser HD 800 equalization results plotted

Updates

2023-10-29 AutoEq version 4.0.0. Improved and unified naming conventions across the project. Cleaned up obsolete files and reorganized directory structure. Completely reworked database management tools.

2022-05-14 Web application. Reorganized measurements and results.

2022-10-30 Restructured the project and published in PyPi. Source code moved under autoeq directory and command line usage changed from python autoeq.py to python -m autoeq with underscores _ replaced with hyphens - in the parameter names.

2022-09-18 Parametric eq optimizer reworked. The new optimizer supports shelf filters, has a powerful configuration system, run 10x faster, has limits for Fc, Q and gain value ranges and treats +10 kHz range as average value instead of trying to fix it precisely.

Usage

AutoEq produces settings for basically all types of equalizer apps but does not do the equalization itself. You'll need a different app for that. Go to autoeq.app and select your equalizer app of choice. Quick instructions for importing the produced settings will be shown there.

Command Line Use

In addition to the web application, AutoEq can be used from command line (terminal). This is advanced use mainly intended for developers. The following instructions apply for command line and Python interface use.

Installing

sudo apt install python3-dev python3-pip python3-venv
git clone https://github.com/jaakkopasanen/AutoEq.git
cd AutoEq
python -m venv venv
# On Windows
venv\Scripts\activate.bat
# On Linux and Mac
. venv/bin/activate
python -m pip install -U pip
python -m pip install -U -e .
python -m autoeq --help
python -m autoeq --input-file="measurements/oratory1990/data/over-ear/Sennheiser HD 800.csv" --output-dir="my_results" --target="targets/harman_over-ear_2018_wo_bass.csv" --max-gain=24 --parametric-eq --parametric-eq-config=4_PEAKING_WITH_LOW_SHELF,4_PEAKING_WITH_HIGH_SHELF --bass-boost=6 --convolution-eq --fs=48000 --bit-depth=32 --f-res=16

When coming back at a later time you'll only need to activate virtual environment again

# On Windows
cd AutoEq
venv\Scripts\activate.bat
# On Linux and Mac
cd AutoEq
. venv/bin/activate

To learn more about virtual environments, read Python' venv documentation.

Updating

AutoEq is in active development and gets new measurements, results and features all the time. You can get the latest version from git

git pull

Dependencies may change from time to time, you can update to the latest with

python -m pip install -U -e .

Checking Installation

This prints out CLI parameters if installation was successful.

python -m autoeq --help

Example

Equalizing Sennheiser HD 650 and saving results to my_results/:

python -m autoeq --input-file="measurements/oratory1990/data/over-ear/Sennheiser HD 650.csv" --output-dir="my_results" --target="targets/harman_over-ear_2018.csv" --convolution-eq --parametric-eq --ten-band-eq --fs=44100,48000

Building

Add changelog entry before building and update version number in pyproject.toml!

Install build and twine

python -m pip install build twine

Add updates to autoeq/README.md before building!

Build PyPi package on Windows

copy /y README.md README.md.bak && copy /y autoeq\README.md README.md && python -m build && copy /y README.md.bak README.md && del README.md.bak

Build PyPi package on Linux / MacOS

cp README.md README.md.bak && cp autoeq/README.md README.md && python -m build && cp README.md.bak README.md && rm README.md.bak

publish

python -m twine upload dist/autoeq-<VERSION>*

Remember to add Git tag!

Contact

Issues are the way to go if you are experiencing problems or have ideas or feature requests. Issues are not the correct channel for headphone requests because this project sources the measurements from other databases and a headphone missing from AutoEq means it has not been measured by any of the supported sources.

You can find me in Reddit, Audio Science Review and Head-fi if you just want to say hello.

AutoEq (jaakkopasanen/AutoEq)

pypi
Searching Database…

16.3K ·GitHub
What is this?AutoEq automatically generates headphone equalizer settings based on real frequency response measurements, so you can correct your headphones toward a target sound curve.
Is this a web app, a library, or something else?It is actually three things in one project: a no-install web app at autoeq.app, a Python library and PyPI package for working with frequency responses, and a dataset of headphone measurements and targets.
How do I actually get EQ settings for my headphones?Most users should just go to autoeq.app, pick their headphone and target, and get ready-made settings for their EQ app of choice; the command-line interface (python -m autoeq) is for developers who want to run the optimizer themselves.
What do I need installed to run the command-line version?You need Git and a 64-bit Python 3 added to PATH; on Linux you may also need Python dev packages and pip, on Windows the Microsoft Visual C++ Redistributable, and sometimes libsndfile if soundfile gives you trouble.
Does AutoEq actually apply the equalization for me?No, it only calculates the EQ settings — you still need a separate equalizer app to apply them, and autoeq.app will point you to a compatible one.
Why does this GitHub repo mainly serve developers now?Regular users are pointed to autoeq.app for ready-made results, while this repo hosts the Python library, PyPI package, raw measurement data, and CLI tools used to build those results.
What if my headphone model is missing from the dataset?It simply hasn't been measured by any of the supported sources yet; the project can't fulfill headphone requests through GitHub issues since it only sources existing measurement databases.
Can I just use the pre-computed results folder instead of the web app?Technically yes, but the README advises against it since autoeq.app already provides an easier and more up-to-date way to get the same settings.
What changed in the big 2022 restructuring?The project moved its source code under an 'autoeq' directory, published to PyPI, switched CLI usage to 'python -m autoeq', and reworked the parametric EQ optimizer to run about 10x faster with shelf filter support.
Size
4.2 GB
Stars
16.3K
Updated
CommitJul 20
Age
8y
Commits · 90 Days