5.1 channel audio through ordinary headphones using MPC-HC

Blown-Away Man

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.

 

What does Dolby Headphone sound like?

Listen for yourself – plug in some headphones and try these DH encoded samples. The choice of movie trailer isn’t exactly showcasing the 360 degree soundstage, but it was quite tricky to encode so I didn’t want the hassle of sampling a scene from an actual film. I can assure you that the action sequences in District 9 for instance sound a whole lot better with Dolby Headphone enabled.


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.

A guide for configuring Dolby Headphone using PowerDVD’s CyberLink Audio Decoder already exists (with files):
http://www.head-fi.org/forum/thread/405417/guide-dolby-headphone-in-mpc-zoom-player

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 next piece of the puzzle can be found here on the forum for Zoom Player, a commercial media player:
http://forum.inmatrix.com/index.php?showtopic=7224

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:

So how can we construct a similar sequence in MPC-HC? In the end I finally found the crucial bit of information in a single sentence of the excellent self-explanatory and unofficial All the things you may want to know about Media Player Classic – HomeCinema:

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.

Audio switcher settings

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:

On the next tab you can choose between three DH modes. I found a nice succinct guide to the three modes here:
http://www.head-fi.org/forum/thread/444681/headphones-with-good-sound-stage-better-with-dolby-headphone-or-no-need-for-it#post_6003214

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!

 

Further reading

There is a guide to using Dolby Headphone for listening to two channel music in the audio player foobar2000 here:
http://www.head-fi.org/forum/thread/447089/5-1-headphone-experience-foobar-configuration-for-all-stereo-music-files

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).

About these ads

36 thoughts on “5.1 channel audio through ordinary headphones using MPC-HC

  1. Pingback: Dolby Headphone possible? (with powerdvd audio codec or Windvd?) - MediaPortal Forum

  2. ghest

    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.

    Reply
  3. Proutis

    Thk for the tutorial very helpful.

    (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). )

    Someone have find a wait to correct this thing ?

    Reply
  4. anonymouse

    CyberLink Audio Decoder from PDVD7 does retain Headphone between uses. Version 11 behaves same as 10. I do not know about 8 & 9.

    Reply
  5. stuck

    I’m stuck at the external filters section. I can’t seem to find the cyberlink audio decoder whenever I try to add a filter. I have powerdvd11 installed by the way. Please help, thanks

    Reply
    1. patters Post author

      I’m not sure, but I think in newer versions Cyberlink may have specifically prevented the filters being used outside the PowerDVD application.

      Reply
  6. gambit

    For some reason there’s no option for Dolby Headphone, just stereo. Is there a way to download that plugin for powerdvd 10?

    Reply
  7. boffo

    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.

    Do newer versions of PowerDVD come with a 64-bit filter?

    Reply
  8. boffo

    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.”

    Any ideas?

    Reply
    1. patters Post author

      Not sure, but I think that a lot of the PDVD codecs floating around ‘out there’ have been hacked to permit use external to PDVD.

      Reply
      1. boffo

        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.

  9. Hakuromatsu

    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.

    Thanks for the guide!

    Reply
    1. Hakuromatsu

      I got it working with the version boffo used! Thanks for the guide!

      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.

      Reply
      1. AidanSonoda

        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.

      2. Hakuromatsu

        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.

  10. boffo

    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:

    http://www.slingfile.com/file/tRyBVfO20p

    I hope I’m not violating any rules by posting that. AFAIK, like AidanSonoda pointed out, there’s no easy way of obtaining these older files through purchasing PowerDVD today.

    Reply
    1. AidanSonoda

      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.

      Reply
  11. Loginer

    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.

    Reply
  12. Zeb

    FFDSHOW already has an audio decoder called “HRTF” or Head related transfer function that will emulate surround sound to headphones very nicely.

    Reply
  13. James

    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 ….

    Reply
    1. patters Post author

      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.

      Reply
  14. James

    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 …

    Reply
    1. LimePrism

      Hey, have you made sure it’s below ffdshow audio on the list, and that both are set to Prefer?

      Reply
  15. LimePrism

    Thank you for the guide :) I’ll watch few movies with that setup, see how well it will do :)

    Reply
  16. gubobo

    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.

    Reply
  17. Exercitus

    Hello,

    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!

    Reply
  18. Exercitus

    @boffo: Could you please re-upload your version again? I would like to try it with that version. slingfile.com is not accessible right now.

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s