Crossfeed and EQ for headphones



Latest note : I did a similar software that is available here : head-fit

Some parameters are the same but head-fit is more flexible, has some process improvements and is a bit more oriented to headphone optimisation.


This plugin’s purpose is to help you to find the best settings for headphone equalization and crossfeed adapted to your own ears.

After, you may use those settings on you iRiver, Ipod, or home listening system. For those who use RockBox, its crossfeed is based on same structure and parameters so you can try my soft and use same values on you RockBoxed player.

Don’t be afraid by all the sliders and buttons on the picture : it’s easy to use, just read this page.


1) What is crossfeed :
In normal listening through loudspeakers, left ear receives signal from left loudspeaker and then, a fraction of a millisecond after, it also receives signal coming from the right speaker.
Listening with headphones, you only get left signal to your left ear.
This is sometimes not enjoyable, especially with discs that are "false stereo" : mono with instruments heavily pan-potted to one side. So the crossfeed function is to send to the opposite ear (named contralateral ear) the other signal delayed and filtered (exactly like loudspeakers signals would do around your head). Most songs are recorded only for loudspeakers listening so they should benefit from crossfeed.
The crossfeed function is only needed for headphones listening !
True binaural recordings (recorded with mics on dummy or real heads) should avoid the use of crossfeed.
Here are some typical tracks that really benefit from crossfeed :
lot of Beatles Albums (ie Dear Prudence from White album, Lucy in the sky from Sergent Pepper’s, Strawberry Fields,…)
Bowie, Space Oddity
The Doors LA Woman
Simon and Garfunkel, many tracks
Gerard Manset, La mort d’Orion
Pink Floyd, Dark side of the moon
Keith Jarret, Survivor’s suite
Lots of 60/70′s albums
Special note for Charlie Mingus, Complete edition of Tijuana moods, the alternate take of Ysabel’s dance seems to me as one of the most revealing record to check any problems of timbre and transients of a poor crossfeed setup.

(If you found good examples, please let me know).

2) Download and installation in stand-alone mode:

Download here

Some tips about installation and fuctions can be found here.

Just run the .exe file, choose input from generator or wav file and play.

If you get no sound out, you may have to choose engine input and output assign and device/wave.

3) Easy crossfeed setup

Set volume level to a low value.

Set generator to wav and play some music you like.

Adjust volume to a comfortable level

Now pan completely to left or right and click on/off the crossfeed button.

Play with frequency F and level to adjust to your own head for a sound coming at 30°/45° in front (same as from a loudspeaker) instead of inside your head.

In few words : you shouldn’t hear any difference with a mono record but a huge difference for sounds recorded only on one channel, and in between,with most records, the crossfeed effect is subtle but nice, giving some extra "space".
After you can fine tune and adjust other parameters and the EQ.

4) More about the crossfeed parameters
Some explanations :
Ipsilateral : signal from one channel going to the corresponding (same) ear.
Contralateral : signal from one channel going to the opposite ear.
Hi Loss contra : high frequency are more attenuated by the head than lows, so attenuation value is between 0 and – 40 dB (default is – 10dB).
F is frequency cutoff of the Hi shelf contralateral filter : value ajustable between 500 and 2000 Hz (default is 700 Hz)

Delay is the time delay between the ipsilateral signal and the contralateral one.

Note : in this program, the sum of ipsi and contra is +3dB for correlated signals and 0dB for uncorrelated signal. Music beeing in between, it may give a small bass rise of 1 to 2dB because recordings are generally more correlated in low frequencies.

You may correct this with the lowshelf EQ at about -1.5dB and 500Hz (I generally don’t use this correction, even when I try with correlated noise, I do not feel to really need this compensation).

Find your best settings :
Begin with bonger on one side only, right or left, it’s up to you.
Compare between crossfeed on/off. When crossfeed function is off, it’s a bit like being deaf of one ear.
Then switch crossfeed on and the sound scene suddenly opens.
With left input only, you should adjust parameters to have a sound coming from your left front, like a loudspeaker would do.
Play with the four parameters in the grey crossfeed part.
First play with the delay. Than try with the mix value and end with the Frequency. Come back to delay to fine adjust, it’s a trial and errors game. Take your time. Remember that crossfeed improves dramatically some records but has a subtle effect on other records.
Another recommended test is to use the "Frère Jacques" file from SQAM listening test samples (play one side only to adjust crossfeed).
Set the parameters so to get the best Out of Head Localisation. Fine ajust while listening to noise and music on both sides.

Also take care about elevation, that means that the sound should not come from above or under but ideally at the same height as your head. It can be quite long to get best results. But, I think, it’s worth of it.The spatialization will dramatically improve : crossfeed should avoid most of the typical "in the head" feeling.

– open headphones may need different parameters settings because they already have some intra-aural crossfeed by construction (contrary to closed headphones). By the way, this natural crossfeed may be one of the reasons for open headphone to sound more "airy".

– with or without crossfeed, the tonal quality (timbre) should not really change, check this listening to uncorrelated pink noise.
When you compare different crossfeed processes, test with correlated and uncorrelated pink noise, there should be highly audible difference of timbre with or without the crossfeed process.

- I invite Rockbox users that have crossfeed enabled to also set precut (it’s a parameter in the EQ settings) to -3dB (because crossfeed may give a max boost of 3dB in the bass). With this precut value, you avoid any risk of overloading even with records mastered to stupid levels very near of 0dBFS. Moreover, if you also use EQ with some boost, set precut value to the sum of crossfeed max gain (3dB) plus max Eq boost (for me it’s 2dB, see my curve hereunder at highest frequencies) that gives a total precut value of -5dB.

5) Setting the EQ parameters
First, the purpose of this EQ plugin is to improve listening with your headphones : it’s not to remix your tracks with heavier bass or to add a loudness control. It’s simply designed for a higher fidelity, correcting for the heaphone non-linearities and adapting to your OETF (Own Ear Transfert Function) !
That also why I’ve limited gain to +-15dB and max Q to 10. I think higher values are not usefull.
Maybe the easiest way to set EQ parameters is to use a sine wave and sweep the whole range, especially above 1kHz. You may notice some peaks, so write down those frequencies.
Aftre, use pink noise, set you EQ to the noted frequencies and play with Q and gain to have a pleasant pink noise (pleasant ?, it’s a joke ?).
After you may adjust with real sound.
Pink noise should not be harsh to the ear but not too smooth : it’s difficult to tell but after a while you’ll understand what I mean.
Generally, you should really damp the peaks and do less on the notches : correcting deep notches is to be done carefully because it increases gain and that may bring amplifier overdrive and distortion. And notches are much less offensive to the ear than peaks.
Let’s try it, set an Eq to Q=2 and gain to -6dB and vary the frequency : at certain frequencies you may hear an improvement, sound will be less harsh.
After finding frequencies, play with gain and Q to adjust the correction. Generally, with good headphones, corrections adapted to your own ears are mostly to be done between 2000 and 12000 Hz. A complementary way to adjust the EQ is to try to find the best "Out of Head Localisation" together with the crossfeed function. You can also use the sine input and sweep slowly through whole frequencies.
You can also try with HRTF files, find the one that best suits you without EQ and use the equaliser to improve it and have a perfect sound circle around you with something like a "out of head" feeling.

Note : I’m really wondering, when you linearize identiqually the frequency response of two (good) headphones, of what remains as a difference ? distortion, comfort ? (go to my earphone page)


6) Other Functions
  • Pink correlated is the same pink noise in both left and right channels. Though headphones, you should hear the noise in front of you.
  • Pink uncorrelated is for the same kind of noise but different in each channel, this is more like real sounds or music . It brings a more spacious sound. This can be useful to test for any coloration the crossfeed function may bring : with/without crossfeed, the tonal quality should change as little as possible.
  • Pink corr. filtered is a correlated pink noise but bandpassed filtered near critical bandwidth. The center frequency is set by the generator frequency slider.
  • Bonger is also a kind of pulsed sinus (with few harmonics), you can change its frequency so it’s also usefull to setup crossfeed : you can try with a low and a higher frequency and try to keep sound coming from the same angle.

Show list

The show/hide button displays a list of all actual values so you can set your Rockbox configuration file. You can also save/load setups using the VST presets.

7) Measure the results

After having found your best setup, you may have a look at the resulting frequency response with VST Plugin analyser from C.Budde (look in his programs page). When you open a file in the analyser, choose the plugin file : crossfeed_eq.dll.

Don’t worry about the frequency warbles in crossfeed mode : it’s not the frequency response of a channel but it results from adding the two channels with a time difference that gives a kind of comb filtering (ipsi and contra signals add or cancel at certain frequencies).

So measure the crossfeed and the EQ separately.

If you have any fear of this ripples, just do following test : set input to mono and with the crossfeed on/off, try to hear the differences.

This is the frequency response of the crossfeed function with default values (no EQ) :

crossfeed frequency response

Here also the compared RMAA measurements through the software process (default setup and EQ lowshelf= 1.5dB, 500Hz) :

rmaa test