EQ Settings for 700+ Headphones
Nov 25, 2020 at 3:52 AM Post #61 of 165
Hi Jaakko,

First of all, I honestly can't thank you enough for all the work you've put into AutoEQ. I've been using AutoEQ for months now and I cannot understate how revelatory it has been: this is the most fun I've had with headphones in years. For me, AutoEQ is now just as, if not more important, than the headphone itself. Recently I've been playing around with sound signatures, and I love how I can almost "audition" any other headphone I might be interested in (or at least its general sound signature).

I had a question about AutoEQ that I was wondering you could answer. I've equalized both my HIFIMAN HE4XX and HIFIMAN HE400i 2020 to the Focal Clear's sound signature (with a 1.7dB bass boost), and I was wondering why the target curves for both results' generated graphs (attached) are different.

Here are the commands I used:


HE4XX to Focal Clear:

python autoeq.py --input_dir="measurements\oratory1990\data\onear\HIFIMAN HE4XX" --output_dir="my_results\[UAPP 10-band Parametric] HE4XX to Focal Clear (1.7dB Bass Boost)” --compensation="compensation\harman_over-ear_2018_wo_bass.csv" --sound_signature=”results\oratory1990\harman_over-ear_2018\Focal Clear\Focal Clear.csv” --equalize --parametric_eq --max_filters=10 --bass_boost=5.7 --max_gain=25​


HE400i 2020 to Focal Clear:

python autoeq.py --input_dir="measurements\oratory1990\data\onear\HIFIMAN HE400i 2020" --output_dir="my_results\[UAPP 10-band Parametric] HE400i 2020 to Focal Clear (1.7dB Bass Boost)” --compensation="compensation\harman_over-ear_2018_wo_bass.csv" --sound_signature=”results\oratory1990\harman_over-ear_2018\Focal Clear\Focal Clear.csv” --equalize --parametric_eq --max_filters=10 --bass_boost=5.7 --max_gain=25​


I thought that since the compensation, sound signature, and bass boost are the same for both commands, the target curve should be the same for both results. However, when looking at the automatically-generated graphs, the target curves are different (but the general shape is the same). I played around some more and found that if I use the same compensation, sound signature, and bass boost but a different headphone's (e.g., Sennheiser HD 600) measurement input_dir, the target curve shifts up/down (but retains the same general shape), so I'm sure there's a very good reason for why this is the case. I guess I'm just wondering why this happens.

Thanks for everything, and if you have time please let me know!
Thanks for the kind words!

AutoEq shifts all the curves so that the error curve averages 0 between 100 Hz and 10 kHz. When error curve goes up, the target must go down to keep the correct difference between the error, target and the raw frequency response. Raw frequency response is always kept centered at 1 kHz. The shape of the curves don't change here, only their absolute location on the Y-axis.
 
Nov 25, 2020 at 7:33 PM Post #62 of 165
Thanks for the kind words!

AutoEq shifts all the curves so that the error curve averages 0 between 100 Hz and 10 kHz. When error curve goes up, the target must go down to keep the correct difference between the error, target and the raw frequency response. Raw frequency response is always kept centered at 1 kHz. The shape of the curves don't change here, only their absolute location on the Y-axis.

That makes sense - thanks for clarifying!

I was also wondering if it might be possible to generate a Sonarworks target for use with AutoEQ from one of their compensated headphone frequency responses. The frequency response below is the Focal Clear's and was obtained from their website, with the X-axis at 0dB representing the Sonarworks target. I think I'd probably be able to obtain a more detailed compensated frequency response graph if I downloaded their free trial:


Focal Clear Compensated with Sonarworks Target.png


Recently I've been interested in Sonarworks' target because it's Oluv's reference target, and he's not very fond of the Harman target so I'm curious what he's hearing in the Sonarworks target. I was thinking that if Oratory1990's Focal Clear raw frequency response is compared to the above curve, then the resultant error curve should constitute the Sonarworks target, but please correct me if my thinking is off.
 
Nov 26, 2020 at 1:38 AM Post #63 of 165
That makes sense - thanks for clarifying!

I was also wondering if it might be possible to generate a Sonarworks target for use with AutoEQ from one of their compensated headphone frequency responses. The frequency response below is the Focal Clear's and was obtained from their website, with the X-axis at 0dB representing the Sonarworks target. I think I'd probably be able to obtain a more detailed compensated frequency response graph if I downloaded their free trial:


Focal Clear Compensated with Sonarworks Target.png


Recently I've been interested in Sonarworks' target because it's Oluv's reference target, and he's not very fond of the Harman target so I'm curious what he's hearing in the Sonarworks target. I was thinking that if Oratory1990's Focal Clear raw frequency response is compared to the above curve, then the resultant error curve should constitute the Sonarworks target, but please correct me if my thinking is off.
Your thinking is correct. Compensated = raw - target <=> target = raw - compensated. But it would be better to use more than one headphone for this because of the unit variance. I could have crawled Sonarworks' data but decided no to since that would be illegal. Nothing is of course stopping you from doing this for your own purposes.
 
Nov 27, 2020 at 8:23 PM Post #64 of 165
Your thinking is correct. Compensated = raw - target <=> target = raw - compensated. But it would be better to use more than one headphone for this because of the unit variance. I could have crawled Sonarworks' data but decided no to since that would be illegal. Nothing is of course stopping you from doing this for your own purposes.

Ah, now that you mention it, I think I'll pass on trying to derive Sonarworks' target: I'm completely satisfied with the Focal Clear's sound signature except for its bass roll-off, which is what I was trying to correct originally.

If I wanted to bring the Focal Clear's bass up to the precomputed (+4dB bass boost) Harman target's bass curve, is a peaking filter at 33Hz with a Q of 0.42 still the best way to do that? What I'm concerned with is that I might cause the low bass to bleed into the mid bass if I did this, since the Focal Clear's bass is rolled off mainly from 80Hz and below. I was thinking that a uniform bass boost filter to correct low bass would boost mid bass too much.

Thanks again!
 
Nov 28, 2020 at 4:38 AM Post #65 of 165
Hey there I have a question about how to use the oratory crawler. Well, that is, how do you use it? It's what I use to extract the FR data from Oratory's PDFs correct?
 
Last edited:
Nov 28, 2020 at 7:30 AM Post #66 of 165
Ah, now that you mention it, I think I'll pass on trying to derive Sonarworks' target: I'm completely satisfied with the Focal Clear's sound signature except for its bass roll-off, which is what I was trying to correct originally.

If I wanted to bring the Focal Clear's bass up to the precomputed (+4dB bass boost) Harman target's bass curve, is a peaking filter at 33Hz with a Q of 0.42 still the best way to do that? What I'm concerned with is that I might cause the low bass to bleed into the mid bass if I did this, since the Focal Clear's bass is rolled off mainly from 80Hz and below. I was thinking that a uniform bass boost filter to correct low bass would boost mid bass too much.

Thanks again!
Where did you get the 33 Hz, Q 0.42 from? The parametric eq filters in AutoEq's Focal Clear preset have these two for bass:
1. Fc: 16 Hz, Q: 0.46, Gain: 4.2 dB
2. Fc: 195 Hz, Q: 0.72, Gain: -2.2 dB

That will get you to +4 dB bass shelf. The second one prevents bass from bleeding into mids. You can add a low shelf filter with Q of 0.71 and Fc of 105 Hz to adjust the bass level further to your liking.

Hey there I have a question about how to use the oratory crawler. Well, that is, how do you use it? It's what I use to extract the FR data from Oratory's PDFs correct?
It's not possible to crawl new headphones which haven't found their way into the list of presets in Reddit. I added it for you myself and you can find it here: https://github.com/jaakkopasanen/Au...tory1990/harman_over-ear_2018/Avantone Planar
 
Nov 28, 2020 at 10:09 AM Post #67 of 165
Where did you get the 33 Hz, Q 0.42 from? The parametric eq filters in AutoEq's Focal Clear preset have these two for bass:
1. Fc: 16 Hz, Q: 0.46, Gain: 4.2 dB
2. Fc: 195 Hz, Q: 0.72, Gain: -2.2 dB

That will get you to +4 dB bass shelf. The second one prevents bass from bleeding into mids. You can add a low shelf filter with Q of 0.71 and Fc of 105 Hz to adjust the bass level further to your liking.


It's not possible to crawl new headphones which haven't found their way into the list of presets in Reddit. I added it for you myself and you can find it here: https://github.com/jaakkopasanen/AutoEq/tree/master/results/oratory1990/harman_over-ear_2018/Avantone Planar
Wow, thank you. This is sounding great. But I have another question, how would one go about creating compensation targets based on headphone FR measurements? Sort of like an average of the total FR or a custom curve that follows the peaks of a headphones FR. A smoother version of the general shape of the headphones FR. That way you could EQ a headphone to sound like itself but, a more refined version of itself. I don't know if that makes sense but I'm interested in that.
 
Nov 28, 2020 at 6:01 PM Post #68 of 165
That will get you to +4 dB bass shelf. The second one prevents bass from bleeding into mids. You can add a low shelf filter with Q of 0.71 and Fc of 105 Hz to adjust the bass level further to your liking.

Great - thanks very much!

Where did you get the 33 Hz, Q 0.42 from? The parametric eq filters in AutoEq's Focal Clear preset have these two for bass:
1. Fc: 16 Hz, Q: 0.46, Gain: 4.2 dB
2. Fc: 195 Hz, Q: 0.72, Gain: -2.2 dB

I got the 33Hz, Q 0.42 by using AutoEQ to equalize the Focal Clear to sound like itself but with a 1.7dB bass boost (using input_dir = Focal Clear, compensation = harman_over-ear_2018_wo_bass.csv, sound_signature = Focal Clear, --bass_boost = 5.7). The resulting EQ consisted of this single filter:

Filter 1: ON PK Fc 33 Hz Gain 1.7 dB Q 0.42​

And from this I assumed that modulating --bass_boost in AutoEQ would result in a peaking filter at 33Hz, Q 0.42 with the specified dB value (and I thought that bass bleed into the mids wouldn't be taken into account by the --bass_boost argument, since there was no Filter 2 generated at around 200Hz with a negative gain). So, for a 4dB bass boost, I thought the result would just be a peaking filter at 33 Hz with gain 4.0 dB and Q 0.42, but I haven't tested this command and I honestly don't know anything about how parametric EQs or peaking filters work in tandem with each other.

If I wanted to then equalize my HE4XX to the sound signature of the Focal Clear with the +4dB Harman bass shelf, would there be an easy way to do that? Basically what I'm aiming for is a sound signature following the Harman target from ~200Hz and below (or at whichever frequency the Harman bass shelf ends) but following the Focal Clear's frequency response from ~201Hz and above, like a "chimeric" sound signature (and maybe also experiment with the Hz value for the chimeric boundary, if that's possible).
 
Nov 28, 2020 at 9:05 PM Post #69 of 165
Quick question: why do the PEQ text files for importing APO settings only include the peaking (PK) value and no values for low or high shelves? Thanks :smile_phones:
 
Nov 29, 2020 at 2:48 AM Post #70 of 165
Wow, thank you. This is sounding great. But I have another question, how would one go about creating compensation targets based on headphone FR measurements? Sort of like an average of the total FR or a custom curve that follows the peaks of a headphones FR. A smoother version of the general shape of the headphones FR. That way you could EQ a headphone to sound like itself but, a more refined version of itself. I don't know if that makes sense but I'm interested in that.
Not quite sure what you're after here but I'll assume you want to have a smooth trend of the headphone's sound signature. There's no way in AutoEq to do this without being able write Python code.

Great - thanks very much!

I got the 33Hz, Q 0.42 by using AutoEQ to equalize the Focal Clear to sound like itself but with a 1.7dB bass boost (using input_dir = Focal Clear, compensation = harman_over-ear_2018_wo_bass.csv, sound_signature = Focal Clear, --bass_boost = 5.7). The resulting EQ consisted of this single filter:

Filter 1: ON PK Fc 33 Hz Gain 1.7 dB Q 0.42​

And from this I assumed that modulating --bass_boost in AutoEQ would result in a peaking filter at 33Hz, Q 0.42 with the specified dB value (and I thought that bass bleed into the mids wouldn't be taken into account by the --bass_boost argument, since there was no Filter 2 generated at around 200Hz with a negative gain). So, for a 4dB bass boost, I thought the result would just be a peaking filter at 33 Hz with gain 4.0 dB and Q 0.42, but I haven't tested this command and I honestly don't know anything about how parametric EQs or peaking filters work in tandem with each other.

If I wanted to then equalize my HE4XX to the sound signature of the Focal Clear with the +4dB Harman bass shelf, would there be an easy way to do that? Basically what I'm aiming for is a sound signature following the Harman target from ~200Hz and below (or at whichever frequency the Harman bass shelf ends) but following the Focal Clear's frequency response from ~201Hz and above, like a "chimeric" sound signature (and maybe also experiment with the Hz value for the chimeric boundary, if that's possible).
--bass_boost sets the target level for the bass shelf. Parametric eq filters are then later optimized in such a way that they get as close to the target as possible. In other words the --bass_boost parameter doesn't directly affect the parametric eq filters.

There isn't a simple way to equalize on headphone to other headphone while keeping the Harman bass shelf shape. One option would be to equalize to Clear and then add the two filters I gave you on top of the 10 filters produced for the transformation. You'll be needing 12 filters but if you're using EqualizerAPO, that won't be a problem. Other way would be to create a new sound signature file:
1. Open Focal Clear result CSV file in excel
2. Remove all other columns but frequency and error
3. Set all values below ~500 Hz to zero. (Focal Clear error touches zero at 500 Hz). Alternatively use ~87 Hz at the limit if you want to keep the upper bass / lower mid hump.
4. Rename error column as "raw"
5. Save the file as "Focal Clear flat bass.csv" or some such

Quick question: why do the PEQ text files for importing APO settings only include the peaking (PK) value and no values for low or high shelves? Thanks :smile_phones:
The parametric eq optimizer is able achieve the sufficient results with just peaking filters. It's not really possible to mix and match the different filter types since the type selection is not differentiable operation and therefore the gradient descent optimizer cannot do it. An alternative would be to have for example one low shelf and one high shelf for all the parametric eq presets but this would be inconvenient with low number of filters. AutoEq produces two sets of filters by default. There's always 10 filters but the first 5 can be used without the rest. Mixing low shelf and high shelf filter into these first 5 would not be a good idea.
 
Nov 29, 2020 at 12:27 PM Post #71 of 165
"The parametric eq optimizer is able achieve the sufficient results with just peaking filters. It's not really possible to mix and match the different filter types since the type selection is not differentiable operation and therefore the gradient descent optimizer cannot do it. An alternative would be to have for example one low shelf and one high shelf for all the parametric eq presets but this would be inconvenient with low number of filters. AutoEq produces two sets of filters by default. There's always 10 filters but the first 5 can be used without the rest. Mixing low shelf and high shelf filter into these first 5 would not be a good idea."

Okay, thanks, that's good to know. Thanks for the great work. Cheers!
 
Nov 29, 2020 at 8:27 PM Post #72 of 165
Other way would be to create a new sound signature file:
1. Open Focal Clear result CSV file in excel
2. Remove all other columns but frequency and error
3. Set all values below ~500 Hz to zero. (Focal Clear error touches zero at 500 Hz). Alternatively use ~87 Hz at the limit if you want to keep the upper bass / lower mid hump.
4. Rename error column as "raw"
5. Save the file as "Focal Clear flat bass.csv" or some such

Hi Jaakko,

Thanks so much - this is exactly what I was trying to accomplish, and the results are perfect!!
 
Dec 12, 2020 at 8:23 AM Post #73 of 165
I have used AutoEQ with my Abyss Headphone and also now experimenting with Focal Utopia. Results are interesting but in some instances it seems I cannot achieve exactly the same result.
I would find it very helpful, if you indicated in the results section for each headphone what the command was used for the given headphone. In this way users would have a starting point for own modifications based on the results on github.
Would that be possible?
Thanks, Mike
 
Dec 12, 2020 at 8:29 AM Post #74 of 165
I have used AutoEQ with my Abyss Headphone and also now experimenting with Focal Utopia. Results are interesting but in some instances it seems I cannot achieve exactly the same result.
I would find it very helpful, if you indicated in the results section for each headphone what the command was used for the given headphone. In this way users would have a starting point for own modifications based on the results on github.
Would that be possible?
Thanks, Mike
It's already described there in the documentation, sort of: https://github.com/jaakkopasanen/AutoEq#reproducing-results

Basically the only thing you would have to change from these two is the target curve (compensation), all of which you can find in the results/update_results.py
 
Dec 12, 2020 at 8:34 AM Post #75 of 165
Been using your work since the early day now, nice stuff to have.
I am wondering if I can push my own raw measurement into this project. It won't be as simple as just adding the file and execute the command isn't it?
 

Users who are viewing this thread

Back
Top