EQ Settings for 700+ Headphones
Jun 25, 2019 at 2:14 PM Post #16 of 165
The addition of fixed band EQ has been great for android. Can finally get my WI-1000x to sound decent on my s10 with system audio/youtube etc. Thanks!

I'm delighted to hear this.
 
Jun 25, 2019 at 5:58 PM Post #18 of 165
also can it work with foobar ?
The easiest way to apply these settings in foobar2000 is through the Convolver plugin. Find your headphone's results from the project, download the minimum phase 44.1K or 48K WAV file (depending on your music source), then configure Convolver to use the WAV as impulse file.
Another way is to use a parametric EQ plugin. The only one I was able to make work is EasyQ, which requires the VST adapter plugin to be installed first. EasyQ takes presets in XML format, which can be easily converted from the parametric EQ txt file this project offers. The only catch is that the project gives Q, while EasyQ needs bandwidth for each frequency band. Simply use the reciprocal of Q in the place of bandwidth, you are good to go.

And, big thanks to OP for such a great project.
 
Aug 29, 2019 at 5:23 PM Post #19 of 165
I started looking into headphones about a year ago and got pretty soon excited about possibilities of using equalizer to improve headphones. Then I got very disappointed of the lack of existing headphone eq settings. Disappointment turned into resolution and this was my reaction.

Now I'm exited to present to you equalization settings for over 700 headphones: https://github.com/jaakkopasanen/AutoEq. This includes all on-ear headphone measurements from Innerfidelity and Headphone.com with 4 different target curves. Combined with EqualizerAPO this is essentially a free alternative to Sonarworks True-Fi with almost 5 times as many headphone models. Full details on how to use the eq settings and what else you can do with this can be found in the Github page.

This is not supposed to be the be-all and end-all of headphone equalization. Especially the target curve is a tricky thing to nail down because Innerfidelity and Headphone.com measurements are not directly comparable with the measurement system used by Sean Olive and others for their Harman target response research. I would love to hear feedback from you fellow headphone enthusiasts. Do you think this makes your headphones sound better and what kind of problems do you have with these eq settings?

I hope this makes equalization a bit more approachable for people who feel intimidated by it. Also keep in mind that you are allowed to tune the eq for example with HeSuVi to make it more to your liking.

Thanks for this, incredible work. I was wondering if it would be possible for you to use your data to produce a ranking table of all the headphones in your full results Index directory? With an option to sort the headphones by average error from their target curve, both before and after equalization? (Possibly also with an option to weight the error across the frequency range according to the equal loudness contour, in order to better represent the subjective perceived difference to the target response.)

I think this would be incredibly valuable for prospective headphone buyers, and would give your AutoEQ tool a big boost in popularity and exposure to the headphone community.
 
Sep 5, 2019 at 3:31 AM Post #20 of 165
Thanks for this, incredible work. I was wondering if it would be possible for you to use your data to produce a ranking table of all the headphones in your full results Index directory? With an option to sort the headphones by average error from their target curve, both before and after equalization? (Possibly also with an option to weight the error across the frequency range according to the equal loudness contour, in order to better represent the subjective perceived difference to the target response.)

I think this would be incredibly valuable for prospective headphone buyers, and would give your AutoEQ tool a big boost in popularity and exposure to the headphone community.

It would be possible but doesn't necessarily make as much sense as one might hope. I actually had this at one point but removed it because thought it wasn't very useful. If I would implement it again I would use the preference scoring system by Sean Olive instead of simple average error because it represents our perception a lot better.

There is one big problem however and that's the incompatibility of measurement systems. The ranking would only really make sense for oratory1990's and crinacle's measurments. Other measurement systems are not compatible with Olive's research and do not represent human hearing accurately enough. One could argue that the same applies for equalization but the equalization settings produced from measurements made with other systems are the best guesses into right direction, sort of attempts to be at least better than nothing. It wouldn't be apples to apples comparison to rank measurements from multiple different measurement systems even if the equalization settings work independently.

I might implement this at some point for oratory1990's and Crinacle's measurements. Different sorting options is not going to be possible unfortunately because it's very limited what one can do with Github Markdown documents. Basically it would be a table sorted by the Harman preference score before equalization.
 
Jan 19, 2020 at 9:10 AM Post #21 of 165
I moved completely to Harman 2019 in-ear target. All the pre-computed results for Crinacle and oratory1990 use that only and the old Harman 2017 in-ear and Usound target results are no more.

Here are comparison graphs for the different targets: https://i.imgur.com/Lg4tiSp.png
 
Mar 8, 2020 at 6:51 AM Post #22 of 165
Congrats for this amazing project. I wanted to ask if it's possible to not use a compensation target and simply equalize to a target headphone signature as is. I would be loading the resulting EQ in APO so I don't need fixed bands (Graphic EQ filter in variable mode). Would this command be correct?

Code:
SET       input_dir=oratory1990\data\onear\Hifiman Sundara
SET      output_dir=my_results\Hifiman Sundara (Fostex TH610)
SET    compensation=
SET sound_signature=results\innerfidelity\sbaf-serious\Fostex TH610\Fostex TH610.csv

python frequency_response.py --input_dir="%input_dir%" --output_dir="%output_dir%" --sound_signature="%sound_signature%" --equalize --bass_boost=4 --max_gain=8

If I wanted to flatten the curve to 0dB (to turn it into a monitor) would it be enough to remove --bass_boost and change the sound_signature to the zero.csv target?

----------------------------------------

I had also some questions regarding the oratory1990 measurements, he stated to only do one measurement per pair, versus 10 from sonarworks or 5 from rtings (IIRC). Why are oratory1990 measurements preferred over the others? There's also the fact that very few measurement rigs can correctly measure frequencies above 8Khz. Wouldn't then those from innerfidelity or with more expensive gear be preferable?
 
Last edited:
Mar 8, 2020 at 7:25 AM Post #23 of 165
Congrats for this amazing project. I wanted to ask if it's possible to not use a compensation target and simply equalize to a target headphone signature as is. I would be loading the resulting EQ in APO so I don't need fixed bands (Graphic EQ filter in variable mode). Would this command be correct?

Code:
SET       input_dir=oratory1990\data\onear\Hifiman Sundara
SET      output_dir=my_results\Hifiman Sundara (Fostex TH610)
SET    compensation=
SET sound_signature=results\innerfidelity\sbaf-serious\Fostex TH610\Fostex TH610.csv

python frequency_response.py --input_dir="%input_dir%" --output_dir="%output_dir%" --sound_signature="%sound_signature%" --equalize --bass_boost=4 --max_gain=8

If I wanted to flatten the curve to 0dB (to turn it into a monitor) would it be enough to remove --bass_boost and change the sound_signature to the zero.csv target?

----------------------------------------

I had also some questions regarding the oratory1990 measurements, he stated to only do one measurement per pair, versus 10 from sonarworks or 5 from rtings (IIRC). Why are oratory1990 measurements preferred over the others? There's also the fact that very few measurement rigs can correctly measure frequencies above 8Khz. Wouldn't then those from innerfidelity or with more expensive gear be preferable?
What you're doing with the
Code:
--sound_signature
looks right but you need to use compensation. Since your input is measured by oratory1990, you should use the Harman 2018 over-ear target without bass. Add bass boost of 4 dB when using pre-computed results with sound signature because all of the pre-computed results have bass boost in them. The sound signature takes the error curve from the result CSV file and modifies the compensation curve with that.

You practically never want to flatten the frequency response using zero.csv as the compensation curve. All the measurements include the frequency response changes introduced by the ear itself so the target curve needs to include these as well. The only exception is Reference Audio Analyzer because those measurements are already compensated and therefor use zero compensation curve.

oratory1990 measures each headphone in 5 different positions but mostly it's still just one unit. None of the measurement databases in AutoEQ have consistently more than one unit measured per headphone model. Sometimes there are couple of units measured but not for majority of headphones. Sonarworks do measure multiple units consistently but I don't have their measurements in AutoEQ.

oratory1990 measurements are favored over all others because he has the best measurement rig and doing that as his daily job he knows how to get it right. Innerfidelity and Rtings use older rigs which are considered outdated nowadays. They may have been the state of the art a long time ago but today what oratory1990 uses is the industry standard measurement system and portrays the acoustical imbedance of human hearing system accurately.
 
Mar 8, 2020 at 8:51 AM Post #24 of 165
If I got it right, the compensation is only to "subtract" to the input measurement, and hence I get the clean unaltered sound signature of the Fostex. That's fine. So as an example, if I wanted the sound signature of the Harman 2018 curve should I choose harman_over-ear_2018_wo_bass.csv as compensation and for sound_signature compensation\harman_over-ear_2018.csv -no-bass-boost-?

For a flat frequency response (monitor like) if I can't use zero.csv as sound_signature is there a way to do it with AutoEQ? For now I was simply loading the csv in APO and inverting the measurements to cancel the freq response, but I doubt it could be that simple. Edit: Yes, I think I got it right, just read your V-shape example in docs.

Sorry if it sounds confusing but I'm trying to wrap my head on what does what.
 
Last edited:
Mar 8, 2020 at 10:41 AM Post #25 of 165
What causes the confusion here is the concept of flat with headphones. Headphones should not have flat frequency response when measured with system that mimics human hearing system. Headphones should instead sound like good speakers in a good room. When measured at ear drum this is actually what Harman target looks like (more or less). So to get monitor like sound out of headphones you use Harman target as the compensation curve with measurements done by oratory1990. Other systems have target curves of their own which try achieve the same result.

Normally you only use compensation parameter and no sound signature. This is what gives you the "neutral" i.e. monitor like sound. Sound signature is a tool to deviate from this. One use case of sound signature is to make one headphone (Sundara) sound like another (TH 610).

Does this make sense?
 
Mar 8, 2020 at 11:10 AM Post #26 of 165
Thanks, I was confused then, I thought the Harman curve was modeled after a consumer sound experience and hence all the bass there, whereas monitors usually are bass light, cold and bright -analytical- (not talking about the HRTF room compensation related FR). I will try to equalize to a bright headphone I guess.
 
Last edited:
Mar 8, 2020 at 1:46 PM Post #27 of 165
Well it's true that the 2018 Harman over-ear target is not exactly neutral but a listener preference curve. It has 6 dB of bass shelf and while the pre-computed results in AutoEQ have 4 dB. You can use Harman target without bass as the compensation curve and adjust the bass shelf to your liking with bass_boost parameter. But keep in mind that even monitors in studio have accentuated bass because it's the room that creates the bass boost and therefore it exists in every recording. Mastering engineers had that bass boost when mastering the record so the playback requires it too order for the music to sound as the mastering engineer intended. You can also try using the 2013 Harman target which is speakers in a room instead of preference curve.
 
Mar 13, 2020 at 11:53 AM Post #28 of 165
I'm getting some issues using linear phase convolution output. Is this normal?
Code:
frequency_response.py:969: RuntimeWarning: divide by zero encountered in log10
  log_f = np.log10(self.frequency)
1/1 (100.0%) 2s: Hifiman Sundara Stealth
 
Mar 13, 2020 at 12:41 PM Post #29 of 165
I'm getting some issues using linear phase convolution output. Is this normal?
Code:
frequency_response.py:969: RuntimeWarning: divide by zero encountered in log10
  log_f = np.log10(self.frequency)
1/1 (100.0%) 2s: Hifiman Sundara Stealth
It's fixed now. Thanks for letting me know about it!
 
Mar 27, 2020 at 5:00 PM Post #30 of 165
What if my headphones arent on the list and I want to tune the EQ to my liking?
 

Users who are viewing this thread

Back
Top