Natural crossfeed on headphones / earphones for foobar2000 v2.1 [major update made public]
post-12665409
Thread Starter
Post #1 of 71

Joe Bloggs

Member of the Trade: HiBy / EFO technologies Co
His Porta Corda walked the Green Mile
Joined
Oct 21, 2001
Messages
10,856
Reaction score
2,614
Joined
Oct 21, 2001
Posts
10,856
Likes
2,614
Natural headphone crossfeed for foobar2000 v2.1
Natural crossfeed designed to give a realistic crossfeed / speaker simulation effect on headphones / earphones while producing a wide soundstage and zero sound coloration.

Simulates speakers spaced 30+30 degrees apart (classic stereo setup with better front projection of imaging) or 50+50degrees apart (widened stereo setup with more similarity to classic headphone soundstage width)

Update 2016-07-26: I've put the "secret" update in public as v2.1, containing a new set of impulses. They also come in 30+30degree and 50+50degree versions but are derived from actual measurements around my head.

Download link: Dropbox link to v1.1
Dropbox link to v2.1

A. Installation

  1. Copy foo_dsp_stereoconv.dll to the "components" directory of your foobar2000 install.
  2. Copy the two bundled wave files to a conveniently locatable directory (e.g. foobar2000 main directory)
  3. Restart foobar2000 (if already running)


B. Loading the DSP

  1. Go to Preferences->Playback->DSP Manager.
  2. Put Resampler(dBpoweramp/SSRC) or Resampler(PPHS) onto the list of active DSPs. This is necessary because convolution works at a fixed sample rate. SSRC is slightly preferable to PPHS if available.
    [*] Click on Resampler and click "Configure selected" to configure the resampler. Configure the resampler to resample to 44100Hz. If using Resampler(PPHS), tick the checkbox for "Ultra mode".
  3. Put Stereo Convolver next on the list of active DSPs. Click on "Stereo Convolver" and click "Configure selected" to configure it. For "Left Wav File" browse for "Left (30deg/50deg) (real-sampled) 44100.wav". For "Right Wav file" browse for "Right (30deg/50deg) (real-sampled) 44100.wav". For a volume matched with unprocessed sound set Level Adjustment to 0.0dB.
  4. Press OK on the config window, then OK on the main Preferences window to save changes.
  5. You may later come back to the DSP Preferences window and save these settings in a new "DSP chain preset".


C. Playing music and listening

  1. It is advised to set the master volume of foobar to -4dB or below to avoid possible clipping produced by the increased digital levels variation (de-compression effect) caused by the crossfeed processing. Turn up the volume elsewhere (e.g. on your amplifier) to compensate.
  2. While playing music, you can double-click on "Stereo Convolver" to take it in and out of the active DSP chain to verify the effect it is having on the music. But don't click on OK or Apply while it's out of the chain, otherwise the settings will be reset.
  3. V1.1 should be a subtle effect, sound should be slightly more forward and the left-centre-right blobs effect of headphone soundstage should be alleviated. At no point should the soundstage feel constricted in width. Indeed the soundstage should continue to be a very enveloping experience and you may at times struggle to identify whether the crossfeed is slotted in or out.
  4. V2.0 should yield an obvious out-of-your-head effect similar to listening to a genuine stereo setup. I find that the illusion grows on me especially through extended listening and especially if you sit in front of your computer monitor (the sounds will appear to come from and around the monitor)

D. Changelog
2016-07-26 v2.0 Added impulses sampled from real microphone placement in my own ears, removed previous impulses (still available in v1.1 download)
2016-06-22 v1.1 Added impulses for virtual speakers spaced 30+30 degrees apart (classic stereo setup with better front projection of imaging)
2016-06-21 v1.0 Initial release with impulses for virtual speakers spaced 50+50 degrees apart (widened stereo setup with more similarity to classic headphone soundstage width)

E. Credits

  • Eric89GXL of hydrogenaudio.org for creating the stereo crossfeed-convolution foobar2000 plugin
  • Impulses designed with the aid of Wave Arts Panorama and Audacity for waveform editing, Microsoft Excel for statistical analysis, and Voxengo CurveEQ for applying changes based on analysis
  • Natural headphone crossfeed for foobar2000 v1.0 package designed by Joseph Yeung (aka Joe Bloggs on Head-Fi)
 
post-12665442
Post #2 of 71

Tiddlesworth

500+ Head-Fier
Joined
Jun 15, 2013
Messages
997
Reaction score
86
Joined
Jun 15, 2013
Posts
997
Likes
86
The difference is discernible for sure, it's more instrument separation that's effected than soundstage, good stuff.
 
Edit: Tested using an AKG Q701. 
 
Further testing: Mileage may vary, can be subtle or apparent depending on the source. Works best with decently mastered, less congested (does not mean busy, means the mastering/mixing has a very narrow soundstage and the "sound source" is splattered all over) music. So most J-pop is out of the window.
 
"Super well-mastered audiophile" recordings eg. Amber Rubarth/Orchestral pieces don't change very much.
 
Can leave a "void" in the soundstage which can be disorienting with headphones as the "sound source" is very close. 
 
     Share This Post       
post-12666784
Post #4 of 71

Bob A (SD)

1000+ Head-Fier
Joined
May 11, 2003
Messages
1,485
Reaction score
331
Joined
May 11, 2003
Posts
1,485
Likes
331
Nice!   Currently comparing it foo_dsp_xfeed and foo_dsp_meiercf.
 
Joe any reason Resampler (SoX) couldn't be used instead of dBpoweramp/SSRC ?
 
     Share This Post       
post-12667008
Post #5 of 71

Joe Bloggs

Member of the Trade: HiBy / EFO technologies Co
His Porta Corda walked the Green Mile
Joined
Oct 21, 2001
Messages
10,856
Reaction score
2,614
Joined
Oct 21, 2001
Posts
10,856
Likes
2,614
Nice!   Currently comparing it foo_dsp_xfeed and foo_dsp_meiercf.

Joe any reason Resampler (SoX) couldn't be used instead of dBpoweramp/SSRC ?

Nah, I just didn't cover everything. Any resampler that resamples to 44100Hz is fine. :)
 
     Share This Post       
post-12667934
Post #6 of 71

Joe Bloggs

Member of the Trade: HiBy / EFO technologies Co
His Porta Corda walked the Green Mile
Joined
Oct 21, 2001
Messages
10,856
Reaction score
2,614
Joined
Oct 21, 2001
Posts
10,856
Likes
2,614
2016-06-22 update to v1.1: Added impulses for virtual speakers spaced 30+30 degrees apart (classic stereo setup with better front projection of imaging) (initial v1.0 release was with 50+50 degrees apart speakers--widened stereo setup with more similarity to classic headphone soundstage width)
 
     Share This Post       
post-12668148
Post #7 of 71

Bob A (SD)

1000+ Head-Fier
Joined
May 11, 2003
Messages
1,485
Reaction score
331
Joined
May 11, 2003
Posts
1,485
Likes
331
This may seem counter intutive but I tried it and rather like it:
 
DSP FB2K chain:
 
Resampler (SoX):  Target 44.1, Best quality,  95% bandpass,  45% linear phase response, aliasing/imaging not allowed
Stereo Convolver:  Joe Bloggs 30 degree left & right wav files, -1.0dB
Convolver:  _gl HD600 Curve 4 (64f) 44.1, +4dB  (http://www.head-fi.org/t/797907/hd600-my-custom-bass-extension-curves)
Skip Silence:  Short 5000ms, initial period intact, silence detection threshold -60dB

 
     Share This Post       
post-12673124
Post #8 of 71

thuNDa

100+ Head-Fier
Joined
Apr 29, 2016
Messages
105
Reaction score
28
Joined
Apr 29, 2016
Posts
105
Likes
28
great - a new toy in my foobar DSP-manager.

 
@Bob A (SD)
 
Shouldn't you put the HD650 curve into the chain, before it goes over to crossfeed, or was this the actual "counter intuive" part?
 
     Share This Post       
post-12673284
Post #9 of 71

Bob A (SD)

1000+ Head-Fier
Joined
May 11, 2003
Messages
1,485
Reaction score
331
Joined
May 11, 2003
Posts
1,485
Likes
331
  great - a new toy in my foobar DSP-manager.

 
@Bob A (SD)
 
Shouldn't you put the HD650 curve into the chain, before it goes over to crossfeed, or was this the actual "counter intuive" part?

It's a HD600 impulse curve, not HD650.   And its author (_gl) said it should be be placed after the crossfeed in the DSP chain.   I teased the counter intuitive bit about the use two types of convolver in one DSP chain.
 
     Share This Post       
post-12674034
Post #10 of 71

thuNDa

100+ Head-Fier
Joined
Apr 29, 2016
Messages
105
Reaction score
28
Joined
Apr 29, 2016
Posts
105
Likes
28
 
It's a HD600 impulse curve, not HD650.   And its author (_gl) said it should be be placed after the crossfeed in the DSP chain.   I teased the counter intuitive bit about the use two types of convolver in one DSP chain.
 
"Typo".
 
     Share This Post       
  • Like
Reactions: Bob A (SD)
post-12674156
Post #11 of 71

Bob A (SD)

1000+ Head-Fier
Joined
May 11, 2003
Messages
1,485
Reaction score
331
Joined
May 11, 2003
Posts
1,485
Likes
331
Joe,
 
  Spotted a post of yours today elsewhere regarding a different crossfeed plugin where you said "I've just gone back and redid my work preserving the full phase information and can't believe what I'm hearing!"  Does that mean we're going to see a v1.2 here?  And any chance you will offer your wav files in 88.2 for those that want to upsample to that with their Resampler?
 
  Thanks!
 
     Share This Post       
post-12674664
Post #12 of 71

Joe Bloggs

Member of the Trade: HiBy / EFO technologies Co
His Porta Corda walked the Green Mile
Joined
Oct 21, 2001
Messages
10,856
Reaction score
2,614
Joined
Oct 21, 2001
Posts
10,856
Likes
2,614
Joe,

  Spotted a post of yours today elsewhere regarding a different crossfeed plugin where you said "I've just gone back and redid my work preserving the full phase information and can't believe what I'm hearing!"  Does that mean we're going to see a v1.2 here?  And any chance you will offer your wav files in 88.2 for those that want to upsample to that with their Resampler?

  Thanks!

Check your pm :D
 
     Share This Post       
post-12674690
Post #13 of 71

Bob A (SD)

1000+ Head-Fier
Joined
May 11, 2003
Messages
1,485
Reaction score
331
Joined
May 11, 2003
Posts
1,485
Likes
331
Got it thank you.  Would still like to see your impulse wav files at 88.2 so that the Resampler could be used at 88.2 which would move any possible noise to well above audible hearing range.  This "tweak" and the benefit have been discussed in several of the Resampler threads elsewhere.
 
     Share This Post       
post-12674862
Post #14 of 71

Tiddlesworth

500+ Head-Fier
Joined
Jun 15, 2013
Messages
997
Reaction score
86
Joined
Jun 15, 2013
Posts
997
Likes
86
The update made the changes a lot more prominent, a little more disorienting as the most noticeable change is that it puts the voice/singer further away, still works best with less busy/complex music.
 
     Share This Post       
post-12676225
Post #15 of 71

Bob A (SD)

1000+ Head-Fier
Joined
May 11, 2003
Messages
1,485
Reaction score
331
Joined
May 11, 2003
Posts
1,485
Likes
331
Joe,
 
 After extensive auditioning, switching DSP chains, best of the bunch (for FB2K) in order of my preference are:
 
foo_dsp_stereoconv v 1.0.1 (w/Joe Bloggs HRFT 44.1 wav files v0.1; using SoX v 0.8.3  & _gl #4 HD600 curve @ 44.1 in convolver v 0.3)
foo_dsp_xfeed  v 0.1.3 (set with my head diameter, etc.); using SoX v 0.8.3 & _gl HD600 #4 curve @ 88.2 in convolver v 0.3
foo_dsp_stereoconv v 1.0.1 (w/Joe Bloggs' 30 degree 44.1 wav files v 1.1); using SoX v 0.8.3 & _gl HD600 curve #4 @ 44.1 in convolver v 0.3
foo_dsp_meiercf v 1.1 (with settings anywhere between 15 and 25); using SoX v 0.8.3 & _gl HD600 #4 curve @ 88.2 in convolver v 0.3
 
System used:
 
desktop > foobar2000 WASPI > Wyrd > Modi 2 > Polaris >  HD580 or HD600
                                                                 
 
I agree with Tiddlesworth about the positioning of the vocalists but I not only do not find it disorienting but find it more natural in a sense of how things are heard live.  Really nice!
 
     Share This Post       

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Top