Jump to content
IGNORED

Stereo to binaural for headphones - how to setup (HQPlayer, JRiver, foobar2000)


Recommended Posts

First you need HRTF impulse response (IR) files for player convolution engine. Measuring them self is quite complicated and there are free sources too.

Then, you need know how to setup audio players.

 

1) HRTF files: I will use the EU Listen project as an example:

  • Listen to demo sounds and choose your head. Let's your head is 1050.
  • Download HRTF files for the chosen head. For stereo to binaural you need only 2 IR files:

IRC_1050_C_R0195_T030_P000.wav, IRC_1050_C_R0195_T330_P000.wav
195 means distance of sound source from listener in cm (nearfield simulation), 0000 is height under/above ears, 30 is azimuth of left channel and 330 left is 30 right for the right channel.

 

2) Setup your player

 

a) foobar2000: you need Stereo convolver plugin

image.png.4a48f47fc5a092752225d9a41b3b36a4.png

 

b) JRiver MC: you need to create cfg file for convolver engine in the format of convolver.sourceforge.net

44100 2 2 0
0 0
0 0
H:\Downloads\crossfeed\IRC_1050_C_R0195_T030_P000.wav
0
0.0
0.0
H:\Downloads\crossfeed\IRC_1050_C_R0195_T030_P000.wav
1
0.0
1.0
H:\Downloads\crossfeed\IRC_1050_C_R0195_T330_P000.wav
0
1.0
0.0
H:\Downloads\crossfeed\IRC_1050_C_R0195_T330_P000.wav
1
1.0
1.0

 

image.png.e85f667d47e296ffcdf9d274d27340b1.png

 

3) HQ Player - works also for DSD content: You need to split stereo IR WAVs to mono for example in Audacity: Split Stereo to Mono, File -> Export multiple with Numbering before Label/Track Name:

image.png.de9985c80dc85d3f82d77851bfaab801.png

image.png.5d3bea20efa364e8306f48b1dd003042.png

So then we have 4 mono IR files out of 2 stereo IRs. Now just setup them in HQPlayer:

image.png.07359c6e6b2bbeb3085deee7a3f9bbf7.png

Adjust gain to level which does not cause clipping and after testing save your configuration under a reasonable name.

HQPlayer Client provides convenient way to switch between Matrix Pipeline presets - use the menu button on the bottom right and then choose your preset:

image.png.ea6ecf526a6dfdcb5ee15adb49390b64.png

Preset change is possible during playback too.

 

Multichannel to binaural in HQPlayer can be also configured in the Matrix Pipeline dialog. Of course you need IR files for sound sources from more azimuths.
Example for 5.1 to binaural - picture is from HQPlayer 3, for version 4 the IR setup is the same:

Obrázek

 

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment

It's almost like on this picture, but for the EU Listen project the azimuth rises in the counterclockwise direction.

0 degrees azimuth would mean in front of listener (at the given distance e.g. 195 cm).

30 degrees azimuth means 30 degrees left (or it could mean also 360 - 30 = 330 degrees right).

180 degrees is behind the listener.

330 means 330 left, that's the same as 360 - 330 = 30 right.

1-s2.0-S187972961830067X-gr1.jpg
 

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
2 hours ago, macuniverse said:

Thanks for the detailed info. Demo files are fun to test!

 

I wonder if there is any relationship between binaural and true stereo?

 

The relation is that you need a 'true stereo' capable convolver engine with HRTF IRs to create binaural sound from stereo input.

 

'True stereo' convolution can used to create different spatial effects both with loudspeakers and headphones. HRTF is only headphones specific. With loudspeakers 'true stereo' convolution can be used for example to add room effect into a recording mixed from standallone sounds.

 

One of the issues addressed by HRTF processing is that with headphones our left ear listens only to left channel signal and right ear only to right channel signal. With loudspeakers we hear left channel output also by right ear and right channel output also by left ear. To make listening on headphones more natural, we need some audio processing and that's the place for 'true stereo' convolver. HRTF processing in true stereo convolver not only mixes left and right input, but also alters frequency response and adds necessary delays according to measurements on artificial head.


With true stereo convolver, impulse response which should be applied to left channel of input audio content contains both stereo channels. And impulse response which should be applied to right channel contains both stereo channels too.

 

For example the 30 degrees azimuth IR consists of both left and right channel, both are applied only to left channel input signal. But now we have two convolution results for left input channel. The left channel result is intended to be heard by our left ear and the right channel result for our right ear.

 

For the 330 degrees azimuth the same type of processing is needed. Then we get two convoluted signals intended for left ear and two for right ear. Each pair intended for the same ear has to be mixed together. That's what the 'true stereo' convolution engine is doing.

 

HQPlayer Matrix Pipeline engine is more general, it is not 'true stereo' specific like the foobar2000 Stereo Convolver plugin. Matrix Pipeline in HQPlayer allows not only 'true stereo', but also other channel processing and mixing schemes. In the first post I added an example of 5.1 to binaural processing.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
1 hour ago, mikel said:

So can you use these together with Headphone compensation curves from AutoEQ?

 

You can use any equalization that is only equalization. What do I mean? Equalization should change only frequency response (no phase shifts, like delays) and usually is the same for the left and the right channel. That's the case also of the compensation curves. Better to do such equalization before applying HRTF to binaural processing.

 

In foobar2000 and JRiver you can stack different DSP plugins in the desired order.

 

From HQPlayer 4.8 you can use both the standallone convolution engine, which you can use for the headphone compensation curves, and the matrix pipeline for binaural processing. Convolution can be then turned on/off during playback. The standallone convolution engine is suitable for things you don't intend to change. Alternatively, you could extend each your matrix pipeline preset with headphone equalization compensation curve processing.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
1 hour ago, mikel said:

And from the HFRC, do you take the compensated ones or raw?

Not really sure what the difference is.

 

The _C_ in filenames means that I used the compensated ones in the above example.

Something is explained here, but I'm not an expert in this area.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
19 minutes ago, mikel said:

There is an instutue in Germany that does these kinds of measurements.... if I like this, I might consider doing it.
Ideally you would do this in a totally sound dead room, right? With no reflections on the wall with sound.

This way you get the sound transmission into you ear.

 

Yes, and that's hard to reach in home conditions. How much does it cost in the Germany institute?

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
4 minutes ago, macuniverse said:

 

Thanks for the detailed explanation. I use Reverberate Core for convolution which has true stereo option.

 

Yes, any true stereo convolver should work with HRTF IRs.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
6 hours ago, STC said:

This is known as interaural crosstalk. Ideally, loudspeakers playback should eliminate this and when it is eliminated the stereo playback transforms to 3D sound. Although, you will be restricted to the frontal 180 degrees and not much height information as stereo cannot encode height information.

 

This thread is about improving listening experience when using headphones. It is dedicated to stereo to binaural (or multichannel to binaural) DSP for headphones. This thread is not about cancelling interaural crosstalk (ambiophonics) - that is specific loudspeaker relevant topic. I suggest you to discuss ambiophonics in a different thread to avoid confusion.

 

6 hours ago, STC said:

Headphones listening is not natural because pinna’s role is absent which makes the sound internalized ( like sounding inside your head). 

 

The proposed stereo to binaural solution from the opening post is just about addressing the "sound inside your head" issue, when listening on headphones.

 

EDIT: I just found that maybe I didn't clearly stated that this topic is for headphones. Reference to headphones is part of the information in the link I provided in the opening post: http://recherche.ircam.fr/equipes/salles/listen/context.html

I will ask Chris to add a "for headphones" into the thread name. Sorry if I confused somebody.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
  • The Computer Audiophile changed the title to Stereo to binaural for headphones - how to setup (HQPlayer, JRiver, foobar2000)

For those who are not aware of binaural sound potential on headphones, I am adding 2 examples. Play them without any DSP, since they already are binaural. They are showing how sounds can be perceived as coming from any direction, including behind head, up or down.

 

Things like behind, up or down are not happening with stereo to binaural processing, because we are using HRTF IRs for left and right channel sound sources positioned in front of listener (the azimuths 30 degrees left and 30 degrees right from OP).

 

But if we would configure multichannel to binaural processing and play a multichannel recording containing a sound coming from rear location (behind the listener), we would hear that really as coming from back on headphones.

 

 

 

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment

Hi STC, in the opening posts I described how to setup HRTF IRs for stereo to binaural processing with 3 popular players. Then, based on questions from other forum members, which were related to the opening post setup procedure, I provided more details. I would like to leave this thread to discuss this HRTF based technical approach and to compare the result with other sources of HRTF data, the EU Listen project beeing only one of them.

 

I didn't find your contribution related to interaural crosstalk as following the HRTF based opening post. Interaural crosstalk cancellation is not part of the solution from the opening post. With headphones, when you don't use any DSP, interaural crosstalk between channels does not exist, so there is nothing such to cancel.

 

For most of forum members it may be hard to understand what HRTF is and it may require some self study. Filling the thread with things and terms not related to the opening post setup procedure would make that for other readers harder - specially when it is not clearly stated if it follows the opening post solution or if it is a different alternative.

 

The quite general 3D sound topic and comparing all possible solutions could be interesting to discuss, but it is not my intention to do that in such a quite general fashion in this thread. Just start your own thread and define the scope of your topic if you wish more general discussion.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment

The plot function of HQPlayer 4.8 shows (for the 1st matrix line) this picture:

1404880723_obrzok.png.0f4b89d80f0368d4e8a43b3a76c76ad1.png

 

I remember from other type of experiments that HQPlayer simply ignores IRs if they aren't 1ch (mono) or if they are not of supported format.

 

Try to disable CUDA offload at bottom of File -> Settings for the first experiment because if enabled, DSP is performed on graphical card processor. If that is not working in your setup, then you could get unexpected result. For example I cannot use CUDA with HQPlayer 4.8 but I can use it with 4.5.1.

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment
1 hour ago, mikel said:

At the moment, I cannot test it. When I add the wav-files to the pipeline, HQ-Player just creates a click and silent. Just out of curiosity.... can you do a plot for one of your convolution files in HQ-Player?

I am on a Mac.

Regards, Mike

... and yet one suggestion. For the first experiment try not to do any upsampling or conversion to DSD. Because that depends on processing power of your PC if HQPlayer is capable of doing anything you wish.

 

Just try these I'm using for head 1050 (1006 in filename is bad, zip content is 1050): IRC_1006_C_R0195-stereo.zip

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment

My first picture was without any song played after HQPlayer startup. After interrupting a playing song by entering the Matrix dialog the blue line was added:
143761023_obrzok.png.96e67c2e9d4e6e430995b106a61735f7.png

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment

@mikel, if you wish to perform HRTF processing with additional equalization, I would do the equalization before HRTF processing. My point is that the HRTF processing has an intentional frequency response, which together with phase delay helps to localize sound source. So I mean more clear solution is to equalize first and then to let the HRTF processing to do it's job.

 

Different HRTF data sources or solutions don't provide the same sound - the result may for example sound brighter or darker. You can try for example Panagement 2 VST plugin in some player with VST support. Placing the sound source position like on my picture is good base for comparison with the Listen project. I have also IRs of the Panagement 2 solution.
obrázok.png

If you would try it, you would most probably perceive darker sound than with the IRs from the Listen project.

What I wanted to say: Using HRTF IRs may require to use also some tilt EQ to adjust sound not to be too bright or dark, additionally to the headphone frequency response compensation you wish to perform.

High quality tilt IRs appear here: https://audiophilestyle.com/forums/topic/60457-tilt-control/?do=findComment&comment=1081978

 

i7 11850H + RTX A2000 Win11 HQPlayer ► Topping HS02 ► 2x iFi iSilencer ► SMSL D300 ► DIY headamp DHA1 ► HiFiMan HE-500
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...