HydrogenAudio

Hosted Forums => foobar2000 => 3rd Party Plugins - (fb2k) => Topic started by: xnor on 2011-09-12 18:50:18

Title: foo_dsp_xfeed
Post by: xnor on 2011-09-12 18:50:18
Heya,

this is the discussion thread for foo_dsp_xfeed, a Crossfeed DSP component.
For those who don't know what that is: it enables a more relaxed and natural listening experience with headphones. A more detailed explanation why and how it works is given below.

Download (http://www.hydrogenaudio.org/forums/index.php?showtopic=90761)

Usage
1) Install the downloaded zip file using the Components preferences page.
2) Add "Crossfeed" to the list of active DSPs (Playback - DSP Manager preferences page).
3) Configure it.

Explanation
Let's take a look at the image below.

(http://img31.imageshack.us/img31/1244/xfeed.jpg)

When listening with headphones, the left ear only hears sound coming from the left speaker (LL) and the right ear only the sound coming from the right speaker (RR). This often results in unnatural stereo separation or spaciousness and can cause listening fatigue.

When listening with speakers, sound from the right speaker also arrives at the left ear (RL), with a small time delay though. This time delay is known as interaural time difference (ITD). Additionally, there's a difference in level known as interaural level difference (ILD). In the image above, line thickness indicates these level differences.

In reality, things aren't that simple. The level difference, for example, is not constant because the head obstructs higher frequencies a lot better than low frequencies (aka head shadow). While at low frequencies the attenuation can be as low as and even lower than 3 dB, it can reach up to about 20 dB at high frequencies.
To make things more complex, both the ITD and ILD change depending on the angle of the speakers.

As the delay and level differences are reduced to zero, the left and right speakers merge into a single center speaker (effectively mono).

How is this DSP component different from ...
Compared to simple crossfeed effects, this implementation does not only crossfeed bass and lower mids but all frequencies up to Fs/2.
By configuring crossfeed levels for both low and high frequencies, this DSP can be set up to mimic the acoustic shadow of your own head.
-> For example, hi-hat sounds panned hard to the left/right on a recording can be moved "out of the head" coherently with all the other instruments.

The configuration dialog looks like this:
(http://img842.imageshack.us/img842/1843/xfeed.png)

Please give it a try and let me know what you think, thanks.
Title: foo_dsp_xfeed
Post by: mudlord on 2011-09-13 11:46:08
Nice.
Put it right in and worked outta the box.
Title: foo_dsp_xfeed
Post by: Steve Forte Rio on 2011-09-13 14:01:18
Can't hear any considerable differences from "Bauer Stereo to Binaural" effect. What are the advantages of this component??
Title: foo_dsp_xfeed
Post by: xnor on 2011-09-13 15:48:15
I updated the first post which should hopefully answer your question(s). Thanks for giving it a try.

edit:
v0.1.1 released
Title: foo_dsp_xfeed
Post by: Steve Forte Rio on 2011-09-13 20:14:51
Thanks.
Please, add the "Load Defaults" button to the component configuration window.
Title: foo_dsp_xfeed
Post by: markanini on 2011-09-14 04:16:47
This one really nails the illusion of listening to stereo speakers in a room! Some early stereo material still needs bass frequencies mono-ized but that's beside the point. Thanks for writing this plugin xnor!
Title: foo_dsp_xfeed
Post by: markanini on 2011-09-16 00:37:45
xnor, after listening to my favorite albums through your plugin for a couple of days I'm still amazed by how much I like your crossfeed implementation over other ones I've used in the past. One thing that strikes me is the improved intelligibility of low-end ranges. Of course this is just my subjective evaluation. Out of curiosity, how did you decide on the default values?
Title: foo_dsp_xfeed
Post by: xnor on 2011-09-16 15:47:22
I'm glad you enjoy it as much as I do.

The defaults (-3, -12 dB and 250 us in v0.1.1) aren't perfect and also don't work with every head. The low frequency crossfeed level isn't that critical because the time delay and resulting phase shift is more important in that frequency range - to our hearing anyway. Additionally, many recordings (except the ones you mentioned) already have bass in the center so this value can be increased to your liking.

The high frequency level should be lower in theory because if you look at some 30° HRTFs you can see average level differences of roughly -18 dB. Though these HRTFs are measured in anechoic chambers. My component doesn't add reverb (yet) so I increased the default to account for that.

The time delay also is based on averaged 30° HRTFs, but is highly head-shape dependent. You can approximate this value with: ITD = d/(2 * c) * (a+ sin(a)) where d is your head's diameter (in m), c is the speed of sound (~343 in m/s) and a the angle (for example 30°/180*pi, in rad). As you can see this simple model assumes that your head is spherical.
Title: foo_dsp_xfeed
Post by: j_b on 2011-09-16 23:18:33
Fascinating. Headphone users are using DSP to add stereo crosstalk and loudspeaker users are using DSP to remove it.
Title: foo_dsp_xfeed
Post by: xnor on 2011-09-16 23:41:05
Fascinating. Headphone users are using DSP to add stereo crosstalk and loudspeaker users are using DSP to remove it.

Yeah, loudspeaker folks use it to achieve effects like somebody whispering into your left or right ear (special FX, "3D sound" ...) or artificially expand the stereo image/stage width. Imo, the latter doesn't make much sense with stereo music that wasn't mastered with this in mind (virtually all stereo music). And you also have to keep in mind that crosstalk cancellation only works down to a couple decibels with speakers, else you'll get awful coloration, a tiny sweet-spot and so on. So headphones have an advantage if you need that unnatural separation (e.g. for binaural recordings) because they provide it out of the box and adding a delayed, equalized signal is easy to do compared to crosstalk cancellation.

I've been using different crossfeed implementations from the day I started listening to music with headphones. Imo, even the simplest kind of crossfeed circuit or DSP is already a big improvement.
Title: foo_dsp_xfeed
Post by: j_b on 2011-09-17 00:12:53
...adding a delayed, equalized signal is easy to do compared to crosstalk cancellation.

But that's precisely how crosstalk cancellation is done except the added signal is inverted and applied to the opposite channel. I'm putting the finishing touches on an Ambiophonics plugin for foobar2000 and I've observed none of the deficiencies you claim.
Title: foo_dsp_xfeed
Post by: xnor on 2011-09-17 00:26:26
But that's precisely how crosstalk cancellation is done except the added signal is inverted and applied to the opposite channel.

That would be a simple way of (trying to) doing it but afaik more (complex) filters are required to achieve acceptable results. I was thinking about conventional loudspeaker positioning though where things can get quite hairy.

Quote
I'm putting the finishing touches on an Ambiophonics plugin for foobar2000 and I've observed none of the deficiencies you claim.

Have you measured how well the cancellation works at the listening position? And 1 m next to it?
There are records where, e.g. in the beginning of a track, one channel is basically silence (below -60 dB anyway) while the other contains some loud instrument. In no way you'll hear something like that in the real world and neither did the artist or engineers because they listening to it on stereo speakers without any crosstalk cancellation. And I also don't think that an inverted signal could cancel the crosstalk in a way to even come close to such an unnatural level of separation.

From Wikipedia, Ambiophonics "generates a speaker-binaural soundfield that emulates headphone-binaural". Just like I wrote above, crosstalk cancellation has its applications like binaural recordings, "3D sound" etc., but stereophonic music designed with and for conventional stereo loudspeaker setups is not one of them for the reasons outlined before, imo, ymmv. Also, I think that some of the premises which Ambiophonics builds upon are not correct, but this gets quite a bit off-topic here and is better discussed in another thread.
Title: foo_dsp_xfeed
Post by: markanini on 2011-09-17 01:14:08
I'm glad you enjoy it as much as I do.

The defaults (-3, -12 dB and 250 us in v0.1.1) aren't perfect and also don't work with every head. The low frequency crossfeed level isn't that critical because the time delay and resulting phase shift is more important in that frequency range - to our hearing anyway. Additionally, many recordings (except the ones you mentioned) already have bass in the center so this value can be increased to your liking.

The high frequency level should be lower in theory because if you look at some 30° HRTFs you can see average level differences of roughly -18 dB. Though these HRTFs are measured in anechoic chambers. My component doesn't add reverb (yet) so I increased the default to account for that.

The time delay also is based on averaged 30° HRTFs, but is highly head-shape dependent. You can approximate this value with: ITD = d/(2 * c) * (a+ sin(a)) where d is your head's diameter (in m), c is the speed of sound (~343 in m/s) and a the angle (for example 30°/180*pi, in rad). As you can see this simple model assumes that your head is spherical.


Thanks for the explaination. I couldn't quite folow the equation but that wouldnt be the first time...I you'd feel like breaking it down further for me it would make me very glad.

BTW I'm now routing my broswer and video player throught FB2K to make use of your crossfeed plugin. Consider me a fan
Title: foo_dsp_xfeed
Post by: j_b on 2011-09-17 03:53:54
There are records where, e.g. in the beginning of a track, one channel is basically silence (below -60 dB anyway) while the other contains some loud instrument. In no way you'll hear something like that in the real world and neither did the artist or engineers because they listening to it on stereo speakers without any crosstalk cancellation.

I’ll never know what the artist or recording engineer heard nor do I care. The recording is what it is. I do know that when you add two signals that have frequencies in common there will be a continuum of constructive and destructive interference. The left and right channels of nearly all stereo recordings have frequencies in common. I also know that when you reinforce a signal with a phase shifted copy of itself you get a comb-filter effect. Most stereo recordings have center channel information that is common to both channels. The comb-filter and related effects are the damage done by stereo crosstalk. I find reducing those effects beneficial; you find the opposite.
Title: foo_dsp_xfeed
Post by: xnor on 2011-09-17 12:28:46
Thanks for the explaination. I couldn't quite folow the equation but that wouldnt be the first time...I you'd feel like breaking it down further for me it would make me very glad.

BTW I'm now routing my broswer and video player throught FB2K to make use of your crossfeed plugin. Consider me a fan

Heh, yeah that is a nice idea. It would rock to have certain DSP components installed as system-wide APOs (audio processing objects) so sound from any application could be processed but afaik these can only be installed with a sound card driver. (Win32 devs please correct me if I'm wrong.)

Regarding the equation, here's an example: d = 15 cm = 0.15 m, a = 30° = 0.524 rad. This angle spans between M and SR or M and SL in the image in post #1 or see the image below. An angle of 90° would mean that the speakers are not in the front but exactly to the left and right of your head, which is where the ITD reaches its maximum (~700 us).

ITD = 0.15/(2 * 343) * (0.524 + sin(0.524)) = 2.24e-4 s = 224 us

If you use the windows calculator make sure you set it to 'Rad' instead of degrees.


I’ll never know what the artist or recording engineer heard nor do I care.

Even if we don't know for sure it's very, very unlikely that they heard a crosstalk canceled let alone Ambiophonics filtered version.

Most likely the setup looked similar to this:

(http://www.jiscdigitalmedia.ac.uk/images/bam-02-stereo.jpg)
(correct speaker placement for monitoring stereo recordings)

Quote
Most stereo recordings have center channel information that is common to both channels. The comb-filter and related effects are the damage done by stereo crosstalk. I find reducing those effects beneficial; you find the opposite.

In theory you get a couple deep comb notches with the first one located near 2 kHz, yes, but those gaps are filled with reflections, reverberation and are further reduced by diffraction and so on. That's one of the reasons why stereo doesn't sound right in anechoic environments, but it sounds fine in normal listening rooms.
Secondly, the high frequencies where comb filtering occurs are supposed to add in terms of energy and not amplitude. Thirdly, the common part of the signal is significantly lower in level at higher frequencies.
Altogether, the "damaging and destructive crosstalk" is only a problem if you want to listen to binaural stuff with loudspeakers, imo, ymmv.
Title: foo_dsp_xfeed
Post by: markanini on 2011-09-17 14:22:46
0.15/(2 * 343) * (0.524 + sin(0.524))


Thanks! If anyone else is interested in calculating the optimum value for them selfs all you need to to is substitute '0.15' for your heads diameter in meters and paste that line into Google. Voila!
(Probably obvious to most members here but I hope this helps less math literate folks like me  )
Title: foo_dsp_xfeed
Post by: jaro1 on 2011-09-18 18:36:47
Headphone DSPs have had always my interest, so thanks for this. Unfortunately i haven't currently the possibility to hear or test it as my PC is broken, so i've a question. Does your component use frequency-dependent ITDs?
BS2B definitely isn't simple crossfeed component, it does use frequency-dependent ITD, doesn't suffer from comb filter effect as it isn't FFT based and it is my favorite non HRTF headphone DSP.
With respect to HRTF based DSP, i think TB Isone has no competition, however it is commercial VST plugin intended primarily for mixing purposes.
Title: foo_dsp_xfeed
Post by: xnor on 2011-09-18 19:30:05
Does your component use frequency-dependent ITDs?

ITD is not really frequency-dependent. It is not constant either but right now the component does not deal with custom head-shapes or ear (dis)placement related effects. Actually, I don't think that there is any plugin out there that deals with this, because it's not really that important or would be cumbersome to configure I guess.

Quote
BS2B definitely isn't simple crossfeed component, it does use frequency-dependent ITD, doesn't suffer from comb filter effect as it isn't FFT based and it is my favorite non HRTF headphone DSP.

Don't get me wrong, when I write 'simple' I don't mean trivial or bad. But bs2b, just like its electronic circuit counterparts, takes the signal, applies a low pass filter, delays the output and mixes it into the other channel. This is why you see a decreasing ITD with increasing frequency: because of the low pass filter there is nothing left to delay at higher frequencies. And since there is not much left there also occurs no comb filtering, which however is a trait of stereophonic sound.
It works well enough (I used it myself quite some time) but it's a simplified model.
Title: foo_dsp_xfeed
Post by: jaro1 on 2011-09-18 21:52:56
Thanks for your comment, i must definitely try your crossfeed sometimes when possible. However , i'd be curious to know your opinion about TB Isone when compared with xfeed.
Title: foo_dsp_xfeed
Post by: xnor on 2011-09-18 22:18:24
I gave it a try quite some time ago so I'll have to take another look at a recent version.

edit: typo fixed, re-upped.
edit2: current version has a bug where the labels lag behind the sliders, will be fixed with the next version.

edit3: 0.1.3 released.

When adjusting the volume please make sure that you don't run into clipping. View - Visualizations - Peak Meter is a good indicator but to be sure take a couple of files and convert/process them e.g. to 32-bit wav with the crossfeed enabled. Scan the resulting files with ReplayGain and check the track peaks.
Title: foo_dsp_xfeed
Post by: Sandrine on 2011-09-20 13:24:38
The positioning of instruments is indeed more agreeable with this plugin enabled. However, it seems to suffer a bit from the same problem most crossfeeds do: Higher frequencies seem to be attenuated to a higher degree, making the sound seemingly warmer but also less sharply defined. Is there a way to compensate for this? Or should the plugin maybe be used in conjunction with noise sharpening?
Title: foo_dsp_xfeed
Post by: xnor on 2011-09-20 14:37:41
Sandrine, with the latest release you can adjust the shelving EQ. I recommend leaving it at 0 dB but if it sounds too muffled with your headphones you can set this to -3 dB for example, or insert a standalone EQ into your DSP chain and boost treble there.

That higher frequencies seem to be attenuated is not a 'bug', it's intended this way.
Title: foo_dsp_xfeed
Post by: Ihmemies on 2011-09-21 00:38:43
Thanks for this.

It's interesting to find and try out new crossfeed plugins! I've used quite a few since getting my headphone amplifier in 2004 with built-in crossfeed.

Title: foo_dsp_xfeed
Post by: xnor on 2011-09-22 20:01:53
However , i'd be curious to know your opinion about TB Isone when compared with xfeed.

I gave the latest version a quick listen. The hrtf cues don't work for me at all and I guess the same is true for many headphones that are more or less diffuse-field equalized. Disabling the cues (strength set to zero) helps a bit and makes the plugin more behave like my component, but renders the knobs on the right side useless. Anyway, imo the job of equalization should best be left to an EQ plugin/component, which also offers a lot more flexibility.
The speaker designer seems to be a simple 3 band EQ which I set to flat because again, I prefer to use a dedicated EQ for this job.
The room designer is a nice add-on. I've been planning to add an optional room reverb feature to my component as well. I haven't done much with artificial reverb so far so this will be an interesting journey.


Thanks for this.
It's interesting to find and try out new crossfeed plugins! I've used quite a few since getting my headphone amplifier in 2004 with built-in crossfeed.

You're welcome!
It's even more interesting to design and implement one. 
Title: foo_dsp_xfeed
Post by: The Link on 2011-09-22 21:19:12
Sorry for being a little off topic. In the lack of proper crossfeed software on the Mac, I recently found Canz3D (http://www.midnightwalrus.com/Canz3D/). It's more than just crossfeed but a room simulation with quite a lot parameters. Atm I'm just using the default preset (Full blown) and am very impressed by the result. Not sure if you're intending to head this way in the long run. Just wanted to mention it here. On windows/foobar your component is currently my favorite dsp for headphone listening. Keep up the great work!
Title: foo_dsp_xfeed
Post by: xnor on 2011-09-22 22:30:23
Thanks for mentioning it, The Link. Even a simple (and less CPU intensive) reverb model should help with externalization, which is what I'm aiming at for the next big release.
Title: foo_dsp_xfeed
Post by: kumbbl on 2011-09-23 13:12:31
first of all thanks for this very nice plugins - especially valueable for headphone listenings to quite old stereo albums like some Beatles stuff..

One question: what exactly does the sliders for EQ (low-shelf and Volume): In which situations they can do what??
Title: foo_dsp_xfeed
Post by: xnor on 2011-09-23 13:51:15
One question: what exactly does the sliders for EQ (low-shelf and Volume): In which situations they can do what??

The low-shelf can be used to cut or boost frequencies below approx. 1.5 kHz. If you get muffled sound with your headphones you can cut, if the sound is too bright you can boost.
Ideally it just sounds right and you don't need to touch this slider.

The volume slider adjusts the overall gain of the component. Turn it up to get some volume back but watch out for clipping (see #20 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=90764&view=findpost&p=769620)).
If you use another component (e.g. an EQ) to adjust levels then you don't need to touch this slider either.
Title: foo_dsp_xfeed
Post by: jaro1 on 2011-09-24 12:59:58
Thanks for commenting TB Isone, glad to hear your plans to implement some kind of room designer also. I still didn't have the possibility to hear xfeed, but i've a good feeling about it, first headphones DSP after quite a long time. I appreciate your idea and effort with this dsp.
Title: foo_dsp_xfeed
Post by: Fool_on_the_hill on 2011-10-05 14:59:27
hello. Thank you xnor for another great crossfeed component. it sounds very much like foo_dsp_dolbyhp+dolbyhph.dll. don't know which is better...
Title: foo_dsp_xfeed
Post by: xnor on 2011-10-05 15:42:37
I always found that dolbyhp adds quite some amount of reverb which cannot be disabled afaik. If I remember correctly, it also colors the sound quite a bit and can/does sound significantly different.
Title: foo_dsp_xfeed
Post by: markanini on 2011-10-05 16:18:38
Xnor, do you recomend having crossfeed turned on or off with mono material?
Title: foo_dsp_xfeed
Post by: xnor on 2011-10-05 17:24:41
Xnor, do you recomend having crossfeed turned on or off with mono material?


Right now the component only processes stereo so you can leave it turned on all the time.

Maybe I'll add dual-mono crossfeeding in a future version.
Title: foo_dsp_xfeed
Post by: jaro1 on 2011-10-06 20:12:37
Finally i've had an opportunity to try xfeed and compared it directly with TB Isone. Crossfeeding fundamental of xfeed is similar to that of Isone, but a little bit smoother, without such distinct two step frequency roll-off, however this doesn't necessarily mean it's better or worse at this point. The biggest advantage of Isone besides HRTF designer is in perfect Room designer and Distance adjustment. These additional adjustments push Isone to the feeling that is for me nearer to the real speaker listening. If there will be some of these addons implemented to xfeed also, it could easily reach similar level of feeling, but for now it's a step behind, IMHO. On the other side, xfeed is natural fb2k plugin, what TB Isone will probably never be. 
Thanks to xnor for this component.
Title: foo_dsp_xfeed
Post by: markanini on 2011-10-06 20:51:24
Xnor, do you recomend having crossfeed turned on or off with mono material?


Right now the component only processes stereo so you can leave it turned on all the time.

Maybe I'll add dual-mono crossfeeding in a future version.

I use the built in 'Convert mono to stereo' dsp before crossfeed. It sounds nice. Now this make sence if the mastering engineer monitored through stereo setup but I'm not sure about what it means for something like a >1960s needledrop or a mono recording of a solo instrumment (other than sounding like it's played back through a stereo set-up).
Title: foo_dsp_xfeed
Post by: jaro1 on 2011-10-12 19:31:12
I wanted slightly revise my last comment in favour to xfeed. I fiddled with options, listened to many genres for few days and found a result i'm very satisfied with. Together with the fact it is native fb2k plugin with much lower cpu usage for filtering, i've decided not to use TB Isone at all, however i still think it is a step ahead. After all its purpose is for mixing, it isn't free (however its price is very low) and its processing demand isn't despite of optimization not the lowest, but no question it is a profi tool and imho the best crossfeeder i've used to this time (this is however highly subjective, of course).
On the other side, xfeed is imho much closer to Isone than other crossfeeders i listened to, if adjusted correctly.
My usual question as i use also wmp12 in some cases. Xnor, is there any chance to make xfeed also as wmp12 audio dsp MF Transform plugin?
Thanks for your work on this.
Title: foo_dsp_xfeed
Post by: xnor on 2011-10-12 20:21:44
[...] but I'm not sure about what it means for something like a >1960s needledrop or a mono recording of a solo instrumment (other than sounding like it's played back through a stereo set-up).

Sorry, neither do I, don't have such recordings. 

My usual question as i use also wmp12 in some cases. Xnor, is there any chance to make xfeed also as wmp12 audio dsp MF Transform plugin?
Thanks for your work on this.

I haven't developed wmp plugins so far, but if (free) time permits I will look into it.
Title: foo_dsp_xfeed
Post by: jaro1 on 2011-10-13 07:35:55
...but if (free) time permits I will look into it.

Thanks.
Title: foo_dsp_xfeed
Post by: vittau on 2011-10-28 20:36:53
Thank you xnor, both your crossfeed and equalizer plugins are awesome! 

I have a minor suggestion for the crossfeed: make a slider below ITD to adjust it directly by the head circumference, and make both sliders locked (changes to one them reflect on the other). Or maybe add a check box switch.
That should make adjustments a bit more intuitive and easier to do for most people.
Title: foo_dsp_xfeed
Post by: xnor on 2011-10-29 09:37:56
Noted. You're right. I think it would already be easier if the head diameter/circumference (keep in mind that this is just an approximation so I'm not sure if it a good idea to make this value configurable directly) was displayed along with the ITD.
Title: foo_dsp_xfeed
Post by: markanini on 2011-11-09 18:17:23
xnor, Do you think your crossfeed works best with a Diffuse-field responce headphone or free-field? Or the hybrids in newer phones?
Title: foo_dsp_xfeed
Post by: xnor on 2011-11-12 17:18:22
Hmm I'd say that the reduction of stereo separation works with any headphone. For a proper location of sounds however the response is very important. The problem is that everyone's ears etc. are different so even perfectly equalized headphones would sound more or less right/wrong from person to person because the equalization is usually based on some average (dummy head). Instead you'd need individual measurements and equalization for better results.
A 30° HRTF neither matches the free-field nor the diffuse-field response, so the "optimum" probably lies somewhere in between.
Title: foo_dsp_xfeed
Post by: markanini on 2011-11-13 00:10:17
Let me check if I understood your point, so headphones like Etymotic ER-4 which conform to DF or Beyer DT48 which confroms to FF would both be "biased".

EDIT: Did further searching a found this "nonindependent of direction HRTF"(http://www.innerfidelity.com/images/110401_measure_graph_headacousticshrtf.jpg)
Seems this is the ideal in-between?
Title: foo_dsp_xfeed
Post by: markanini on 2011-11-13 09:48:28
Did further searching, the ID-HRTF above has one limitation in that it doesn't account for shoulders, the upside being that it breaks away from the abstract and arbitrary goals defined in FF and DF respectively. Found yet another curve that's an average of DF and FF:
Title: foo_dsp_xfeed
Post by: markanini on 2011-12-19 22:31:14
Xnor, is the HF cutoff preset or dependent on other settings?
Title: foo_dsp_xfeed
Post by: extrabigmehdi on 2012-02-03 18:09:09
Thanks, I  found this component very easy to tweak , and the explanations quite good.
I  compared with the redline monitor vst, it's not as straightforward and couldn't achieve the same result.
The tb iso prone sound too much like a reverb, and I  hate that it reset itself when I  use it with the vst adapter.
And for a reverb, I  rather use good stereo IR with my favorite vst.

The default settings were too much for me.
Using :
ILD  low : -5.5 db
ILD  high: -19 db
ITD  : 85 us

I  don't know to which speaker position this would correspond, but that's nice & enough subtle .


I  know a  free vst "head-fit" that seems similar , but that introduces more settings, I  copy/paste:

Quote
ILD LF means interaural level difference at low frequencies

ITD LF time is for interaural delay between ears at low frequencies in ms

ILD HF interaural level difference at high frequencies

ITD HF time is interaural delay between ears at high frequencies

F central is used to adjust the frequency between lows and highs


Unfortunately I  didn't manage to make it work inside foobar.
Title: foo_dsp_xfeed
Post by: xnor on 2012-02-03 18:33:52
Thanks, I  found this component very easy to tweak , and the explanations quite good.

Hey, glad you enjoy it as much as I do.

Quote
I  don't know to which speaker position this would correspond, but that's nice & enough subtle .

Well that's hard to say. Those ILD values are an indication of a wide angle, the ITD on the other hand corresponds to about 10° if I'm not mistaken. But since the ILD dominates with your settings I guess the ITD value doesn't matter very much.

Quote
I  know a  free vst "head-fit" that seems similar , but that introduces more settings, I  copy/paste:

I also know that one. More settings are great but for lower frequencies our ear mainly evaluates time differences and above ~1.6 kHz mainly level differences are evaluated so being able to configure a different ITD for high frequencies doesn't seem important.

But I've noted it down on my todo/look into list.

Title: foo_dsp_xfeed
Post by: extrabigmehdi on 2012-02-03 19:00:35

Quote
Well that's hard to say. Those ILD values are an indication of a wide angle, the ITD on the other hand corresponds to about 10° if I'm not mistaken. But since the ILD dominates with your settings I guess the ITD value doesn't matter very much.


Well, I still notice the effects of ITD  despite my ILD  settings. Anyway, I  wasn't looking for a "speaker like"  soundstage when adjusting the settings, just something relaxing and enjoyable.
Title: foo_dsp_xfeed
Post by: markanini on 2012-02-15 10:42:19
I've compared head-fit to xfeed a while back. It seems to work on similar principles and exposes two additional parameters labeled "ITD LF" and 'F central'. I found it impossible to match the output between head_fit and xfeed. I'm not sure why. I'm guessing the 'ITD LF' corresponds to "0" in xfeed(?). I still wonder how xfeed sets 'F-central' equivalent, like if it correlates to another parameter or if it's fixed to a specific frequency. The first crossfeed for Rockbox (http://www.rockbox.org/tracker/task/11577) also seems to work on similar principals and exposes a setting eqivalent to 'F central' labelled 'High-Frequency Cutoff'. Again I couldn't get the output to match xfeed and I'm not sure why. Frankly I prefer that xfeed doesnt expose as many settings as I'm never compelled to distract myself with tweaking parameters  All these implementations sound much more convincing than Meier type crossfeed to my ears.

BTW this might be useful to study for future room reverb implementations: http://www.ohl.to/about-audio/audio-softwares/the-final-cut (http://www.ohl.to/about-audio/audio-softwares/the-final-cut)
Title: foo_dsp_xfeed
Post by: YellowOnion on 2012-10-12 01:01:04
Do you take into account speaker distance from Listener? (inverse-squared law if I can remember correctly) it seems that center panned sounds still sounds like they are in my head unless I use settings like -3, -6, and 220us.

Unless this plugin isn't suppose to fix this.

I'm using AKG Q701's (http://www.innerfidelity.com/images/AKGQuincyJonesQ701.pdf) if this is relavant.
Title: foo_dsp_xfeed
Post by: markanini on 2013-04-12 04:34:11
A new contender? http://europe.beyerdynamic.com/virtual-studio.html (http://europe.beyerdynamic.com/virtual-studio.html)
Title: foo_dsp_xfeed
Post by: Propheticus on 2013-04-12 11:55:30
I find the effects to sound quite realistic (especially the live venue) but too strong for use as a replacement crossfeed for regular headphone listening. I think I'll stick with Head-fit-lite for now.
Title: foo_dsp_xfeed
Post by: extrabigmehdi on 2013-04-12 13:33:07
I find the effects to sound quite realistic (especially the live venue) but too strong for use as a replacement crossfeed for regular headphone listening. I think I'll stick with Head-fit-lite for now.


Head-fi lite doesn't work properly for me with foobar and vst adapter (problem of displayed interface).
Regarding "strength", you can decrease it for any crossfeed, and in this case you use ILD low and ILD high (you move sliders to left).
Title: foo_dsp_xfeed
Post by: Propheticus on 2013-04-12 14:30:47
This* is not a crossfeed however, it is a room virtualizer (more like dolby headphone). It does not offer ILD and ITD controls. Head-fit-lite (http://www.ohl.to/audio/downloads/head-fit-lite.zip) works, albeit a bit buggy. You have to enable and then disable the EQ setup button to get rid of the EQ ui buttons that otherwise lay on top of the crossfeed buttons (only works while playing music).

*; I was replying directly to markanini who linked to the Beyerdynamic virtual studio.
Title: foo_dsp_xfeed
Post by: extrabigmehdi on 2013-04-12 20:58:20
You have to enable and then disable the EQ setup button to get rid of the EQ ui buttons that otherwise lay on top of the crossfeed buttons (only works while playing music).

Oh great , just managed to make it work.


Quote
*; I was replying directly to markanini who linked to the Beyerdynamic virtual studio.

Sorry if I misread you, using quote prevent such confusion.

Just tried that Beyer Virtual Studio. I like that you can run it without much fuss.
I find it reduce fidelity , but fatigue too.
I just can stand recently the wide stereo separation of my hd800 (unless it's that mid bass hitting too hard too).
Title: foo_dsp_xfeed
Post by: rowbee on 2014-02-07 02:12:46
Xnor you're awesome!

This plugin is brilliant! Thank you!
Title: foo_dsp_xfeed
Post by: jaro1 on 2014-08-03 21:24:33
I wanted to post a comment much sooner, but was finally pushed to do so by today's short conversation in bs2b component thread with reference to new crossfeed component by Case, which I didn't know about, but have tried it already.
As just a user, i don't know the rules or requirements needed to list a component on main fb2k site, if it is on creator's decision or not. Current status with crossfeed plugins is rather mess, all of them have basically the same purpose, but are listed under different tags or are located just somewhere in the HA forum. I mean the user "darkflame" is proof of that, if he didn't know about your component (update: he tried it ). I apologize if it isn't this case, but anyway I didn't know about Case's crossfeed component. It'd be good to list them all under same tag, "headphones" or "crossfeed" or another.

It is big shame the components are scattered there and there and that your component isn't listed on fb2k site, as it is, because of its design, on completely different level, imho. Don't get me wrong everybody, i highly appreciate every effort and this isn't criticism of other crossfeed components available, it is just my personal comparison between them.

We had a conversation at the beginning of this thread, so i don't want to repeat myself. The reason of this post is a request related to the only thing i miss in your component, some kind of room designer, such as we know from TB Isone and which would certainly push the feeling even much further. I think the current base of this component is so good (very similar to TB Isone), that it directly calls after such refinement. I use it more that 2,5 years and can't imagine to listen without it. Overall feeling can be very slightly improved with sensitively adjusted mudlord's freeverb component, but it isn't the right solution. I agree with you, that HRTF designer from TB Isone isn't critical part to achieve the right listening feeling and can be understood as optional extension on top of crossfeed and room designer. Reverb time can be supplied by existing plugins, but only room designer (speaker distance, room size, early reflections, diffusion, reverb time) would move listener from anechoic chamber to real-like environment.

I don't know your further plans (if any) with this component, but kind of room designer would be perfect addition to it.
Title: foo_dsp_xfeed
Post by: darkflame23 on 2014-08-23 10:54:55
I'm going to give this a try today, and am trying to work out the best settings for my head size. My maths skills are appalling... 

My head diameter is .15 or .16 meters (as close as my wife could measure it, it's a difficult measurement to do!), and I am used to having my speakers at 60 degrees in my studio. Can you give me the best measurements to use with the FB2K component? I get confused trying to work out the degrees, as your previous example is 30 degrees and not 60. Can I just halve 0.524 to arrive at 0.262?

Headphones are Sennhesier HD600s fed by a Crookwood DAC and headphone amp.
Title: foo_dsp_xfeed
Post by: xnor on 2014-08-23 12:23:49
d = 0.15/(2*343) * (1.0472 + sin(1.0472)) = 418us
with 0.16 => 446us

But are your speakers really located at +/- 60°, spanning an angle of 120°?

Also remember that this is only a ballpark figure.
Title: foo_dsp_xfeed
Post by: darkflame23 on 2014-08-23 16:29:40
Thank you, I will certainly give those settings a try!

I think the standard set up for near field studio monitors is with a 60 degree angle (an equilateral triangle with a narrow sweet spot). I believe in home theatre they prefer to use 30 degrees for a wider sweet spot? So yeah, basically the monitors are at 60 degrees with me in the middle. Does that make sense? Like this:

(http://i393.photobucket.com/albums/pp14/Inverted_Heptagram_Star/60degreetriangle.png)
Title: foo_dsp_xfeed
Post by: xnor on 2014-08-23 17:45:42
Yes that is +/- 30° or spanning 60° between the speakers. So 224us with 0.15m.
Title: foo_dsp_xfeed
Post by: darkflame23 on 2014-08-24 10:41:09
Ah OK, thanks! Had good results with it last night.
Title: foo_dsp_xfeed
Post by: Issst on 2015-11-03 19:12:07
Amazing DSP. If i listen music without your plugin i have a headeche.
Title: foo_dsp_xfeed
Post by: Issst on 2015-11-04 16:43:44
My head's diameter is 0.19m.

Now i use
ILD low -4.5 dB
ILD high -12 dB
ITD 284 us

Is it best settings for my 0.19m head's diameter?
Title: Re: foo_dsp_xfeed
Post by: Gio-Gio on 2016-01-18 23:19:19
Ok, I think I got lost when I have read about head diameter, I will not open this door now.
But I would like to know the difference between 0.1.3 and 0.1.2
I saw the changelog but, I wonder why you keep offering both versions.
Are there situations where the 0.1.3 is not desirable?
Thanks
Title: Re: foo_dsp_xfeed
Post by: Gio-Gio on 2016-01-19 02:16:53
Hmmm, ok, I got it, the formula. Although I think that more than the diameter of the head it should be the distance from ear to ear, what do you think?

About the two files, 0.1.2 and 0.1.3, besides understanding the differences, how do I know which of the two on the download thread is which? they both have the same name and I have downloaded both but in the properties there is no info about the version of the dll.
Title: Re: foo_dsp_xfeed
Post by: Gio-Gio on 2016-01-21 04:32:08
Nobody here anymore?

Anyway, I have tried both files and found the right one.
I just wanted to say, apart that I know now the formula by memory (cool), I have had better results using the inner diameter of the head, the one of the circle which supposedly passes through the hammers of the ears. So, 12cm instead of 15, approximately. The resulting sound is more "in my head", like when one finds that magic spot of the triangle with speakers.

I have compared this with the Binaural and the meier. Ar first listening the meier was more interesting, and then for a while I have preferred the binaural, but now I am pretty sure I like this the most.
I have used it with Dolby Headphones for a while and although the first impression was "wtf?" (too much) I had gotten used.
But then I have found this stereo effect based on the Haas effect, called SX36 (http://www.jovankoncar.com/j1000/).
It definitely sound much better than either DB + Xfeed, or Xfeed alone. Much more natural than DB, much more open and spacious than Xfeed alone (but still centred and crossfed...).
It is quite tricky to get the right spot.
In the case of the SX36 anyway it is not (or I think it is not) related to dimensions of head, so I can give a screenshot of my settings if anybody is interested. I have spent many hours to get to that. You could spare them.
Title: Re: foo_dsp_xfeed
Post by: jaro1 on 2016-05-29 08:13:40
xnor, do you thing is there any chance in the future to modify the internals of xfeed with some of the Meier's natural crossfeed ideas?

"The sound of an instrument in the middle of the soundstage will be equally present in both audio-channels and isn't given any crossfeed. A crossfeed signal is only generated for instruments that are not placed at the center. The more off-center the instrument is placed, the stronger the crossfeed and the longer its delay."

You mentioned adding reverb sometime at the very beginning of this thread.


Title: Re: foo_dsp_xfeed
Post by: Joe Bloggs on 2016-06-23 21:10:41
In theory you get a couple deep comb notches with the first one located near 2 kHz, yes, but those gaps are filled with reflections, reverberation and are further reduced by diffraction and so on. That's one of the reasons why stereo doesn't sound right in anechoic environments, but it sounds fine in normal listening rooms.
Secondly, the high frequencies where comb filtering occurs are supposed to add in terms of energy and not amplitude. Thirdly, the common part of the signal is significantly lower in level at higher frequencies.
Altogether, the "damaging and destructive crosstalk" is only a problem if you want to listen to binaural stuff with loudspeakers, imo, ymmv.

Thank you for pointing this out--I'd tried measuring my ears' HRTF a few months back but mistakenly thought that a minimum-phase representation of the frequency responses would be sufficient.  I've just gone back and redid my work preserving the full phase information and can't believe what I'm hearing! :D
Title: Re: foo_dsp_xfeed
Post by: OK1 on 2023-12-09 23:20:18
Any chance we can get this as a VST for Windows, 32 bit and 64 bit, please