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: Dolby Headphone Wrapper DSP (Read 336030 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Dolby Headphone Wrapper DSP

I'd like to introduce a DSP I've been developing these weeks. It's a Dolby Headphone wrapper DSP. 

After some research on Lake DOLBYHPH.DLL bundled with software DVD players, I was able to find out its protocol used to interface with the client app. Then, why not make it work for myself?! And that was how foo_dsp_dolbyhp was originated. It wraps the functionality of the original DLL to be used under foobar2000. You just need to configure the plugin pointing out the location of that DLL in your system. Of course I'll NOT give any help about how to get that DLL.

foo_dsp_dolbyhp is available at the usual 3rd party component website. Any comments, criticisms, bug reports and legal issues  are welcome (under this thread).

Dolby Headphone Wrapper DSP

Reply #1
Quote
I'd like to introduce a DSP I've been developing these weeks. It's a Dolby Headphone wrapper DSP. 

After some research on Lake DOLBYHPH.DLL bundled with software DVD players, I was able to find out its protocol used to interface with the client app. Then, why not make it work for myself?! And that was how foo_dsp_dolbyhp was originated. It wraps the functionality of the original DLL to be used under foobar2000. You just need to configure the plugin pointing out the location of that DLL in your system. Of course I'll NOT give any help about how to get that DLL.

foo_dsp_dolbyhp is available at the usual 3rd party component website. Any comments, criticisms, bug reports and legal issues  are welcome (under this thread).
[a href="index.php?act=findpost&pid=347546"][{POST_SNAPBACK}][/a]

I tried  it but it sounds pretty bad to my ears. What is it supposed to do?

Dolby Headphone Wrapper DSP

Reply #2
If the plugin is working fine and you have selected the proper DOLBYHPH.DLL file, then you should hear the Dolby Headphone spatial effect when you use headphones (of course, if you use speakers you'd better disable this plugin).

You can read the background of Dolby Headphone at Dolby Laboratories website, with an interesting Flash demo on the right side.

If after knowing this you still feel that the sound is incorrect, please let me know the DOLBYHPH.DLL version you have used, samplerate and number of channels you're feeding the DSP.

Dolby Headphone Wrapper DSP

Reply #3
Quote
If the plugin is working fine and you have selected the proper DOLBYHPH.DLL file, then you should hear the Dolby Headphone spatial effect when you use headphones (of course, if you use speakers you'd better disable this plugin).

You can read the background of Dolby Headphone at Dolby Laboratories website, with an interesting Flash demo on the right side.

If after knowing this you still feel that the sound is incorrect, please let me know the DOLBYHPH.DLL version you have used, samplerate and number of channels you're feeding the DSP.
[a href="index.php?act=findpost&pid=347691"][{POST_SNAPBACK}][/a]

I'm using version 1.10.0.270. Actually, having spent more time using it, I have to pull my foot out of my mouth! It works quite well. This is the only headphone DSP I've used that actually moves the sound field outside my head! I do have one question though. Reading from the site you listed it states "Dolby Headphone is designed to process a 5.1 signal. It can also process stereo sources, but the stereo signal must first be converted to a 5.1 signal." Do I need to use a componant such as "Channel Mixer" to convert a sterea signal to 5.1 first?

Dolby Headphone Wrapper DSP

Reply #4
Best results are obtained when a 5.1 signal is used, but there's no problem if just two channels are provided. The Dolby Headphone engine admits any signal from mono to 5.1, and internally performs  the proper calculations to provide the best output for each audio layout. I haven't tested any stereo-to-5.1 expander, but I doubt it would improve anything from the DH point of view.

By the way, users of WinDVD should be warned that if they use Dolby Headphone when watching DVD, the input signal feeded to the DH-engine is a downmix stereo 16bit, not 5.1! Surprising, uh? The best handler of DH-engine is PowerDVD, always feeding it with the proper format in 32bit float samples, 48KHz.

Dolby Headphone Wrapper DSP

Reply #5
Interesting limitation there. I always wondered why WinDVD would display 16-bit regardless of the format or filtering, even if I turned that crap off. Pointless now that I am once again using Creative hardware with integrated software AC3/DTS decoding in the drivers, and now functionality similar to Dolby Headphone that can be used system wide. So, I think I'll keep it, with the fake S/PDIF pass-through, unless there is some other solution with Trimension DNM.

Dolby Headphone Wrapper DSP

Reply #6
Nice job, works quite well. There is no doubt that the good folks at dolby knows what they are doing, it certainly does add a lot of "life" to quite a wide variety of music.

Dolby Headphone Wrapper DSP

Reply #7
Just wanted to say thanks for a really useful plugin!  It's one plugin that has made it into my minimalist setup,

Ed

Dolby Headphone Wrapper DSP

Reply #8
Quote
Just wanted to say thanks for a really useful plugin!  It's one plugin that has made it into my minimalist setup,

Ed
[a href="index.php?act=findpost&pid=349766"][{POST_SNAPBACK}][/a]


The 3rd party site is down! And I just found this page =(

***************************
Problem fixed. Site went up. Time to give it a shot!
**************************

This.....could have been better ^^. Using my friends Dolby Headphone DAC was great, but this isnt very good at all. Thx for trying though. I hope there will be better versions soon. (I tried with the dll from one of my bundled powerdvd-CDs)

What needs to be done is really something to limit the reverb timing and really almost remove the eq-settings it adds. Problem is that we probably cant do anything about that since it's someone else's dll code.

Tried it with the following stuff:

Emu 0404
Musical Fidelity X-dac v3
Musical Fidelity X-can v3 headphone amp
Beyerdynamic dt880 headphones with proper eq-settings^^

Dolby Headphone Wrapper DSP

Reply #9
I can't hardly do anything to improve DH sound output. My goal was just to figure out how to call the DH engine functions (challenging part, since I didn't have any documentation nor source code) and then use that knowledge to implement a plugin for foobar2000.

As far as I know, you can just select the Room Mode from the 3 presets, and that's all the control you have over reverb, etc. However, the function used to set the Room Mode has 3 other parameters that I wasn't able to figure out its meaning. Looks like DH engine hasn't many options to play with.

Regarding the question of DOLBYHPH.DLL versions, I have only seen 1.10.0270 (July 9 2002) and I don't know if newer versions have been released over these years. Lake Technology website provides no info about current development of this project.

GiGurra, what do you mean with "Dolby Headphone DAC" ? It's supposed that all official implementations of DH, even if they're on hardware, should sound the same.

Thanks for all the feedback

Dolby Headphone Wrapper DSP

Reply #10
Quote
I can't hardly do anything to improve DH sound output. My goal was just to figure out how to call the DH engine functions (challenging part, since I didn't have any documentation nor source code) and then use that knowledge to implement a plugin for foobar2000.

As far as I know, you can just select the Room Mode from the 3 presets, and that's all the control you have over reverb, etc. However, the function used to set the Room Mode has 3 other parameters that I wasn't able to figure out its meaning. Looks like DH engine hasn't many options to play with.

Regarding the question of DOLBYHPH.DLL versions, I have only seen 1.10.0270 (July 9 2002) and I don't know if newer versions have been released over these years. Lake Technology website provides no info about current development of this project.

GiGurra, what do you mean with "Dolby Headphone DAC" ? It's supposed that all official implementations of DH, even if they're on hardware, should sound the same.

Thanks for all the feedback
[{POST_SNAPBACK}][/a]


It sounds very different. I should have called it something else, since it's not really from Dolby, but made by creative.  Here's a link to a Swedish store [a href="http://www.komplett.se/k/ki.asp?sku=308150&cks=PRL]http://www.komplett.se/k/ki.asp?sku=308150&cks=PRL[/url] .

I was amazed that such cheap hardware used with my own headphones could sound that good. (You can set this to use D. Headphone only if you want)

Again, I really should have called it something else, since we really dont know what creative did on top of DHP, but it sure sounds good 0)

Dolby Headphone Wrapper DSP

Reply #11
Looks interesting. I've found the full specification at Creative Labs website:

Creative HQ-2300D

Yes, it has the DH logo, then it's an official implementation and theoretically it should sound very close to the software DLL.

Have in mind that sometimes the soundcard can add effects and EQ to the sound output. I had some trouble disabling all the sound effects in my integrated nForce2 (it was silently activating nVidia CineSurround each time I restarted Windows  ). DH should be the last and only effect before DAC.

Dolby Headphone Wrapper DSP

Reply #12
Quote
Looks interesting. I've found the full specification at Creative Labs website:

Creative HQ-2300D

Yes, it has the DH logo, then it's an official implementation and theoretically it should sound very close to the software DLL.

Have in mind that sometimes the soundcard can add effects and EQ to the sound output. I had some trouble disabling all the sound effects in my integrated nForce2 (it was silently activating nVidia CineSurround each time I restarted Windows  ). DH should be the last and only effect before DAC.
[a href="index.php?act=findpost&pid=350402"][{POST_SNAPBACK}][/a]


This software version just sounds nowhere NEAR that dac. With that dac connected it was really like stepping into a large listening room with VERY VERY VERY nice speakers

The software version was like sitting in a bathroom with a very bad eq^^

Dolby Headphone Wrapper DSP

Reply #13
Is it possible to use that Plugin in Winamp, too?
I find this plugin great but would like to use it.
Thanks for answers.

Dolby Headphone Wrapper DSP

Reply #14
I had to choose between Winamp and foobar2000 when I decided to make this plugin. I chose foobar (although I was using Winamp by that time) because it has a stronger plugin interface and modularity.

I don't discard the possibility of coding a version for Winamp in a near future, but at present you can consider this as a good reason to try foobar2000.

Dolby Headphone Wrapper DSP

Reply #15
If you can find a way to do this but for the Dolby Prologic IIx in PowerDVD/WinDVD you will be my new personal hero.
It is a bit different to do...but it doesn't hurt to ask.

But this is already a great plugin, thanks!!

Dolby Headphone Wrapper DSP

Reply #16
Definately a worthwhile plugin! Thanks. 

I was wondering if anyone knows how to encode FLAC to OGG with this DSP for use in a personal stereo. I suppose this would apply to any foobar DSPs. And ideally not in realtime i.e. re-recording all the FLACs with a diskwriter but encoding at CPU limited speeds but applying this DSP just before encoding.

Thanks,

Dave UU.

Dolby Headphone Wrapper DSP

Reply #17
Quote
I was wondering if anyone knows how to encode FLAC to OGG with this DSP for use in a personal stereo. I suppose this would apply to any foobar DSPs. And ideally not in realtime i.e. re-recording all the FLACs with a diskwriter but encoding at CPU limited speeds but applying this DSP just before encoding.
[a href="index.php?act=findpost&pid=355720"][{POST_SNAPBACK}][/a]


Whoops! Should have had a look at Diskwriter before posting that  . . . I assumed it wrote files as it played them ('realtime') but it does exactly what I wanted  Isn't Foobar great!!

Dave UU

Dolby Headphone Wrapper DSP

Reply #18
Thank you for this great plugin!!!

I've been looking for something like this since this is my first choice when encode DVD to DivX for my portable player...

how did you find out, how DolbyHph.dll is used by the players? I was wondering if it was now easier to implement TruSurroundXT or CyberlinkHeadphone. They produce even more impressing virtual surround, I think. Any attempts?

Dolby Headphone Wrapper DSP

Reply #19
Discussing technical details about how I did it is beyond the purpose of this forum and this thread, but if someone has a special interest then send a PM.

Most of the other DSP's that have been proposed here to be "freed" the same way as DH are Directshow filters, and DirectShow is Microsoft COM based (Component Object Model). This is an open interface and it's well documented in MSDN and the net.

The work to do here would be a plugin that could wrap a Directshow filter for foobar2000, or, even better, make fb2k DirectShow based! I don't know the reasons why DirectShow/COM architecture was ignored when developing fb2k. I think that nowadays every Windows audio/video/DVD player is DirectShow based.

BTW thanks for all the feedback.

Dolby Headphone Wrapper DSP

Reply #20
I'd love to try out the plugin -- rock & roll and thin apartment walls don't mix well -- but it doesn't appear to work on either Win98SE or WinME. At the DSP config window, clicking the "..." button (to specify the location of the .dll) doesn't do anything, and playback results in an error message saying I haven't specified where DOLBYHPH.DLL is.

btw, does anyone know what the "headphone virtual spatialization" in ffdshow's audio mixer is based on?

euphonic

Dolby Headphone Wrapper DSP

Reply #21
I'm in love this, and I hope it's ported to 0.9 when the time comes.

Dolby Headphone Wrapper DSP

Reply #22
Since there have been two folks asking me the same thing this week, I would like to clarify the issues under Win98 and alike. They aren't really an issue, the point is that the plugin is UNICODE based and Windows 95, 98 and Me don't have built in support for this.

Honestly, this plugin doesn't really need to be Unicode, it can do its work in ANSI. But sometime we'll all have to change our concept of "char" from one-byte to two-byte, even on the most insignificant project (yes, even for printing a "HELLO WORLD" !!). foobar2000 uses internally UTF-8, but I think it's not a good option for internal data. UTF-8 is GREAT for documents, html, etc. but not as an internal representation of strings due to it's a variable length coding.

I can rewrite the code to be ANSI if some of you want to keep using Win98, but I have heard that next versions of foobar2000 won't run on old Windozes anyway. Can anyone confirm or refute this "gossip", please?

I expect to port the code to 0.9 when things become stable and the SDK gets released.

Dolby Headphone Wrapper DSP

Reply #23
The foobar2000 SDK provides plenty of help for handling UTF-8 strings. Of course string operations can be pain on variable-length encoding if you reinvent the wheel over and over again, but generally they just need to be implemented properly once.

As for 0.9, no Win9x/ME support is planned.
A riddle is a short sword attached to the next 2000 years.

Dolby Headphone Wrapper DSP

Reply #24
Quote
I expect to port the code to 0.9 when things become stable and the SDK gets released.


Does the time seem right now?  I just discovered Dolby Headphone through WinDVD and I love it. It's not very practical to play things through WinDVD though, it would be nice to use this with foobar. I look forward to it.