PDA

View Full Version : Crossfeed Plugin



bjackson
2005-08-31, 14:15
I did a quick search and was suprised this hasn't been mentioned. Has anyone ever considered making a crossfeed plugin for the SB2?

Crossfeed is used for headphones for taking the output of the left channel, reducing its amplitude and delaying it to simulate reality/a loudspeaker system, where your left ear hears the right channel after and softer than your right ear.

Any thoughts?

ephemere
2005-08-31, 22:06
I'd really like a crossfeed feature. I'm guessing there's not a huge demand for it, though. I wouldn't mind implementing one myself, but I assume there's no SDK for the DSP.

seanadams
2005-09-01, 01:02
A fine idea - please file a request at bugs.slimdevices.com. It's something we'd need to do in firmware, right at the end of our audio process.

What kind of delay would you want? Obviously the delay and mix levels would be configurable but I'm guessing you'd want a range of 0 to 1000uS or so?

Also isn't there another name for this besides "crossfeed" that wouldn't be confused with the crossfade feature?

Robin Bowes
2005-09-01, 01:16
seanadams wrote:
> A fine idea - please file a request at bugs.slimdevices.com. It's
> something we'd need to do in firmware, right at the end of our audio
> process.

Actually, you could do this on the server by piping the audio stream
through the appropriate processing program.

> What kind of delay would you want? Obviously the delay and mix levels
> would be configurable but I'm guessing you'd want a range of 0 to
> 1000uS or so?

There is a whole load of research on this, but I can't find the links
right now. I'll have a scout around.

>
> Also isn't there another name for this besides "crossfeed" that
> wouldn't be confused with the crossfade feature?

I'm sure the work to which I refer is called something other than
crossfeed. Again, I'll see what I can find.

R.
--
http://robinbowes.com

If a man speaks in a forest,
and his wife's not there,
is he still wrong?

Robin Bowes
2005-09-01, 01:32
Robin Bowes wrote:
> seanadams wrote:
>
>> A fine idea - please file a request at bugs.slimdevices.com. It's
>> something we'd need to do in firmware, right at the end of our audio
>> process.
>
>
> Actually, you could do this on the server by piping the audio stream
> through the appropriate processing program.
>
>> What kind of delay would you want? Obviously the delay and mix levels
>> would be configurable but I'm guessing you'd want a range of 0 to
>> 1000uS or so?
>
>
> There is a whole load of research on this, but I can't find the links
> right now. I'll have a scout around.
>
>>
>> Also isn't there another name for this besides "crossfeed" that
>> wouldn't be confused with the crossfade feature?
>
>
> I'm sure the work to which I refer is called something other than
> crossfeed. Again, I'll see what I can find.

OK, I've not found the links I was looking for, but this technology is
related to Head Related Transfer Functions (HRTFs).

Somewhere I've seen a site that demonstrates a pseudo-HRTF, i.e. an
artificial approximation and provides a couple of sample files
illustrating the effect. If only I could find it ...

R.
--
http://robinbowes.com

If a man speaks in a forest,
and his wife's not there,
is he still wrong?

Alex Twisleton-Wykeham-Fiennes
2005-09-01, 01:55
On Thursday 01 September 2005 09:32, Robin Bowes wrote:
> Robin Bowes wrote:
> > seanadams wrote:
> >> A fine idea - please file a request at bugs.slimdevices.com. It's
> >> something we'd need to do in firmware, right at the end of our audio
> >> process.
> >
> > Actually, you could do this on the server by piping the audio stream
> > through the appropriate processing program.
> >
> >> What kind of delay would you want? Obviously the delay and mix levels
> >> would be configurable but I'm guessing you'd want a range of 0 to
> >> 1000uS or so?
> >
> > There is a whole load of research on this, but I can't find the links
> > right now. I'll have a scout around.
> >
> >> Also isn't there another name for this besides "crossfeed" that
> >> wouldn't be confused with the crossfade feature?
> >
> > I'm sure the work to which I refer is called something other than
> > crossfeed. Again, I'll see what I can find.
>
> OK, I've not found the links I was looking for, but this technology is
> related to Head Related Transfer Functions (HRTFs).
>
> Somewhere I've seen a site that demonstrates a pseudo-HRTF, i.e. an
> artificial approximation and provides a couple of sample files
> illustrating the effect. If only I could find it ...

if what you are referring to is the cross-feeding stuff to make headphones
sound nicer, then HeadRoom has some docs here:
http://www.headphone.com/products/faqs/about-headroom-crossfeed/ but it
doesn't actually tell you exactly how to do it (obviously).

My iriver hd140 also includes something similar named SRS
(http://www.srslabs.com/) but it generally sounds horrible (to my ears).
However they have many demonstration files available
(http://www.srslabs.com/Demonstrations.asp) that I haven't had a chance to
listen to yet in a controlled environment.

Alex

Robin Bowes
2005-09-01, 02:14
Alex Twisleton-Wykeham-Fiennes wrote:
> if what you are referring to is the cross-feeding stuff to make headphones
> sound nicer, then HeadRoom has some docs here:
> http://www.headphone.com/products/faqs/about-headroom-crossfeed/ but it
> doesn't actually tell you exactly how to do it (obviously).

Well, it comes pretty close:

The current HeadRoom crossfeed circuit uses a two-stage active filter
that provides about 400 uSec of delay and a gentle frequency response
roll-off starting at about 2 kHz. The left crossfeed signal is mixed in
with the right channelís direct signal (and vice versa) at a level about
8dB lower.

However, that's not the link to which I was referring.

> My iriver hd140 also includes something similar named SRS
> (http://www.srslabs.com/) but it generally sounds horrible (to my ears).
> However they have many demonstration files available
> (http://www.srslabs.com/Demonstrations.asp) that I haven't had a chance to
> listen to yet in a controlled environment.

That's not it either - this is going to bug me!

R.

--
http://robinbowes.com

If a man speaks in a forest,
and his wife's not there,
is he still wrong?

ephemere
2005-09-01, 09:32
(1) Doing it on the server is probably not the right thing for anything other than a PCM stream because it would require a decode-encode step.

(2) I'm no expert, but it's more complicated than just a delay and gain adjustment. The process is usually frequency-dependent.

(3) One could make up a name like "headphone virtualizer" instead of "crossfeed".

Alex Twisleton-Wykeham-Fiennes
2005-09-01, 09:41
On Thursday 01 September 2005 17:32, ephemere wrote:
> (1) Doing it on the server is probably not the right thing for anything
> other than a PCM stream because it would require a decode-encode step.

Agreed.

> (2) I'm no expert, but it's more complicated than just a delay and gain
> adjustment. The process is usually frequency-dependent.

The previous quote from headphone.com is frequency dependent because the
crossover for the feed into the delay line is described as a "gentle
frequency response" therefore the amount of delayed signal will increase as
the frequency increases.

Or are you suggesting that the delay time would alter with frequency as well?

> (3) One could make up a name like "headphone virtualizer" instead of
> "crossfeed".

would it not be a "speaker virtualiser" because it makes headphones sound like
speakers? :-)

Alex

bjackson
2005-09-01, 10:35
I don't know if this would help anyone, but this is my favorite crossfeed CIRCUIT I've heard, but it might give some insight into the proven methodologies.

http://headwize.com/projects/showfile.php?file=meier_prj.htm

and this one isn't too bad:

http://headwize.com/projects/showfile.php?file=cmoy1_prj.htm

Maybe call it something like: Expand Soundstage (Off, Low, Middle, High) or something?

Michel Fombellida
2005-09-02, 04:57
http://headwize.com/projects/showfile.php?file=meier_prj.htm

The guy who wrote this article (Jan Meier) is the "father" of the Corda headphone amps which are indeed well known for their crossfeed circuit.

Some more info is available on his web site (look at the link "crossfeed filter" in the left pane):
http://www.meier-audio.homepage.t-online.de/


Maybe call it something like: Expand Soundstage (Off, Low, Middle, High) or something?

And why not "Crossfeed" :-)

Michel

dean
2005-09-02, 08:12
That's interesting, but what we really need is a DSP guru to design
an IIR (or FIR, if necessary) filter that does the same thing. Anybody?


On Sep 2, 2005, at 4:57 AM, Michel Fombellida wrote:

>
> bjackson Wrote:
>
>> http://headwize.com/projects/showfile.php?file=meier_prj.htm
>>
>
> The guy who wrote this article (Jan Meier) is the "father" of the
> Corda
> headphone amps which are indeed well known for their crossfeed
> circuit.
>
>
> Some more info is available on his web site (look at the link
> "crossfeed filter" in the left pane):
> http://www.meier-audio.homepage.t-online.de/
>
> bjackson Wrote:
>
>> Maybe call it something like: Expand Soundstage (Off, Low, Middle,
>> High)
>> or something?
>>
>
> And why not "Crossfeed" :-)
>
> Michel
>
>
> --
> Michel Fombellida
>

Jacob Potter
2005-09-02, 11:22
On 9/2/05, Michel Fombellida
<Michel.Fombellida.1uqd1z (AT) no-mx (DOT) forums.slimdevices.com> wrote:
>
> And why not "Crossfeed" :-)
>

I'd say that would be a bit too easy to confuse with "crossfade" (as
in song transitions).

But really, as long as it's not called "SlimDSP X-TREME-HeadphoneMAGIC
2000++",(*cough*X-Fi*cough*), I won't mind. :)

- Jacob

bjackson
2005-09-02, 20:57
Why are you coughing X-Fi? I have no idea if Creative's new soundcard has this, but it's definatly not their idea.

Anyway, would an FIR filter work? I've been told before by people more knowledgable than I that an FIR filter would not work and the reason given was that an FIR filter doesn't mix channels with delay (i.e. it's impossible), any ideas on this?

seanadams
2005-09-02, 21:15
Why are you coughing X-Fi? I have no idea if Creative's new soundcard has this, but it's definatly not their idea.

Anyway, would an FIR filter work? I've been told before by people more knowledgable than I that an FIR filter would not work and the reason given was that an FIR filter doesn't mix channels with delay (i.e. it's impossible), any ideas on this?

Mixing channels with some delay is a very simple time-domain operation. You just look backward in the buffer by x samples, attentuate by y decibels, then add to the other channel. Filters only come into play when you want to change the frequency content of the mixed-in channel.

Jacob Potter
2005-09-03, 07:32
On 9/2/05, bjackson <bjackson.1urlhz (AT) no-mx (DOT) forums.slimdevices.com> wrote:
> Why are you coughing X-Fi? I have no idea if Creative's new soundcard
> has this, but it's definatly not their idea.

I was just joking about the potential for marketing-based names.
(Creative seems to have been doing an awful lot of that lately.)

- Jacob

bjackson
2005-10-10, 17:47
I was just wondering if there has been any news or thought when this might be implimented as I am thinking about making a computer rig that will cost several hundred dollars that will take the DAC signal in, and output it with crossfeed added, and I'd really rather not do that if this feature would be implimented in the foreseeable future.

I am using shure E5 earbuds and it's very odd to hear the music, however clear, come from inside my head.

schalliol
2006-06-13, 20:11
I don't suppose anyone had progress since this thread slowed down. With regards to the first comment, I did suggest this as a nice addition a long time ago on the developer and standard SlimDevices lists. I have a couple pairs of wireless Sennheiser headphones that operate through my receiver, and it would be ideal to offer crossfeeding like I have on my headphone amp driving the corded pair I use too. I'd be happy to help, though I don't think I'm technically proficient enough to do a whole lot...

dwc
2006-06-14, 17:30
Perhaps someone could persuade Michael Rhoades to contribute to Slim Server in some fashion. He is the author of the crossfeed plugin for Foobar200.

http://www.naivesoftware.com/software.html

tyler_durden
2006-06-14, 19:42
When circuits that perform the desired function are used for loudspeakers they are commonly called cross-talk cancellers.

With speakers in a normal room, both ears hear both speakers. By crossfeeding and inverting the phase of the crossfeed signal and adding a slight delay and attenuation to compensate for interaural spacing, the result is that with some recordings the sound of the instruments and voices can appear to come from locations other than the speakers. It works great with some recordings and not so great with others. Carver made a device called a C-9 Sonic Hologram processor for this purpose. It worked well if you were in the right position and your speakers were placed symetrically in your room.

It is pretty easy to implement this sort of thing with a few op-amps. You can play with that sort of circuit and hear its effect using SwitcherCAD, the spice based circuit simulator you can DL from Linear Technology for free. SWCAD has .wav file input and output functions, so you can specify a .wav file to process and it will generate a .wav file with the crossfeed/crosstalk cancelation. It is NOT real time! It can take a long time to process the .wav input file, so short snippets are best.

The circuit pictured does simple crossfeed with no delay, but will give you a taste of the possibilities. It is easy to add an all-pass filter to generate a little delay. V1 is the rigth channel input, V2 is left in.

If such a circuit were included in the SB, either as hardware or DSP, I recommend that the remote include a button to switch it on and off with a single press.

TD

magnanimous
2007-01-19, 08:03
Was anything ever progressed with a plugin/firmware mod to enable crossfeed on the SB3/TP?

Reason I mention it is I've just got some Sennheiser HD650s to use with my WNA Mk2 head amp and Transporter and was hoping to avoid having to build a crossfeed circuit for this setup.

Cheers

Richard

schalliol
2007-01-19, 08:41
I'm not aware of anything. I still would be interested in this, enabling crossfeed out the analog RCAs would be great.

inguz
2007-01-19, 10:29
InguzDSP does crossfeed (on the server, using FIR filters). I've been using this for stereo-width enhancement with loudspeakers, but it would work great for headphones too.
http://inguzaudio.com/usage/plugin/settings/enhanced-stereo-filters/

magnanimous
2007-01-19, 15:32
Thanks for the link.

Does it work with flac files?

Cheers

Richard

inguz
2007-01-19, 21:06
It plays basically all the Squeezebox file types (but Internet Radio doesn't work -- hopefully that's temporary; and SHN is not tested).

I posted some sample headphone matrix filters to try (http://inguzaudio.com/usage/plugin/settings/enhanced-stereo-filters/). Two fairly striaghtforward crossfeeds, and a third with a tiny bit of real living-room ambience (which is fun, or not, depending on the type of music you're listening to...)