• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Designing headphone EQ with VituixCAD

dcibel

Member
Joined
Feb 8, 2021
Messages
25
Likes
30
I'm not active on this forum, so I apologize if this is old news, but I wanted to share an easy method to provide some EQ insight using the measurement data from ASR in VituixCAD.

I started down this path having a few pairs of headphones that have been reviewed here or at least very similar to headphones that have been reviewed here. I have Sennheiser HD580, or the poor mans 650, which really doesn't need any EQ apart from some low end lift. I also have Philips Fidelio X2 and recently acquired Hifiman HE-4XX which is rather similar to the HE-400i. Both of these need some EQ to perform at their best. One of my attempts to find the right EQ settings was to try the EQ suggestion in the review, which I did not prefer over my own efforts. The X2 EQ I felt sucked the life right out of them, and the HE-400i EQ wasn't too bad, but the top end was lacking for me making them sound a a bit dull / muddy. Inspection of the EQ bands used in the review, I have to think that they were simply eyeballed basic tweaks. Surely we can do better.

Luckily the reviews include some very useful data for EQ purpose, which is the normalized deviation plot.

Step 1. Trace it to generate a frequency response for the headphone that we can then EQ to flat to match the reference curve.

he-400i deviation trace.png


Step 2. Next, we load in the traced frequency response as driver data. Connect the source to the driver, then right click on the frequency response and select "save selected as overlay". This will provide a static reference of the original response, making it easy to visualize the EQ change we are making.
he-400i imported driver.png


Step 3. Go to the options, and make sure that the DSP system is set to "generic" instead of "analog" as the EQ will be applied in digital domain by the PC. Now, delete the trace connecting the source to the driver, and add in the parametric EQ blocks and have some EQ fun. Below is the proposed EQ in the review of the HE-400i:

he-400i amir eq.png


With only a few minutes of adjustment, I arrived at the following EQ. The 7500Hz band here is shorted, it was decided that I did not prefer dropping that range of the treble, it lost too much of the top end. Of course, your preference may vary, flat may not be what sounds right to you, but it is a good reference to know where you started and where you are headed.
he-400i my eq.png


Hope you enjoyed this little walk down visually applying EQ with the aid of VituixCAD. You can now copy these parameters to your favourite parametric EQ and give it a listen. Have fun!
 
OP
D

dcibel

Member
Joined
Feb 8, 2021
Messages
25
Likes
30
Is no one interested in using the real measured data to determine their EQ profile ?

Here's the Fidelio X2HR raw response vs ASR suggested EQ, I think it is pretty clear why I did not prefer this profile:
fildeio x2 asr eq.png


With a little effort the response can be brought a lot closer to target:
fildeio x2 my eq.png
 
OP
D

dcibel

Member
Joined
Feb 8, 2021
Messages
25
Likes
30
I like to DIY, and also didn't know such a thing existed. It is nice to see at least, that my EQ preset for the two headphones mentioned above is remarkably similar to the Oratory preset, however these presets don't appear to have any consideration for distortion performance and can get a bit extreme in the low end. EQ curve for my HD580 for example calls for 13-14dB of boost below 30Hz, that will surely run into some limits in practical use.

Which begs the question - Why doesn't Amir use Oratory's EQ presets when evaluating?
 
Last edited:

GaryH

Major Contributor
Joined
May 12, 2021
Messages
1,348
Likes
1,804
however these presets don't appear to have any consideration for distortion performance and can get a bit extreme in the low end
He listens to the headphones for these issues, is a Harman trained listener (level 8 on this), professional acoustic and former audio engineer, and measures and helps design headphones for a living, so he knows what he's doing. He does listen at normal volumes, so if you listen at loud levels distortion may be more of an issue, but distortion in the bass is a lot less audible than some people would have you believe. He says this at the bottom right of the HD580 preset anyway:
Deactivate filter band 1 if you are worried about bass distortion
And for the DIYer in you he includes these customisation guides at the bottom-right of most presets:
Adjust gain of band 2 to preference (bass)
Adjust gain of band 8 to preference (sibilance / detail)
Adjust gain of band 10 to preference (airiness)

Which begs the question - Why doesn't Amir use Oratory's EQ presets when evaluating?
Very good question. You'd have to ask him.
 
OP
D

dcibel

Member
Joined
Feb 8, 2021
Messages
25
Likes
30
Thanks for the info. Credentials aside, it doesn't take a trained listener to EQ to a target curve, which appears to be the utmost goal in every EQ profile that I pulled up in the list. The customization notes are a nice addition for the layperson that may just be entering values blindly without a complete understanding of the impact.

In any case, it appears my efforts are just a waste of time.
 

amirm

Founder/Admin
Staff Member
CFO (Chief Fun Officer)
Joined
Feb 13, 2016
Messages
44,376
Likes
234,549
Location
Seattle Area
In any case, it appears my efforts are just a waste of time.
What? Not at all. Developing EQ yourself is a great training exercise. And your approach to use Vituixcad is novel vs REW.

As for my EQ, my goal isn't to directly provide an optimized EQ. But rather, to analyze the frequency response measurements for subjective accuracy. I dial in a correction for gross errors and see if in controlled AB testing, it sounds better. Automated or more hand optimized EQ may sound better, or not. Distortion is something I pay attention to which automated systems tend to not do. I also avoid small corrections since measurement accuracy is not there.

Anyway, great work and keep it up.
 

GaryH

Major Contributor
Joined
May 12, 2021
Messages
1,348
Likes
1,804
Credentials aside, it doesn't take a trained listener to EQ to a target curve
Indeed it doesn't, but it helps when listening for issues such as distortion, resonances, bass seal differences between measuring rig and head, or non-minimum phase parts of the frequency response due to say earcup cancellations, which EQ can't fix properly, and fine-tuning the filters by ear. There's a common misconception that Oratory's EQs are automated, but they really aren't. He calculates the error response by subtracting the target from the measured response, then inverts this to get the target EQ curve, but the actual EQ filters are carefully chosen by him and their effect critically listened to in real-time just like anyone else does, which is why you see the inclusion of those customisation filters (that are not just for 'the layperson', they can act as broad bass/treble tone controls to ameliorate circle of confusion issues). See this part of the below discussion with him for details, hosted by @Resolve of headphones.com (from around 19:00 for about 10 minutes):

 
Last edited:
OP
D

dcibel

Member
Joined
Feb 8, 2021
Messages
25
Likes
30
What? Not at all. Developing EQ yourself is a great training exercise. And your approach to use Vituixcad is novel vs REW.

As for my EQ, my goal isn't to directly provide an optimized EQ. But rather, to analyze the frequency response measurements for subjective accuracy. I dial in a correction for gross errors and see if in controlled AB testing, it sounds better. Automated or more hand optimized EQ may sound better, or not. Distortion is something I pay attention to which automated systems tend to not do. I also avoid small corrections since measurement accuracy is not there.

Anyway, great work and keep it up.
Thank you for the clarification and encouragement. I agree, small corrections may not be very effective, the EQ I've provided above uses 6-8 bands with focus on getting the response to follow a flat trend line, so if I were to smooth the response greatly it would follow a straight line.

The idea for this topic was to simply show how users can use the data you've presented in your review to assist in determining an EQ preset that works reliably, however it looks like the bulk of this work has already been completed by others. The instruction is not intended to be a "how to EQ" tutorial, but simply how to use VituixCAD as a tool to visually guide an EQ.

I'm not a REW user, but have been researching acoustics and designing loudspeakers for years. Started with some DIY spreadsheets, then to SoundEasy, then to ARTA and VituixCAD to utilize full 360 degrees of acoustic information and the "spinorama" to get the most out of my designs. I used VituixCAD here because I am familiar with it, and it includes all the tools needed to achieve this task, though I think REW may have the ability to export the EQ values directly to APO without having to manually punch them in, but that's not a deal breaker for me.

There still may be some manual adjustment needed on the Fidelio X2 for the top end sharpness/sibilance, but what I provided above is a good start and gets 90% of the way there. It's not the best headphone in the treble range, but I keep it because it's the most comfortable to wear for long periods so I want to get the most out of it.
 
Last edited:
OP
D

dcibel

Member
Joined
Feb 8, 2021
Messages
25
Likes
30
You are correct, and yes the software has a silly name, maybe just to make sure you don't take things too seriously and have some fun with it :)
 

radix

Major Contributor
Joined
Aug 1, 2021
Messages
1,370
Likes
1,305
I found this thread very useful. I'm trying to come up with an EQ for the DT770 for an RME ADI-2. Oratory does not have this one on their RME list.

Here's the 5+2 PEQ that I got. I kept the preamp gain the same as the Oratory so I can compare them more easily, but I think I could get away with maybe -2.0 dB.

Preamp: -2.6 dB
Filter 1: ON LS Fc 24 Hz Gain 1.9 dB Q 0.931
Filter 2: ON PK Fc 75 Hz Gain 6.3 dB Q 1.97
Filter 3: ON PK Fc 118 Hz Gain -2.6 dB Q 2.4
Filter 4: ON PK Fc 209 Hz Gain 2.7 dB Q 2.44
Filter 5: ON PK Fc 3432 Hz Gain 5.1 dB Q 4.06
Filter 6: ON PK Fc 6636 Hz Gain -5.5 dB Q 5.0

Filter 7: ON HS Fc 10000 Hz Gain -6.0 dB Q 1.03

For comparison, here's the Oratory (DT770 worn ear pads, Harman target).

Preamp: -2.6 dB
Filter 1: ON PK Fc 45 Hz Gain -5.2 dB Q 0.2
Filter 2: ON PK Fc 75 Hz Gain -2.0 dB Q 1.4
Filter 3: ON LS Fc 105 Hz Gain 5.5 dB Q 0.71
Filter 4: ON PK Fc 210 Hz Gain 4.0 dB Q 1.4
Filter 5: ON PK Fc 2400 Hz Gain -2.3 dB Q 3.5
Filter 6: ON PK Fc 3800 Hz Gain 3.0 dB Q 1.0
Filter 7: ON PK Fc 4200 Hz Gain -1.3 dB Q 4.0
Filter 8: ON PK Fc 6400 Hz Gain -6.2 dB Q 4.0
Filter 9: ON PK Fc 8400 Hz Gain -1.4 dB Q 4.0

Filter 10: ON HS Fc 10000 Hz Gain -4.0 dB Q 0.71

I don't think I can tell the difference switching between them in SoundSource.

Here's the details.

I was able to use the SPL trace from the Oratory compensated line without EQ and then setup the RME 5+2 filter. This includes all the limits on F, A, and Q for each band and the bass/treble shelves.

I did an eyeball pass at the EQ as shown here (this violates some of the RME settings, I didn't have those in when I eyeballed it). This gave the optimizer a generally OK place to start from.
Screen Shot 2022-02-05 at 10.52.42 PM.png

Screen Shot 2022-02-05 at 10.56.32 PM.png


I set all of F, A, Q as optimizable and asked for a flat target. This is with all the RME specific constraints entered for each filter. Here's what I got.

Screen Shot 2022-02-05 at 11.19.05 PM.png


Screen Shot 2022-02-05 at 11.19.14 PM.png

Marc
 
OP
D

dcibel

Member
Joined
Feb 8, 2021
Messages
25
Likes
30
Glad you found it helpful. If course, its important to keep an eye on the filter transfer function as well, to make sure that you are not over-compensating with extreme gains.
 

radix

Major Contributor
Joined
Aug 1, 2021
Messages
1,370
Likes
1,305
Glad you found it helpful. If course, its important to keep an eye on the filter transfer function as well, to make sure that you are not over-compensating with extreme gains.

This is the 48 kHz IR. I'm not sure if this is good or bad. This is the total SPL.

bd-dt770-harman_opt Impulse 48 kHz.gif
 

odyo

Addicted to Fun and Learning
Joined
Oct 30, 2019
Messages
636
Likes
320
This is just what i'm looking for but i need casual friendly version of this. Wish EQ Apo had this type of feature. EQ Apo analysis panel is just flat. Imagine extracting the measurements, reference curve and seeing your EQ take effect in real time visually.
 
OP
D

dcibel

Member
Joined
Feb 8, 2021
Messages
25
Likes
30
This is the 48 kHz IR. I'm not sure if this is good or bad. This is the total SPL.

View attachment 184752
I'm not sure what you are looking for in the impulse response for a headphone EQ either! The filter transfer function that I mentioned is the right middle chart on the main window.
 
OP
D

dcibel

Member
Joined
Feb 8, 2021
Messages
25
Likes
30
This is just what i'm looking for but i need casual friendly version of this. Wish EQ Apo had this type of feature. EQ Apo analysis panel is just flat. Imagine extracting the measurements, reference curve and seeing your EQ take effect in real time visually.
Well, you can get fairly close to what you are after with the combination of APO EQ and either VituixCAD or Rephase. It is not quite a live adjustment as you would get with the Parametric EQ bands in APO EQ, but as easy as making the adjustments you want, then save a file and load a file into APO EQ.

I won't go into detail on the Rephase option, I think it's fairly well documented. But...with VituixCAD we can complete all the same tasks as Rephase and more!

Completing the above procedure, you may use any combination of IIR or FIR filters that you wish, exporting the resulting transfer function to an impulse file for use in APO EQ is easy.

VituixCAD Process

  1. Once you have a complete design ready for export to APO EQ, simply select “Impulse Response” under the view menu.
  2. Select the sample rate that your soundcard is set to for playback.
  3. FFT Length can be set to the maximum value of 262144, any value 65536 or higher is more than enough to cover the low frequency response.
  4. Taps can be set quite high as well, 8192 taps should be more than enough to cover most uses.
  5. Select IR Window as desired, since we are exporting a full frequency response using a large FFT length, the exported result is essentially “un-gated” so the selection here is not extremely important, however I have used “cosine”.
  6. Uncheck “Center IR”
  7. Set Pre-delay at 1.0ms
  8. Under Signals to export, select the “D” button, which will fill in all drivers in the project for export. You should see “Driver in D...” for each driver in your system listed. Up to 6 drivers can be exported at once, only 1 driver should be present for a headphone.
  9. Select “Export” and export the impulse response as IEEE mono or stereo WAV file.

EQ APO Process

  1. Open the EQ APO Configuration Editor and configure the rack:
  2. Preamplifier - use to set master gain to avoid clipping audio signal.
  3. Select channels - use to define the channels to apply a specific filter to. Select the Left and right channel.
  4. Convolution with impulse response - load the IR file for your driver here.
  5. Verify that each impulse response is loaded correctly using the analysis panel at the bottom
  6. Adjust the preamplifier if needed to ensure that all responses for all channels are shown at <0dB level. Responses >0dB will be filled in with red to appear obvious.
  7. That’s it, play some music and enjoy! An example configuration is provided below.
 

radix

Major Contributor
Joined
Aug 1, 2021
Messages
1,370
Likes
1,305
I'm not sure what you are looking for in the impulse response for a headphone EQ either! The filter transfer function that I mentioned is the right middle chart on the main window.

Here it is. You are just looking at the overall gains?

bd-dt770-harman_opt Filter.png
 

D!sco

Senior Member
Joined
Jun 16, 2021
Messages
483
Likes
381
This approach is super useful for all kinds of things, speakers included. I like to use REW or anechoic recordings as a base for speaker EQ and run the optimizer on VCAD for obsessive flatness. I haven't tried yet, but you can also upload custom curves and let the software adjust parameters to match.

My monitors without EQ:
1644293135392.png

The N-Band EQ for perfectly flat plus another for cutoff frequencies.
1644293329979.png

1644293404474.png


These days I run two N-Band EQs, one to flatten the curve, and another for preference. VCAD helps me figure out the final preamp values I should be running, and in some cases what the enclosure and port will behave like once I use them. The Optimizer even has an olive score estimator if you're into that sort of thing

FWIW, AutoEQ does a pretty good job for a free github plugin. If you ever do your own measurements, it's super useful getting started.
 
OP
D

dcibel

Member
Joined
Feb 8, 2021
Messages
25
Likes
30
We can take this EQ process a bit further using APO EQ. We can generate a "mirror EQ" to automatically normalize the headphone response to any target.

VituixCAD Mirror Transfer Function EQ

Step 1: Trace the deviation from target response and load in as a driver file just as the instruction in the first post. When loading the traced response, there is an option on the driver tab to apply smoothing, which may be good idea for some drivers to avoid overly aggressive EQ compensation.

Step 2. In the crossover tab, place a G(f) block and connect between source and driver.
1644292841424.png


Step 4. Open the optimizer window. Here is the important bits:
  • Select Axial response of driver
  • Frequency range can be limited to avoid over-compensation of frequency extremes
  • Set target to 0dB. Target can be flat, or also with high pass to follow natural headphone response at low frequency to avoid over compensation.
  • Uncheck Free LF and Free HF will follow the slope of the response beyond the frequency limits. If checked, slope will be flat 0dB/oct beyond the frequency limits.
  • Select the G(f) block, then push the -> TF button, which will save the transfer function and load it to the G(f) block. If you forget to select the G(f) block, simply select it afterwards and load the file manually at the bottom of the main window.
1644294403758.png


Step 5. You should now see a that the frequency response is perfectly on target, and inverse response is transfered to the filter transfer function. Observe the magnitude of the filter transfer function. If desired, add in any other active filter blocks to shape the response further.

1644293934715.png


Step 6. Export impulse response to APO EQ following steps in previous post.
 
Last edited:
Top Bottom