Natural crossfeed on headphones / earphones for foobar2000 v2.1 [major update made public]
Jun 20, 2016 at 1:22 PM Thread Starter Post #1 of 83

Joe Bloggs

Sponsor: HiBy
Member of the Trade: EFO Technologies Co, YanYin Technology
His Porta Corda walked the Green Mile
Joined
Oct 21, 2001
Posts
12,657
Likes
5,622
Location
Hong Kong and Melbourne
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)
 
HiBy Stay updated on HiBy at their facebook, website or email (icons below). Stay updated on HiBy at their sponsor profile on Head-Fi.
 
https://www.facebook.com/hibycom https://store.hiby.com/ service@hiby.com
Jun 20, 2016 at 1:42 PM Post #2 of 83
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. 
 
Jun 21, 2016 at 2:47 AM Post #4 of 83
Nice!   Currently comparing it foo_dsp_xfeed and foo_dsp_meiercf.
 
Joe any reason Resampler (SoX) couldn't be used instead of dBpoweramp/SSRC ?
 
Jun 21, 2016 at 5:53 AM Post #5 of 83
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. :)
 
HiBy Stay updated on HiBy at their facebook, website or email (icons below). Stay updated on HiBy at their sponsor profile on Head-Fi.
 
https://www.facebook.com/hibycom https://store.hiby.com/ service@hiby.com
Jun 21, 2016 at 1:15 PM Post #6 of 83
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)
 
HiBy Stay updated on HiBy at their facebook, website or email (icons below). Stay updated on HiBy at their sponsor profile on Head-Fi.
 
https://www.facebook.com/hibycom https://store.hiby.com/ service@hiby.com
Jun 21, 2016 at 2:47 PM Post #7 of 83
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

 
Jun 23, 2016 at 12:25 PM Post #8 of 83
great - a new toy in my foobar DSP-manager.
tongue.gif

 
@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?
 
Jun 23, 2016 at 1:45 PM Post #9 of 83
  great - a new toy in my foobar DSP-manager.
tongue.gif

 
@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.
 
Jun 23, 2016 at 8:33 PM Post #11 of 83
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!
 
Jun 24, 2016 at 12:26 AM Post #12 of 83
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
 
HiBy Stay updated on HiBy at their facebook, website or email (icons below). Stay updated on HiBy at their sponsor profile on Head-Fi.
 
https://www.facebook.com/hibycom https://store.hiby.com/ service@hiby.com
Jun 24, 2016 at 12:48 AM Post #13 of 83
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.
 
Jun 24, 2016 at 2:58 AM Post #14 of 83
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.
 
Jun 24, 2016 at 4:12 PM Post #15 of 83
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!
 

Users who are viewing this thread

Back
Top