Optimize Headphone EQ
Most headphones have frequency response deviations that color the sound. SotF can automatically calculate parametric EQ filters that correct these deviations, targeting the Harman curve — a scientifically-derived preference target backed by decades of listening research.
What you need
Section titled “What you need”- SotF (Terminal or Desktop)
- Your headphone model name (or a custom measurement CSV)
Walkthrough
Section titled “Walkthrough”-
Open the Headphone EQ screen
Click the Headphone EQ tab in the sidebar, or press the corresponding shortcut key.
-
Search for your headphone model
Type your headphone name in the search field (e.g., “Beyerdynamic DT1990”). The database covers hundreds of popular models with real measurements.
-
Configure optimization parameters (optional)
The defaults work well for most headphones, but you can tune:
Parameter Default Description Number of filters 7 More filters = closer match, but diminishing returns above 10 Min/Max Q 0.5 / 10.0 Narrower Q range prevents ringing Min/Max dB -12 / 12 Limit maximum boost/cut Min frequency 20 Hz Lower bound for filter placement Max frequency 20000 Hz Upper bound for filter placement -
Run the optimization
Click Optimize. The algorithm (typically COBYLA or Differential Evolution) finds the best filter combination. Watch the loss value converge — lower is better.
-
Review results
The results screen shows:
- Before/after frequency response curves overlaid on the target
- Filter list with frequency, Q, and gain for each band
- Improvement score (how much closer to target)
-
Apply to your plugin chain
Click Apply. The EQ filters are loaded into a Parametric EQ plugin in your chain. The correction is applied in real-time.
-
Navigate to Configure > Headphone EQ
Use arrow keys to reach the Configure screen, then select Headphone EQ.
-
Search and select your headphone
Type to search, use arrow keys to select from the list.
-
Configure parameters and optimize
Adjust filter count and bounds if desired, then press Enter to start optimization.
-
Apply results
Review the filter list and press Enter/Apply to load the EQ into your plugin chain.
# Optimize for Beyerdynamic DT1990 Procargo run --bin autoeq --release -- \ --curve ./path/to/dt1990_measurement.csv \ --target ./data_tests/targets/harman-over-ear-2018.csv \ --loss headphone-score \ -n 7 \ --algo nlopt:cobylaThe CLI outputs the filter list to stdout. You can pipe it into a plugin chain config.
Custom measurements
Section titled “Custom measurements”If your headphone isn’t in the database, you can use your own measurement:
- Measure your headphone’s frequency response using a measurement rig (e.g., miniDSP EARS, Bruel & Kjaer)
- Export as CSV with columns:
frequency_hz, magnitude_db - In the Headphone EQ screen, click Load Custom and select your CSV
- Choose a target curve (Harman Over-Ear 2018, Harman In-Ear 2019, Diffuse Field, or custom)
- Run the optimization as normal