Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Headphone equalization #806

Closed
ThreeDeeJay opened this issue Jan 10, 2023 · 5 comments
Closed

Headphone equalization #806

ThreeDeeJay opened this issue Jan 10, 2023 · 5 comments

Comments

@ThreeDeeJay
Copy link
Contributor

ThreeDeeJay commented Jan 10, 2023

I've been looking into proper headphone equalization for optimal HRTF listening so I'm curious about the recommendations for OpenAL Soft.
Recently, I found out Diffuse-Field Compensation/equalization seems to have always been enabled by default, and apparently people who use a separate EQ also disable DFC.
So with that in mind, how do we reconcile the variations in HRTFs, baked-in equalization, headphones' impulse response and the listener's individual perception of a flat impulse response?
Like, if we disable DFC, should we equalize our headphones to a completely flat impulse response or target the neutral perception of flat speakers in a room like Harman or DFC or equalize by ear?
And if my goal was to get the cleanest/closest sound to a panpot stereo downmix -but with clear HRTF externalization, of course-, would the process be any different? 🤔

@kcat
Copy link
Owner

kcat commented Jan 10, 2023

I'm not sure I'll be able to answer satisfactorily. Diffuse field equalization is outside my area of expertise, but what I do know about it is, when applied to an HRTF dataset, it removes all the position-invariant response, resulting in HRIRs that only measure the response difference a given position has. So a diffuse field equalized HRTF is only supplying the directional difference on top of whatever frequency response your headphones have, which should be pretty good regardless of what your headphones do.

If you disable diffuse field equalization, most HRTFs are free field equalized, so probably won't sound as intended on headphones that aren't free field.

If you're creating your own HRTF, though, and you can apply different equalizations to it, then applying an equalization fitting to your headphones would make diffuse field equalization unnecessary.

@IDrinkLava
Copy link

"If you're creating your own HRTF, though, and you can apply different equalizations to it, then applying an equalization fitting to your headphones would make diffuse field equalization unnecessary."

How would we go about doing this with makemhr.exe? Would we need to import .csv measurements of our headphones or IEMs, like the kind used on squig.link or the AutoEQ project?

@kcat
Copy link
Owner

kcat commented Jan 12, 2023

How would we go about doing this with makemhr.exe?

You don't. I mean when creating the SOFA file (or whatever other HRTF data source) from a set of impulse responses. If you apply an equalization method to that which matches your headphones, then when using makemhr to create the mhr file, you'd disable diffuse field equalization.

@ThreeDeeJay
Copy link
Contributor Author

By the way @kcat if a SOFA already uses Diffuse-Field Compensation, we should turn off DFC in makemhr, right?
Or would there be any benefit in re-applying DFC using makemhr's method?

Just asking because SADIE uses DFC, and by the way, there's a version of the default HRTF (MIT KEMAR) with DFC already applied, so I wonder how each DFC method compares 🤔

@kcat
Copy link
Owner

kcat commented Sep 17, 2024

By the way @kcat if a SOFA already uses Diffuse-Field Compensation, we should turn off DFC in makemhr, right?
Or would there be any benefit in re-applying DFC using makemhr's method?

I'm not sure. From what I understand of it, applying diffuse-field equalization to a dataset that is already diffuse-field equalized should have virtually no effect. Though I guess it's possible the surface-weighted diffuse field average and limiting the magnitude range of the diffuse field average can change the result. Whether or not it's useful will depend on whether you find the equalization that's already done to be good or not. Aside from its own equalization, I don't think makemhr would do anything that would need it to be re-equalized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants