and other brilliant error messages

5.1 channel audio through ordinary headphones using MPC-HC

Though I have owned a surround sound system before, I don’t currently have the space for one. I was recently considering buying gaming headphones with support for Dolby Digital 5.1 channel audio which I could also use for watching films. With some more reading I discovered that these hardware solutions will only work with a Dolby Digital source (AC-3). The problem is that I have a lot of content with DTS audio which the chips in these products don’t support, not to mention MP4 files with multichannel AAC audio.

Reading the specs of these headphones, I discovered that they license a technology called Dolby Headphone – some clever signal processing developed by Lake DSP in Sydney. Early 5.1 channel headphones actually contained multiple tweeters mounted at different positions inside each ‘can’ which apparently weren’t very convincing, but this better approach is more of an emulation – one that relies on the fact that you only have two ears. It’s able to model the audio delays and reflections of a room containing a 5.1 setup, plus it seems to boost up the low frequencies so you’re really aware of the LFE channel. I don’t really understand why there isn’t much awareness of Dolby Headphone. It’s not at all new – look at this 1998 press release!

What’s also not very widely known is that Dolby Headphone can be encoded in software, through the likes of PowerDVD’s audio decoder, regardless of whether your sound chip is Dolby Headphone certified (as some now are). It’s also not particularly processor intensive – my Sony Vaio P can play H.264 movies and process DH with its Intel GMA 500 GPU and meagre 1.33GHz Intel Atom Z520 CPU.

These samples are 192Kbps MP3 files for size reasons. The slight metallic high-end ringing to the deep bass is an encoder artifact from the conversion to MP3 using the LAME encoder, and it was still present when I tried 320Kbps. The channel test clip was taken from http://www.lynnemusic.com/surround.html and the I Am Legend trailer was from http://www.h264info.com/clips.html.

How to get it working for AC-3, AAC, and DTS multichannel sources

In a previous post I explained how to setup Media Player Classic Home Cinema to use a third party h.264 decoder with DXVA support. MPC-HC has several key advantages as a media player – it’s open source, it’s lean, it’s extremely configurable, and it plays pretty much any format. I use it for my Sony Vaio P to keep CPU use as low as possible on its rather limited Intel Atom processor. Many people use MPC-HC for their Home Theatre PCs, hence this article.

However that information isn’t sufficient. The complication is that when this decoder is used outside the PowerDVD software, it only works with DTS audio streams even though it should also support AC-3. Reading around, it seems that the AC-3 support works in Windows XP but not in Vista nor in Windows 7.

The important point is that the CyberLink decoder can accept a multichannel LPCM input, so you can use another decoder (ffdshow tryouts in this case) to convert the source bitstream into LPCM first, then feed that to the CyberLink decoder. This means that multichannel AAC audio found in MP4 containers could have Dolby Headphone applied too. The above post describes how to do this for Zoom Player, but we’re interested in MPC-HC. The next obstacle is figuring out how to link multiple decoders together in MPC-HC – something I couldn’t find any info about despite spending hours searching online.

The key to understanding this is knowing how the modular Windows DirectShow media layer works. If you’ve already played with MPC-HC you will be familiar with adding and removing filters, as well as the concepts of ones that are built into MPC-HC and those that are external. All these DirectShow filters have ‘pins’ which are their inputs and outputs – their connection points in other words. Each pin has a defined list of media types it will and won’t accept. As long as you comply with this, they can be threaded together to create a ‘graph’. The simplest way to illustrate this is with a screenshot of the aptly named GraphStudio, and this example shows the combination of filters I used to make one of the sample audio clips earlier in this post:

When a video file is loaded in MPC-HC, MPC-HC will run through this list from top to bottom and load the relevant filter(s), create a graph from them and play the file.

Bingo! All you need to do is explicitly list them in the right order in MPC-HC’s External Filters window and MPC-HC should thread them together, compatible pins permitting. Sure enough, it works.

Would you believe it, there is yet another hitch – the CyberLink Audio Decoder expects LPCM input channels to be in a certain order, one that differs from the default order in ffdshow. This is trivial to fix, though it will mess things up if you rely on ffdshow to decode other media formats.

The guide

You’ll need MPC-HC obviously, the CyberLink Audio Decoder will need to be installed (from PowerDVD), and you’ll need ffdshow tryouts installed (I used the SVN release, since the beta is years old).

Once ffdshow is installed, open up its Audio Decoder configuration utility from the Start Menu. In the Output section select 16bit LPCM and apply.

Disable the Mixer and configure the Swap Channels menu as follows. Note the different order:

Open MPC-HC and hit O to bring up the options menu. In the Internal Filters section de-select AAC, AC3 and DTS from Transform Filters on the right.

UPDATE – Contrary to what I had originally written here, do not disable the built-in audio switcher! I hadn’t understood that this is needed for when you have a video file with multiple audio tracks. If it’s not enabled then all audio tracks play simultaneously. You could consider disabling Regain volume if you want to minimize the amount of additional processing.

In the External Filters section make sure that ffdshow is set to prefer, and is listed above CyberLink Audio Decoder (also set to prefer). Use Add Filter… to set Microsoft DTV-DVD Audio Decoder to Block.

Remember that DTS audio bitstreams don’t require the ffdshow treatment. To avoid having to reconfigure this for different movie formats we can customize the recognized media types for the ffdshow filter. As per the screenshot above, select ffdshow Audio Decoder then scroll down until you find MEDIASUBTYPE_DTS and delete it. DTS files will now skip ffdshow and will be entirely handled by CyberLink Audio Decoder. If you ever need to revert this change click Reset List.

Open a movie file in MPC-HC, then select Play -> Filters -> CyberLink Audio Decoder and you will be able to select Dolby Headphone like so:

Sadly it seems that every time you load a new file into MPC-HC you need to re-enable Dolby Headphone (the setting doesn’t stick for some reason). Also, owing to the channel order swapping in ffdshow you’ll find that in ordinary stereo mode you’re only getting the Front Left and Front Center channels. As a result you’ll probably want to de-select the Swap Channels setting in the ffdshow Audio decoder tool when you’re not using headphones. A small price to pay though… Enjoy!

I’ve given it a try and I don’t really think it’s worth it. When I had a actual surround system I used to play all my music on Dolby Pro Logic IIx and it sounded very good using all the speakers. It meant you could be sitting anywhere in the room and still get nice separation and so on. However, creating those additional channels only to merge them back down to two channels often doesn’t seem to add much since they were virtual to start with. In side by side listening comparisons I often preferred the original stereo mix, but admittedly it does seem to vary with the way they’ve been mastered (remember, to hear the original stereo you have to remove all selected DSPs, not just DH).

Thanks a lot, I looked everywhere for an explanation on how to do this. Also, checking “Dolby decoder” and “Volume” (set to 50% or -6dB) in ffdshow audio properties, in combination with Dolby Headphone, can have a pretty awesome effect with stereo sources. I do recommend setting the “Miscellaneous” tab of the Cyberlink filter to “Quiet Environment” with “Enable” LFE checked for the best sound quality.

This might be obvious, but I didn’t realize it right away: I had to stick with the 32-bit version of MPC-HC so that it could see the 32-bit “CyberLink Audio Decoder (PDVD7)” filter. The filter wouldn’t show up in the 64-bit MPC-HC.

While playing a file in MPC-HC, viewing filters shows that “MPC Audio Decoder” is used, but never “CyberLink Audio Decoder.” Testing using GraphEdit (and GraphStudio), I can’t connect the audio out pin of “CyberLink Audio Decoder (PDVD7)” to anything at all. I assume it should connect to “Default DirectSound Device.”

Thanks, I managed to find a version that works. FYI to others, according to GraphStudio (actually GraphStudioNext), I’m using filter named “CyberLink Audio Decoder” version 6.1.0.4420 that’s supposedly part of PowerDVD Ultra 7.3.3304.

patters, do you still have the RAR from http://www.head-fi.org/forum/thread/405417/guide-dolby-headphone-in-mpc-zoom-player? I have no idea how to install the CyberLink Audio Decoder properly (I installed PowerDVD 12 and tried registering claud.ax, but I think I’m doing something wrong because “CyberLink Audio Decoder” isn’t showing up in the “Play > Filters” menu). I don’t think the issue is Power DVD 12 itself, because someone in that head-fi thread evidently got it working.

One question, is it possible to get Dolby Headphone working with multichannel FLAC? It’s weird, because 2-channel FLAC passes through CyberLink perfectly (not that Dolby Headphone sounds any good with stereo sources), but anything higher than that and the video just won’t play.

You seem to have gotten this setup working quite recently. Since you and I are both working in the same environment: long after the guide was written – with all the dead links, etc. which that entails – perhaps you can help me. I’ve proven not to be smart enough to “find” version 6.1.0.4420 or PowerDVD 7.3.3304 for that matter. Even if I were interested in paying for software I don’t want to use just to get at a codec within it, Cyberlink only offers the current version (obviously) which the above comments lead me to believe does not work for this. I’m certain the issue is my own stupidity and/or lack of savvy, but any guidance would be greatly appreciated.

I don’t remember where I got PowerDVD 7.3.3304. Nothing really “smart” about it, just Google around and you’ll find it eventually.

By the way, I recommend looking for a sound card with Dolby Headphone — you can get the Xonar DG (for example) for less than $30. That’s highly preferable to jury-rigging software solutions like this. I’m just using this solution temporarily until I get a discrete card of my own.

I just happened to check back here to see if anything new has come up. It seems other people are having trouble finding working files, same as I originally did. So, for anyone else that comes across this post, here’s a copy of the files I’m using:

Fantastic… got everything up and working in a flash with your files, thanks for the share.

As an aside, I just can’t believe there isn’t more demand for this – spatialization as good as (maybe better than) my local theater’s gigantic surround system. On par with my (very expensive) setup downstairs – with the fidelity of the headphones I already own for listening to music. Truly excellent.

Great guide. Just one problem with the settings described above: The side channels are missing in 7.1 tracks. To resolve this, simply re-enable Mixer in the ffdshow config, place it above the Swap channels filter, and set the speaker configuration to 3/0/2 with LFE checked.

Also, I had some issues with the DTS thing (no audio playback), so I recommend skipping that modification.

Can any of you answer this question: If I am currently using PowerDVD in dolby headphone mode, is there any additional benefit to using the method described here? Because the sample that the author linked to sounds way more impressive than what I’m currently hearing with PowerDVD, which just sounds like normal audio with some reverb thrown in ….

It’s using the same method (and DLL), so it should sound the same. Dolby Headphone has three modes though for different room sizes, and IIRC I used the middle option which seemed to sound markedly better than the default.

No matter what I do, I can’t get “CyberLink Audio Decoder” to show up as an option under Play/ Filters in MPC. I actually have the full version of CyberLink installed and I downloaded the files linked above …

Could I get a little advice on how to install those three files? Claud.ax, Claud.sim, and dolbyhph.dll? Maybe I’m installing them wrong …

After some tribulations I got this working on Windows 8 x64. The audio filters from powerdvd13 don’t appear in mpc-hc, so you need to locate the file Claud.ax manually. You might want to copy this whole folder somewhere else in case you decide to uninstall p-dvd.
Make sure there is a file called CLAud.sim (letter case matters) in this same folder, otherwise the filters won’t work properly. I believe there is a torrent of this only file.
Finally, to get the filter to remember its settings, you need to add the cyberlink audio effect (CLAudFx.ax) filter to the queue. Weird but it works for me.

Hi. This is a bit of a dig but I need help. I have win 8.1 power dvd 14 and i want to do Dolby Headphone transplant to my mpc. There are 2 problems though. First is that I use http://haruhichan.com/forum/showthread.php?7545-KCP-Kawaii-Codec-Pack . Will it work? Second is that I followed gubobo advice. There is no CLAud.sim in that folder though. I can add various filters from …/Common/AudioFilters/ but then the options are greyed out.

very good guide! I really tried getting this to work but I am not able to. Could someone please advise?

I am on Windows 8 x64 and I have tried every possible combination of MPC-HC (1.7.6, x86 and x64), ffdshow (1.3.4531, x86 and x64), and copying and registering PowerDVD files (from version 7, 10, 13, 14) in C:\Windows\SysWOW64 (and C:\Windows\System32, but there claud.ax can’t be registered). I can see the CyberLink Audio Codec in Options->External Filters but not in Play-> Filters!

Some industrious fellow PMd me on another forum to ask about this setup and got me thinking about it again (it has been years since I set this up for myself). From my, admittedly fuzzy, recollection:
1.) you do not need to install PowerDVD you just need the three files packaged above. The files I have (I saved them locally years ago, in case I would want them in the future) are: CLAud.ax | CLAud.sim | dolbyhph.dll

2.) it does not matter what directory you choose to store these files in (at least it did not matter for me) – you simply need to pick them out from within MPC’s “Add Filter” dialogue.

3.) Before leaving windows all together, I had stopped using PowerDVD’s Dolby Headphone implementation in favor of ffdshow’s built in HRTF because it was less fiddly about channel arrangement and just generally easier to use with wider compatibility. This can be found in ffdshow’s “Audio decoder configuration” app (check the start menu folder) under the “Mixer” tab.

I’ve been using this for some time now, and it’s worked great until recently it started to be greatly unbalanced: the background noises are fine, but the voices are much, much stronger on one channel than on the other one.

Thanks for the compilation of information! Works great for multichannel sources. However I’m still confused as to how DH processes the inputs. I wanted to use DH with stereo as well but neither upmixing nor direct output works. By default the sound would shift to the left and if “expand to center” in the mixing tab of ffdshow is checked, the sound shifts to the right. Lowering the center volume too much also produces weird effects.

For those interested in a temporary fix, I came across the DH website and it says that it’s actually using Dolby Pro Logic II (virtual surround) to upmix. I never thought of this since PowerDVD just works the same for multichannel and stereo. So next, I used ffdshow to enable PLII and mix to 5.1 and pass on to DH. PLII can be entirely handled within ffdshow which is super convenient and if you test with volume control you can hear that it’s actually producing virtual surround. As expected, with channel swap this worked perfectly just like native multichannel.

The effect is much better than native stereo at least for movies. For music I would stick to native stereo. Hope this helps and thanks again for this post!

Hello, I suspect you might have the solution for my problem: the voice is completely unbalanced (see previous comment). Can you give me a step by step guide on how to solve this? I had been using OP’s trick for a while and it was working perfectly until some time ago.
Thanks :)

All the comments are pretty old, so I’m giving the needed files as of 2017. I tried many Powerdvd versions, and the files that work are from PowerDVD 10. You should hit play-filters and sleect powerdvd audio EFFECTS, not decoder, and then select Headphones and turn on Dolby Headphones. Its quite amazing! Files: https://mega.nz/#F!REMShZIT!dSkDBJn8uDdUoTZVF9i_kw