Jump to content
  • The Computer Audiophile
    The Computer Audiophile

    How To Decode and Play Dolby TrueHD Atmos on Windows and macOS

     


    Yes, you read the title correctly. Here is a little background and all the information you'll need to decode and play lossless Dolby TrueHD with Atmos on a Windows or macOS computer, without the need for HDMI output. 

     


    Housekeeping

     

    There are two codecs used with Dolby Atmos content. 

     

    Lossy - Dolby Digital Plus
    Lossless - Dolby TrueHD

     

    Atmos offers additional height channels to the more traditional 5.1 or 7.1. For example I'm putting together a 7.1.4 Atmos system. 7 main channels, 1 subwoofer, and 4 height channels. 

     

    Both DD+ and TrueHD carry the height channels in metadata. This makes the content on Blu-ray Discs appear like plain 7.1, but when decoded, the height channels are filled. It isn't practical to extract the height channels to a separate file, these are available at the time of decoding.

     

    macOS has a built-in Dolby Digital Plus decoder using what's called DD+JOC. This is how Atmos / Spatial Audio content can be played and listened to on a Mac. However, this is the lossy version, not TrueHD lossless. 

     

    The only source of lossless Dolby TrueHD Atmos is on Blu-ray Discs. 

     


    Why?

     

    Why would someone want to decode and play Dolby TrueHD Atmos content on a computer rather than an AVR or processor? Mainly it's about cost, flexibility, and performance. The cost of a high end processor can set you back $10,000 or much more. The flexibility of a computer based system is endless (for better or worse). With respect to performance, a computer based system can use several types of room correction, 65,000+ taps, upsample to high rate PCM or DSD, and output to high end DACs with interfaces much better than HDMI.

     


    Here We Go

     

    Start by ripping the Dolby TrueHD content from a Blu-ray Disc. To do this, use a Blu-ray drive such as the Archgon BU40N that can also rip UHD 4K Blu-ray Discs (although a firmware adjustment is required to rip UHD). 

     

    Ripping the content is done by the MakeMKV application - https://makemkv.com

     

    Here you can see The Beatles Abbey Road Blu-ray. I have the TrueHD Surround 7.1 English track selected to rip. Again, it says 7.1, but the metadata will be used to create a 5.1.2, 7.1.4, 9.1.4 or greater mix. 

     

     

    TrueHD ripping decoding 01.jpg

     

     


    Once MakeMKV has ripped the track into an MKV file, you'll have both the audio and video together. 

     

    I prefer to extract only the audio portion of these tracks, so I use an application called Music Media Helper 6. This app will enable you to extract individual audio tracks in MKA format. 

     

    Once you have both MKV and MKA files, you're ready to extract the lossless TrueHD files needed for decoding. Note: if you want to output the MKV or MKA files via HDMI into an AVR with Dolby Atmos decoding, then you don't need to go any further. However, if you want to decode TrueHD on a computer, keep reading. 

     

    Install the app named mkvtoolnix and the gui for the app, named MKVCLeaver.

     

    The reason I have both a single MKV file and individual MKA files is because I want a single track (for listening to the entire album) and separate tracks for picking and choosing. 

     

    Open MKVCleaver, then select the MKV file from within the app. Once open, select the audio track you wish. Here you can see I've selected what says MLP FBA 16-ch... on Abbey Road. Then click extract. This will extract the entire track into a TrueHD file with the TrueHD file extension. 

     

     

    TrueHD ripping decoding 02.jpg

     

     

     


    If you want individual files, open all the MKA files with MKVCLeaver, and select the Audio Track like I've done in this screenshot, and click extract. This will give you individual TrueHD files. 

     

     

    TrueHD ripping decoding 03.jpg

     

     

     

    Once you have your TrueHD files extracted, change the file extension from .truehd to .mlp. Now you have files ready to decode from 7.1 to 7.1.4 or more, and 100% lossless. 

     

     

    Where The Rubber Meets The Road

     

    Now for the good part. Purchase a license for the Dolby Media Encoder ($400 /yr). The Dolby Media Encoder comes with the Dolby Reference Player. The Dolby Reference Player is the app that's needed. Note: the Media Encoder is what's licensed for $400 per year, but only the Reference Player is what we need. The Reference Player will continue to work after one's Media Encoder license has expired, but updates will not be available.

     

    You can purchase the Dolby media Encoder here.


    Install the Reference Player on either macOS or Windows. I have it working on macOS 12.3 and Windows 11. 

     

    Open the Dolby Reference Player and change the settings to match your audio needs. I disable Dynamic Range Control, set the presentation to 16 channels, speaker layout to 7.1.4, and audio device to my Merging Technologies Anubis. Then open one of the ripped MLP files and extracted earlier, and enjoy the glorious lossless Dolby TrueHD with Atmos content. 

     

    HDMI output isn't required because the audio is already decoded into PCM.

     

    Here is a screenshot of me playing The Beatle Abbey Road. You can see the 7 main channels, 1 LFE subwoofer, and 4 height channels, all with content. 

     

    TrueHD ripping decoding 04.jpg

     

     


    Wrap Up

     

    This was the quick and dirty how-to. There are many more items to cover, such as room correction and issues that may pop up with different audio interfaces. Right now, I can send audio from the Dolby Reference Player to HQPlayer for room correction and upsampling, then out to my Merging Technologies Anubis for playback. The decoding is all done by the Reference Player. Regular 12 channels of PCM is delivered to HQPlayer, so I can do whatever DSP I need. I also send Apple Music Atmos / Spatial Audio content through the same digital signal processing.

     

    I want to thank @El Guapo for helping me with this project. Without his input, I'd still be trying to figure this out. 


     

     

     




    User Feedback

    Recommended Comments



    10 minutes ago, ted_b said:

    This is very, very cool.  I bet some enterprising programmer could create a whole GUI application set that mimics a high-end pre/pro (like my Lyngdorf MP-40 that is brand new and unboxed currently!  Hmmm....).  Video switching,  HDMI inputs for the ATV4Ks and Nividia Shields of the world.   Net/net, this takes building an HTPC to new heights (pun intended). 🙂

    I agree Ted! It isn't for everybody, but it's for a lot of people who've been searching for a solution for a decade. 

    Share this comment


    Link to comment
    Share on other sites

    I wonder what is involved to synch up two consumer dacs (say exaSound's 8 channel and a 2 channel for a 5.1.4 setup) outside of Merging.

    Share this comment


    Link to comment
    Share on other sites

    4 minutes ago, ted_b said:

    I wonder what is involved to synch up two consumer dacs (say exaSound's 8 channel and a 2 channel for a 5.1.4 setup) outside of Merging.

     

    Not sure, but it would be fun to try. There are many more 8 channel DACs on the market than 9+ channel DACs. 

     

    If you can make them appear as a single device, you should be good. It's easier because the TrueHD content is almost always the same 48k sample rate. I've yet to see TrueHD Atmos anything other than 48k. 

    Share this comment


    Link to comment
    Share on other sites

    Okay, how does the 7.1.4 Abbey Road sound?

    Is it a gimmick, or something you'll really want to listen to?

    Share this comment


    Link to comment
    Share on other sites

    20 minutes ago, firedog said:

    Okay, how does the 7.1.4 Abbey Road sound?

    Is it a gimmick, or something you'll really want to listen to?

    I can only do spot testing of a few channels at a time, until I have my full 7.1.4 system. From what I've heard, it's not a gimmick at all.

    Share this comment


    Link to comment
    Share on other sites

    I can say that I’ve heard Abbey Road now in 5.1 through the Dolby Reference Player and it is definitely lossless sounding as compared to Apple Music Atmos. I’m still working on getting the DRP to pass through HQP for convolution and volume control. It’s an issue to get it to work with my Okto dac8pro. 
     

    @ted_b, I wonder if the old miniDSP device that combined multiple 2-channel DACs to act as a single MCH DAC could be deployed to combine, for example, two Okto DACs into a 16 channel DAC. I sold my miniDSP device and so don’t have it around to test. JCR 

    Share this comment


    Link to comment
    Share on other sites

    1 hour ago, jrobbins50 said:

    @ted_b, I wonder if the old miniDSP device that combined multiple 2-channel DACs to act as a single MCH DAC could be deployed to combine, for example, two Okto DACs into a 16 channel DAC. I sold my miniDSP device and so don’t have it around to test. JCR 

    Not Ted but it may be possible to synch multiple DAC8 Pros by themselves by using the one of the outputs of the 1st DAC8 as a synch source to one of the inputs on the 2nd DAC8 which will get you 15 channels.  Daisy-chain more and get 7 per DAC.   Alternatively, you can use the U-DIO as just a synch source to each of the DAC8s.

     

    In all cases, the DAC8s have to be in USB/AES mode and everything has to be at 24/48 since the Oktos require the same bitrate/depth on in and out in this mode.  No upsampling or downsampling, at least in theory.

     

    The bigger issue is having a way to send/distribute the channels to the DACs.  In MAC, it is easy as MiDi setup lets you create virtual outputs from multiple real ones.  In WinWorld, you may have to used something like ASIO4ALL. 

    Share this comment


    Link to comment
    Share on other sites

    5 hours ago, firedog said:

    Okay, how does the 7.1.4 Abbey Road sound?

    Is it a gimmick, or something you'll really want to listen to?

     

    First a a few reference points. I've been listening to the Beatles since I bought a 45rpm 7 inch "I want to hold your hand" when it first came out (not continuously) I've never heard any of their recordings I would call audiophile and some absolutely sucked, like the MoFi vinyl box set. Listening to the Apple Atmos mix has been a revelation. More full bodied, better fidelity than any other version I've heard. That said, I certainly haven't heard them all but definitely something you want to sit and listen to for the music and fidelity, not the effects.  It is not gimmicky except the final little ditty where they pan the vocal from far right around the front of the room to far left  Some of it is stunning. "Come Together" as you've never heard it.

     

    I would love to hear the lossless version, I may buy the disc but they are at least $75 on Discogs at the moment for the 2019 set which is what the Apple mix is.  Perhaps we need another thread to discuss the software (music) side of this.

     

    Apple TV >> Trinnov AL16 >>> 9.3.6

    Share this comment


    Link to comment
    Share on other sites

    1 hour ago, Kal Rubinson said:

    Not Ted but it may be possible to synch multiple DAC8 Pros by themselves by using the one of the outputs of the 1st DAC8 as a synch source to one of the inputs on the 2nd DAC8 which will get you 15 channels.  Daisy-chain more and get 7 per DAC.   Alternatively, you can use the U-DIO as just a synch source to each of the DAC8s.

     

    In all cases, the DAC8s have to be in USB/AES mode and everything has to be at 24/48 since the Oktos require the same bitrate/depth on in and out in this mode.  No upsampling or downsampling, at least in theory.

     

    The bigger issue is having a way to send/distribute the channels to the DACs.  In MAC, it is easy as MiDi setup lets you create virtual outputs from multiple real ones.  In WinWorld, you may have to used something like ASIO4ALL. 

    Hello, @Kal Rubinson. Thanks for jumping in. Makes sense. Of course, 15 DAC channels would get Atmos 9.1.4, which would be interesting. Given the dearth to date of TrueHD music material, I’m not ready to invest in the additional DAC, amps and speakers to go there yet — I’d just like to get it running 5.1.2 on my existing setup at 24/48 through HQP and let it upscale to DSD64 for the Okto (my server just can’t seem to quite handle MCH DSD128).

     

    My holdup is that while I have succeeded at passing the Dolby Reference Player output to the Lynx mixer (I have an AES16e card in the server), I can’t get that to next pass off to HQP — even though I use the Lynx ASIO input on HQP for 2-channel material (digitizing vinyl to apply convolution and upscaling).  ASIO4all does not work for this in the Okto, even with trying the VB virtual audio cable for loopback. You don’t know your way around the Lynx mixer software perchance?  I believe it is some setting issue but I don’t know how to resolve it. I do have a note into Lynx technical support. JCR 

    Share this comment


    Link to comment
    Share on other sites

    Just now, jrobbins50 said:

    Hello, @Kal Rubinson. Thanks for jumping in. Makes sense. Of course, 15 DAC channels would get Atmos 9.1.4, which would be interesting. Given the dearth to date of TrueHD music material, I’m not ready to invest in the additional DAC, amps and speakers to go there yet — I’d just like to get it running 5.1.2 on my existing setup at 24/48 through HQP and let it upscale to DSD64 for the Okto (my server just can’t seem to quite handle MCH DSD128).

     

    My holdup is that while I have succeeded at passing the Dolby Reference Player output to the Lynx mixer (I have an AES16e card in the server), I can’t get that to next pass off to HQP — even though I use the Lynx ASIO input on HQP for 2-channel material (digitizing vinyl to apply convolution and upscaling).  ASIO4all does not work for this in the Okto, even with trying the VB virtual audio cable for loopback. You don’t know your way around the Lynx mixer software perchance?  I believe it is some setting issue but I don’t know how to resolve it. I do have a note into Lynx technical support. JCR 

    I haven't used Lynx Mixer for years :~)

     

    Does HQP see any channels from the Reference Player, through the Lynx Mixer?

    Share this comment


    Link to comment
    Share on other sites

    Lynx mixer sees all DRP channels but doesn’t pass them on to HQP. Lynx mixer sees my Benchmark ADC1 output and HQP sees that and plays it. See screenshots. JCR 
     

     

    EFAC6755-26B1-4F0A-B44D-067A8AF29F6C.jpeg

    984759D3-428F-4E6B-8F03-6C425FA138F1.jpeg

    Share this comment


    Link to comment
    Share on other sites

    It must have something to do with that the 2-channel material is in the mixer at the top and the MCH material from DRP is at the bottom. I don’t know how to manipulate it. 

    Share this comment


    Link to comment
    Share on other sites

    Sorry for multiple notes,  but I assume the play lines need to output to the record lines at the top, which will then output to HQP. It’s the linking that I don’t know how to do. 

    Share this comment


    Link to comment
    Share on other sites

    2 hours ago, jrobbins50 said:

    Sorry for multiple notes,  but I assume the play lines need to output to the record lines at the top, which will then output to HQP. It’s the linking that I don’t know how to do. 

    On a Mac it’s quite straightforward. Just install BlackHole 16ch version then point DRP output to BlackHole. 
    In HQPD set BlackHole as input then done. But if you want to use HQPe as the DSP engine, you need to run an NAA daemon on Mac and modify hqplayerd.xml for such input. 
    I’ll post the xml line later (driving now).

    A85CE216-7C09-410E-98A6-0DA437F08D8F.thumb.jpeg.7b16ede1c26ebd444a66939b6a75fd94.jpeg

    Share this comment


    Link to comment
    Share on other sites

    10 minutes ago, El Guapo said:

    On a Mac it’s quite straightforward. Just install BlackHole 16ch version then point DRP output to BlackHole. 
    In HQPD set BlackHole as input then done. But if you want to use HQPe as the DSP engine, you need to run an NAA daemon on Mac and modify hqplayerd.xml for such input. 
    I’ll post the xml line later (driving now).

    A85CE216-7C09-410E-98A6-0DA437F08D8F.thumb.jpeg.7b16ede1c26ebd444a66939b6a75fd94.jpeg

     

    He needs blackhole for Windows. 

    Share this comment


    Link to comment
    Share on other sites

    @El Guapo, glad you are part of this discussion.  I have the DRP up and running and am trying to get a 5.1.2 setup with sound coming out.  The variations I have tried -- none of which produce any output to the Okto dac8pro -- are:

    1.  Output the DRP to my Lynx AES16e soundcard, internally via the Lynx Mixer.  This appears as an 8 channel input to the DRP and as an 8 channel input backend in HQP as ASIO Lynx.

     

    2. Output the DRP to VAC (calling itself "speakers").  This appears as an 8 channel input backend in HQP as a WASAPI choice.

     

    3. Output the DRP to VAC via ASIO4all.  ASIO4all is then selected as the output in DRP (16 channels available).  The VAC is selected as the in and out inside of the ASIO4all app.  This appears as an 8 channel input backend in HQP under ASIO as ASIO4all, of course.

     

    I've tried VB as well, to no avail.  And I've tried Windows Sound with and without Exclusive Mode.

     

    I've attached a bunch of screenshots so you can see my various settings.  I'm open to ideas.  I will advise that I can regularly stream digitized vinyl through my Benchmark ADC1 to a physical XLR input on the AES16e soundcard in my server, and that output is recognized by HQP by selecting ASIO Lynx as the input backend.  To make it work, however, I have to start a 24/192 playback stream in HQP -- so there's not more than a second of latency against real-time, which for listening to vinyl works just fine.  This is why I have been thinking that ASIO Lynx has to be the answer, but I just can't resolve it.

     

    Your thoughts would definitely be appreciated.  Thanks.  JCR

    Lynx HQP ASIO Lynx Settings.JPG

    Lynx Mixer.JPG

    VAC HQP ASIO Lynx Settings.JPG

    VAC HQP ASIO4all Settings.JPG

    VAC HQP WASAPI Settings.JPG

    VAC Playback Windows Sound 1.JPG

    VAC Playback Windows Sound 2.JPG

    VAC Playback Windows Sound 3.JPG

    VAC Record Windows Sound 1.JPG

    VAC Record Windows Sound 2.JPG

    VAC ASIO4all.JPG

    Share this comment


    Link to comment
    Share on other sites

    3 minutes ago, jrobbins50 said:

    @El Guapo, glad you are part of this discussion.  I have the DRP up and running and am trying to get a 5.1.2 setup with sound coming out.  The variations I have tried -- none of which produce any output to the Okto dac8pro -- are:

    1831816543_VACASIO4all.JPG.d326c34cd3354cb83e2e5875e501da3f.JPG

    1.  Output the DRP to my Lynx AES16e soundcard, internally via the Lynx Mixer.  This appears as an 8 channel input to the DRP and as an 8 channel input backend in HQP as ASIO Lynx.

     

    2. Output the DRP to VAC (calling itself "speakers").  This appears as an 8 channel input backend in HQP as a WASAPI choice.

     

    3. Output the DRP to VAC via ASIO4all.  ASIO4all is then selected as the output in DRP (16 channels available).  The VAC is selected as the in and out inside of the ASIO4all app.  This appears as an 8 channel input backend in HQP under ASIO as ASIO4all, of course.

     

    I've tried VB as well, to no avail.  And I've tried Windows Sound with and without Exclusive Mode.

     

    I've attached a bunch of screenshots so you can see my various settings.  I'm open to ideas.  I will advise that I can regularly stream digitized vinyl through my Benchmark ADC1 to a physical XLR input on the AES16e soundcard in my server, and that output is recognized by HQP by selecting ASIO Lynx as the input backend.  To make it work, however, I have to start a 24/192 playback stream in HQP -- so there's not more than a second of latency against real-time, which for listening to vinyl works just fine.  This is why I have been thinking that ASIO Lynx has to be the answer, but I just can't resolve it.

     

    Your thoughts would definitely be appreciated.  Thanks.  JCR

    Lynx HQP ASIO Lynx Settings.JPG

    Lynx Mixer.JPG

    VAC HQP ASIO Lynx Settings.JPG

    VAC HQP ASIO4all Settings.JPG

    VAC HQP WASAPI Settings.JPG

    VAC Playback Windows Sound 1.JPG

    VAC Playback Windows Sound 2.JPG

    VAC Playback Windows Sound 3.JPG

    VAC Record Windows Sound 1.JPG

    VAC Record Windows Sound 2.JPG

     

    In HQP did you start playing something like this, but 8 channels?

     

    Screen Shot 2022-03-24 at 3.11.14 PM.png

    Share this comment


    Link to comment
    Share on other sites

    That is precisely what I cannot accomplish. It’s showing 2 channel 48000. I use the 2 channel 192000 version of that with ASIO Lynx as the HQP backend for my vinyl listening.  JCR  

    Share this comment


    Link to comment
    Share on other sites

    And wait. It gets stranger yet. Two additional discoveries. 
     

    1. The Lynx Mixer has an advanced adapter setting that was set for Device Channel Mode — 2 channel. I set to 8 channel, saved and rebooted the server as indicated.
     

    2. HQP is showing only 2 channel options for the streaming playback. I edited the “2” on the 48000/2 and lo and behold, you can see in the screenshot that HQP is playing 48000/32 and upscaling to 8 channel DSD64. 
     

    And with all of this, still no sound, other than the click through the DAC when starting and stopping the HQP playback streaming. 
     

    Still not there!  JCR 

    7E4F1BAC-8412-4D40-A33E-E3E83BB847D8.jpeg

    AE9510AC-3172-472D-95F2-FFC7E02A89BA.png

    79F89D81-B727-4C47-996E-4F042FCEAF2F.jpeg

    4537BB0B-FAE2-4EE4-8F66-6B61CC1B3D57.jpeg

    Share this comment


    Link to comment
    Share on other sites

    @The Computer Audiophile, @El Guapo First of all, very good job getting this to work. It's been much wanted for a long time.

     

    But of course, a couple of questions first..😉

     

    1. The process you describe after you extracted the mkv with makemkv, I understand you split the mkv file to get separate mka audiofiles for easier access to the individual songs. Yes, I would do the same with my concert and pure audio blurays. But in the case of a movie mkv, what would the process look like then? I assume the original ripped mkv is enough for Dolby Reference Player to play, or am I wrong?

     

    2. As the DRP is required to decode the Atmos-tracks, what would the playback chain look like if the source is a movie-mkv..? You open the file in DRP to decode the Atmos-tracks, but what about the video..??  

     

    Again, great work so far!

     

     

     

     

     

     

    Share this comment


    Link to comment
    Share on other sites

    3 minutes ago, retro said:

    @The Computer Audiophile, @El Guapo First of all, very good job getting this to work. It's been much wanted for a long time.

     

    But of course, a couple of questions first..😉

     

    1. The process you describe after you extracted the mkv with makemkv, I understand you split the mkv file to get separate mka audiofiles for easier access to the individual songs. Yes, I would do the same with my concert and pure audio blurays. But in the case of a movie mkv, what would the process look like then? I assume the original ripped mkv is enough for Dolby Reference Player to play, or am I wrong?

     

    2. As the DRP is required to decode the Atmos-tracks, what would the playback chain look like if the source is a movie-mkv..? You open the file in DRP to decode the Atmos-tracks, but what about the video..??  

     

    Again, great work so far!

     

     

    Hi Retro, I'm glad you're as excited about this as we are. This is really something, and it's only going to get better. I was playing around with the command line interface of the Dolby Reference Player, and think ease of use can be taken to another level. But anyway, I'll leave it to @El Guapo to talk about video. He has video working in his system. You need to convert to M2TS files because the Dolby Reference Player only accepts a few file formats.

     

     

    Share this comment


    Link to comment
    Share on other sites

    5 hours ago, jrobbins50 said:

    I use the 2 channel 192000 version of that with ASIO Lynx as the HQP backend for my vinyl listening.

    Let’s go back to origin...😅 

    Please set your system back to the vinyl setting. Could you hear 2ch PCM audio from DRP thru Lynx directly without HQPlayer?

    If 2ch is okay, then expend it to 8ch PCM without HQPlayer? Guapo

     

    Share this comment


    Link to comment
    Share on other sites




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