Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Is there a way to get Dolby Headphone system-wide on any PC? (Read 34203 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Is there a way to get Dolby Headphone system-wide on any PC?

Hi!

I know it's integrated into some drivers and not into others. What I'm interested is having Dolby Headphone for the latter.

I'm also familiar with the foobar DH wrapper, but that's just for foobar. I want it for the whole system.

I found something for realtek audio (since that's what I happen to have), but realtek utterly butchers it. The bass is gone, and the sound is ridiculously amplified.  (And who knows what else)

Re: Is there a way to get Dolby Headphone system-wide on any PC?

Reply #1
I've been interested in having the same Dolby Headphone thing for entire system without having that in the drivers by default.
There is actually no way of having it without support in the drivers. Most ASUS audio cards are equipped with Dolby Headphone feature by default, for example:
https://www.asus.com/us/Sound-Cards/Xonar_DX/

 

Re: Is there a way to get Dolby Headphone system-wide on any PC?

Reply #2
Create a clean impulse file with rephase, load it into foobar and convert it with Dolby Headphone as DSP applied. Then hook the impulse file into Equalizer APO via the built in convolver.

I attached a 44.1kHz impulse of setting DH3.

Re: Is there a way to get Dolby Headphone system-wide on any PC?

Reply #3
Create a clean impulse file with rephase, load it into foobar and convert it with Dolby Headphone as DSP applied. Then hook the impulse file into Equalizer APO via the built in convolver.

I attached a 44.1kHz impulse of setting DH3.
Hmmm. I don't really understand what you propose, but how could a system wide equalizer replace Dolby Headphone's HRTF-s and whatnot?

Re: Is there a way to get Dolby Headphone system-wide on any PC?

Reply #4
Create a clean impulse file with rephase, load it into foobar and convert it with Dolby Headphone as DSP applied. Then hook the impulse file into Equalizer APO via the built in convolver.

I attached a 44.1kHz impulse of setting DH3.
Hmmm. I don't really understand what you propose, but how could a system wide equalizer replace Dolby Headphone's HRTF-s and whatnot?
EqualizerAPO is not just a system wide equalizer but much more.

Re: Is there a way to get Dolby Headphone system-wide on any PC?

Reply #5
Create a clean impulse file with rephase, load it into foobar and convert it with Dolby Headphone as DSP applied. Then hook the impulse file into Equalizer APO via the built in convolver.

I attached a 44.1kHz impulse of setting DH3.
Hmmm. I don't really understand what you propose, but how could a system wide equalizer replace Dolby Headphone's HRTF-s and whatnot?

A HRTF is just a response curve that can be duplicated with a suitable equalizer and equalization parameters.

It is proposed that you measure a frequency response curve created by the Dolby Headphone equalizer by means of measuring its impulse response.  Then transfer those equalization parameters to another equalizer.




Re: Is there a way to get Dolby Headphone system-wide on any PC?

Reply #6
A HRTF is just a response curve that can be duplicated with a suitable equalizer and equalization parameters.
I'm highly doubtful of this.

Wikipedia describes it as:
Quote
HRTF describes how a given sound wave input (parameterized as frequency and source location) is filtered by the diffraction and reflection properties of the head, pinna, and torso, before the sound reaches the transduction machinery of the eardrum and inner ear (see auditory system).

I don't see how could this be done with plain equalization, that just only effects the spectrum of the audio.

Re: Is there a way to get Dolby Headphone system-wide on any PC?

Reply #7
A HRTF is just a response curve that can be duplicated with a suitable equalizer and equalization parameters.
I'm highly doubtful of this.

Wikipedia describes it as:
Quote
HRTF describes how a given sound wave input (parameterized as frequency and source location) is filtered by the diffraction and reflection properties of the head, pinna, and torso, before the sound reaches the transduction machinery of the eardrum and inner ear (see auditory system).

I don't see how could this be done with plain equalization, that just only effects the spectrum of the audio.

That's not correct. Equalization affects both the spectral amplitude and the phase and timing of the signal.

Legacy equalizers often made amplitude and phase interdependent. Pick one, and you automagically picked a specific thing for the other.  For example minimum phase and linear phase are classic legacy filter designs where the frequency and phase response have a specific immutable mathematical relationship.  The relationship is different for each.

Modern equalizers can alter amplitude and phase independently. 

IMO you received good advice from Juha and Earnest S. The products they recommend and the setup procedures they recommend allow creating a filter with the same amplitude and phase as the filter in Dolby headphone.

Re: Is there a way to get Dolby Headphone system-wide on any PC?

Reply #8
Okay. Thanks for the explanation

Re: Is there a way to get Dolby Headphone system-wide on any PC?

Reply #9
IIRC there was a foobar2000 plugin Stereo Convolver and it required two impulse response files (L->effect->L and L->effect->R paths).

It's not possible to emulate crossfeed with simple convolver that processes channels separately.

Re: Is there a way to get Dolby Headphone system-wide on any PC?

Reply #10
IIRC there was a foobar2000 plugin Stereo Convolver and it required two impulse response files (L->effect->L and L->effect->R paths).

It's not possible to emulate crossfeed with simple convolver that processes channels separately.

Equalizer APO seems to have a channel mixer that can be used to create crossfeed effects.

Command manual: https://sourceforge.net/p/equalizerapo/wiki/Configuration%20reference/

Filtering command: COPY

Re: Is there a way to get Dolby Headphone system-wide on any PC?

Reply #11
IIRC there was a foobar2000 plugin Stereo Convolver and it required two impulse response files (L->effect->L and L->effect->R paths).

It's not possible to emulate crossfeed with simple convolver that processes channels separately.
I'm not sure what you're getting at. What's certain is that DH goes up to 8 channels so anything stereo is insufficient.

Re: Is there a way to get Dolby Headphone system-wide on any PC?

Reply #12
It's not possible to emulate crossfeed with simple convolver that processes channels separately.
I'm not sure what you're getting at. What's certain is that DH goes up to 8 channels so anything stereo is insufficient.
Just what you quoted above:  you cannot achieve proper HRTF unless the convolver can process those 2 < X < 9 channels separately.

Re: Is there a way to get Dolby Headphone system-wide on any PC?

Reply #13
The foobar plugin can be used to create impulses for that, but it will require a lot of work. You'll need to create 1 channel input files, perhaps RIFF WAV, and they need to be WAVEFORMATEXTENSIBLE with the correct speaker bit set for each of the 8 channels you wish to convolve.

Then you'll need to process each of those through the DSP, to produce each single 1 input -> stereo output impulse. Then you'll need the system-wide DSP to load each of those impulses, and apply all 1->2 impulses to each of its virtual 7.1 channels. And this method is still of questionable legality.

Then again, look at Hajo Headphone Enhancer for Mac. They basically do impulse convolution downmixing of 5.1 to stereo, and they appear to have generated their fixed impulses using rather expensive commercial software. I have no idea what the licensing for different software says about sampling impulses through their DSPs and distributing or even selling the results. It may be of questionable legality. (In this case, two of the included impulses are sampled from the New Audio Technology's Spatial Audio Designer. Or perhaps they figured out that NAT's Spatial Sound Card product, which also has a free demo, only blacklists piping its output into certain virtual sound cards, or perhaps they used an S/PDIF capture method instead? Either way, they're catching $18 registrations instead of forwarding 169€ dongle or machine locked registrations to NAT for something that essentially uses way more processing power, because it allegedly uses something way more sophisticated than fixed length FIR/FFT processing.)

So, if you're on a Mac, you can either figure out your own impulse setup, or you can register a copy of Hajo Headphone Enhancer, or deal with its periodic nag notices that randomly stop all sound output.

Alternate solutions for Windows include Asus and their Xonar drivers, which can do Dolby Headphone strengths 1 through 3, whether or not you use the somewhat buggy GX mode. I stopped using my Xonar card because it had horrible output to input interference on the front panel interface, which didn't occur when the same cable block was connected to the same machine's internal HD audio interface.

Or you could get one of Sennheiser's "surround" headsets, which also implement this surround using Dolby Headphone in the drivers. The drivers are tied to outputting to the cheap USB DAC/ADC adapter that they supply with the headset, but they're capable of virtualizing 4.0, 5.1, and 7.1 output in software, and don't attempt to pretend they support hardware acceleration effects like the Xonar drivers do.

Both of the Windows options I listed above are dependent on installing hardware.

There's a third option I know of for virtual surround, but I don't think it uses Dolby Headphone. Razer Synapse and their Virtual Surround feature, which is free for basic use, or a $29 or so registration for extended features, also does virtual surround through a virtual sound card, routing to your selected output device. I cannot recommend this driver at this time, though, as my recent experience with the new Doom game reveals that the audio runs through in alternating bursts of ~700ms of audio and ~700ms of silence, at least when the audio is being caught by Steam's In Home Streaming through WASAPI hooks or whatever Steam uses to hook into Vista+ audio drivers that only works if you have a real sound device active in the system. No such problem with VB-Cable, so it's obviously Razer's driver, which is now gone.

Re: Is there a way to get Dolby Headphone system-wide on any PC?

Reply #14

There's a third option I know of for virtual surround, but I don't think it uses Dolby Headphone. Razer Synapse and their Virtual Surround feature, which is free for basic use, or a $29 or so registration for extended features, also does virtual surround through a virtual sound card, routing to your selected output device.
I tried that when it was new. It was inferior to DH, otherwise I'd still be using it. :)

Actually listened to a bunch of virtual surround methods thanks to youtube videos such as this: https://www.youtube.com/watch?v=04yEtZJVpyY

With all but Only Dolby headphone the sounds are perceived to come inside my head or in my ear.

Re: Is there a way to get Dolby Headphone system-wide on any PC?

Reply #15
Create a clean impulse file with rephase, load it into foobar and convert it with Dolby Headphone as DSP applied. Then hook the impulse file into Equalizer APO via the built in convolver.

I attached a 44.1kHz impulse of setting DH3.
So I looked at this and rephase is a tad complicated software. Can anyone provide more verbose steps on how to "create a clean impulse file"? (An 8 channel one if I understand correctly is required)

(Not that I know how I get to applying the effect with Equalizer APO after loading the files into the convolver. I just didn't get that far.)

Re: Is there a way to get Dolby Headphone system-wide on any PC?

Reply #16
 For every channel you need left+right. So for 7.1 you need 16channels.
Here someone has already produced some DH files (but only 5.0)
http://forum.xda-developers.com/showthread.php?t=2764527

I will also try this but I don't know how to set up a the  Equalizer APO.  So far the convolution seems not to use the right channel mapping.

Re: Is there a way to get Dolby Headphone system-wide on any PC?

Reply #17
For every channel you need left+right. So for 7.1 you need 16channels.
Here someone has already produced some DH files (but only 5.0)
http://forum.xda-developers.com/showthread.php?t=2764527

I will also try this but I don't know how to set up a the  Equalizer APO.  So far the convolution seems not to use the right channel mapping.
Thanks. I'll have a look.

Re: Is there a way to get Dolby Headphone system-wide on any PC?

Reply #18
Ok after trying 1 hour I still have no idea how to set up binaural convolution in EQ-APO. 

Re: Is there a way to get Dolby Headphone system-wide on any PC?

Reply #19
Now I got it...

Re: Is there a way to get Dolby Headphone system-wide on any PC?

Reply #20
Now I got it...
Hi!
I wouldn't mind steps. I'm totally unfamiliar with both programs.

Re: Is there a way to get Dolby Headphone system-wide on any PC?

Reply #21
I can't tell you anything to rephase but for teh EQ-APO I have used this settings for stereo (config.txt):

#Common preamp
Preamp: -8 dB
# Copy channels to virtual channels for the convolution to get the virtual speaker channels
Copy: L2=L R2=R
# Signals for Left & Right Headphone Channel from L Speaker
Channel: L L2
Convolution: C:\Program Files\EqualizerAPO\config\convoluitonfiles\cr7\L.wav
# Copy: L=0 L2=0
# Signals for Left & Right Headphone Channel from R Speaker
Channel: R R2
Convolution: C:\Program Files\EqualizerAPO\config\convoluitonfiles\cr7\R.wav
# Copy: R=0 R2=0
# Copy the virtual speaker channels to Left & Right Headphone Channel
Copy: L=1.0*L+1.0*R
Copy: R=1.0*L2+1.0*R2

Still this is only stereo. I'm not sure but it looks like you need a soundcard that allows 7.1 in order to get 7.1 into EQ-APO as it uses the Windows channel settings? Perhaps someone more experienced can tell more.
For 7.1 I used this settings but it did not work as I expected. I will have to test it with a 7.1 soundcard.

#Common preamp
Preamp: -15 dB
# Copy channels to virtual channels for the convolution to get the virtual speaker channels
Copy: L2=L R2=R C2=C SUB2=SUB RL2=RL RR2=RR SL2=SL SR2=SR
# Signals for Left & Right Headphone Channel from L Speaker
Channel: L L2
Convolution: C:\Program Files\EqualizerAPO\config\convoluitonfiles\sbs\L.wav
# Copy: L=0 L2=0
# Signals for Left & Right Headphone Channel from R Speaker
Channel: R R2
Convolution: C:\Program Files\EqualizerAPO\config\convoluitonfiles\sbs\R.wav
# Copy: R=0 R2=0
# Signals for Left & Right Headphone Channel from C Speaker
Channel: C C2
Convolution: C:\Program Files\EqualizerAPO\config\convoluitonfiles\sbs\C.wav
# Copy: C=0 C2=0
# Signals for Left & Right Headphone Channel from LFE Speaker
Channel: SUB SUB2
Convolution: C:\Program Files\EqualizerAPO\config\convoluitonfiles\sbs\SUB.wav
# Copy: SUB=0 SUB2=0
# Signals for Left & Right Headphone Channel from RL Speaker
Channel: RL RL2
Convolution: C:\Program Files\EqualizerAPO\config\convoluitonfiles\sbs\LS.wav
# Copy: RL=0 RL2=0
# Signals for Left & Right Headphone Channel from RL Speaker
Channel: RR RR2
Convolution: C:\Program Files\EqualizerAPO\config\convoluitonfiles\sbs\RS.wav
# Copy: RR=0 RR2=0
# Signals for Left & Right Headphone Channel from SL Speaker
Channel: SL SL2
Convolution: C:\Program Files\EqualizerAPO\config\convoluitonfiles\sbs\LB.wav
# Copy: SL=0 SL2=0
# Signals for Left & Right Headphone Channel from SL Speaker
Channel: SR SR2
Convolution: C:\Program Files\EqualizerAPO\config\convoluitonfiles\sbs\RB.wav
# Copy: SR=0 SLR=0
# Copy the virtual speaker channels to Left & Right Headphone Channel
Copy: L=1.0*L+1.0*R+1.0*C+1.0*SUB+1.0*RL+1.0*RR+1.0*SL+1.0*SR
Copy: R=1.0*L2+1.0*R2+1.0*C2+1.0*SUB2+1.0*RL2+1.0*RR2+1.0*SL2+1.0*SR2


Re: Is there a way to get Dolby Headphone system-wide on any PC?

Reply #22
I can't tell you anything to rephase but for teh EQ-APO I have used this settings for stereo (config.txt):
Then how'd you get the impulse files?

Re: Is there a way to get Dolby Headphone system-wide on any PC?

Reply #23
I used some free binaural  impulse response files that were recorded with a dummy head.
I have a soundcard that supports Dolby Headphone but I  like these BRIRs much more. I already  uses the  BRIRs  with  a differenet convolver that can be used as a VST or directshow filter but not for the complete system like EQ-APO.

You can find the files here: (post 818).
http://www.head-fi.org/t/555263/foobar2000-dolby-headphone-config-comment-discuss/810.

All files are in  wav format with 16 channels.

But as I posted before you also can use the Dolby Headphone impulse files files from that site but that is only 5.1 and not 7.1. (The foobar DH wrapper also only supports 5.1)

Re: Is there a way to get Dolby Headphone system-wide on any PC?

Reply #24
I used some free binaural  impulse response files that were recorded with a dummy head.
I have a soundcard that supports Dolby Headphone but I  like these BRIRs much more. I already  uses the  BRIRs  with  a differenet convolver that can be used as a VST or directshow filter but not for the complete system like EQ-APO.

You can find the files here: (post 818).
http://www.head-fi.org/t/555263/foobar2000-dolby-headphone-config-comment-discuss/810.

All files are in  wav format with 16 channels.

But as I posted before you also can use the Dolby Headphone impulse files files from that site but that is only 5.1 and not 7.1. (The foobar DH wrapper also only supports 5.1)

Hmmm. If it's from a dummy head can you make it usable for eight channels > binaural? Or how does it work?