MMH - New Atmos Decoder (beta) discussion

QuadraphonicQuad

Help Support QuadraphonicQuad:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

HomerJAU

Moderator: MCH Media Players
Staff member
Moderator
Moderator
Joined
Jun 13, 2013
Messages
5,930
Location
Melbourne, Australia
Music Media Helper 6.3.13 Released:

Version 6.3.13 (January 18 2023)
-------------
New:
Atmos Helper: Added Atmos Decoding (beta version) to MCH WAV option - Only if user has a Dolby Reference Player (DRP) installed



About the Atmos Decoder tool beta:

This tool not formally documented yet. I'll do that ASAP. This is an experimental beta release.

The new Atmos Helper Atmos Decoding tool is a beta and is currently undocumented. It only appears as an option on the MMH Atmos Helper main dialog if a user has the Dolby Reference Player (DRP) installed on same PC as MMH.

AtmosDecoder.PNG


This uses the DRP to decode a file with an Atmos stream contained in any of supported files to either multiple mono wavs or a single multichannel interleaved wav. Users can add multiple files from a single folder (it will batch decode):

Supported Input Files (With Atmos - TrueHD or Dolby Digital Plus JOC):
MLP
EAC3
MKV
MKA
MP4
M4A

For each of the above the tool extracts mlp or eac3 then decodes to the selected output wav type (Interleaved MCH or mono).

This tool will probably fail where a user has split any mkv into chapter files as the DRP is not compatible with splitting MLP streams. In this case users should decode from the original MKV rip containing all the chapters (songs).

For MKV and MKA files containing chapters the tool first Decodes the entire MKV/MKA file (takes quite a while). Then it splits the huge wav (.w64 file) into chapter files. Be patient.

The Atmos Decoder supports the following WAV output (Channel Layouts):
Stereo
5.1
7.1
5.1.4
7.1.4
9.1.6

The DRP remixes the Atmos stream to selected output channel layout, just like an Atmos AVR remixes to the user's AVR speaker layout. Nothing is lost.

The decoder creates a relatively quiet pcm wav. There is a user option to apply a volume gain to all channels. Please experiment. Of course, MMH's Channel Volume tool can also be used to apply channel gains to specific channels (i.e. boost rears or tops only)

Interleaved MCH wav files have correct channel mask (channel IDs) for wav players that support this and are compatible with the Atmos Helper‘s Atmos Encoder tool (allowing, for example, channel volume edits and re-encode to back to Atmos). Mono files are named in Dolby channel order and with channel name suffix.

Please post questions/feedback here.

THX
 
Last edited:
Music Media Helper 6.3.13 Released:

Version 6.3.13 (January 18 2023)
-------------
New:
Atmos Helper: Added Atmos Decoding (beta version) to MCH WAV option - Only if user has a Dolby Reference Player (DRP) installed
Extract Audio from MKV tool: Added new Output option 'MLP no split' - this creates a DRP compatible mlp file from an MKV file
Extract Audio from MKV tool: Added new Output option 'Native' - extracts codecs DTS/DTSHD, TrueHD, E-AC3 and AC3 to native file formats

Fixes:
Extract Audio from MKV tool: Output option 'MLP' noe copies source TrueHD streams and converts all others - fixed
Tag & Rename, Extract Audio from MKV & Split MKV tools: Issue when Copy & Paste from Clipboard used for track tags - fixed
Tag & Rename, Extract Audio from MKV & Split MKV tools: Issue when using 'Edit Selected Tags' - fixed

Changes:
Updated Ffmpeg to 5.1.2 (Jan 16 2023 build)



About the Atmos Decoder tool beta:
This tool not formally documented yet. I'll do that ASAP. This is an experimental beta release.

The new Atmos Helper Atmos Decoding tool is a beta and is currently undocumented. It only appears as an option on the MMH Atmos Helper main dialog if a user has the Dolby Reference Player (DRP) installed on same PC as MMH.

View attachment 87526

This uses the DRP to decode a file with an Atmos stream contained in any of supported files to either multiple mono wavs or a single multichannel interleaved wav. Users can add multiple files from a single folder (it will batch decode):

Supported Input Files (With Atmos - TrueHD or Dolby Digital Plus JOC):
MLP
EAC3
MKV
MKA
MP4
M4A

For each of the above the tool extracts mlp or eac3 then decodes to the selected output wav type.

This tool will probably fail where a user has split any mkv into chapter files as the DRP is not compatible with splitting MLP streams. In this case users should decode from the original MKV rip containing all the chapters (songs).

For MKV and MKA files containing chapters the tool first Decodes the entire MKV/MKA file (takes quite a while). Then it splits the huge wav (.w64 file) into chapter files. Be patient.

The Atmos Decoder supports the following WAV output (Channel Layouts):
Stereo
5.1
7.1
5.1.4
7.1.4
9.1.6

The DRP remixes the Atmos stream to selected output channel layout, just like an Atmos AVR remixes to the user's AVR speaker layout. Nothing is lost.

The decoder creates a relatively quiet pcm wav. There is a user option to apply a volume gain to all channels. Please experiment. Of course, MMH's Channel Volume tool can also be used to apply channel gains to specific channels (i.e. boost rears or tops only)

Please post questions/feedback here.

THX
I just tested the track "Dirty Rat" from the Orbital Atmos release. Sounds great!
 
Amazing! Is 5.1.2 output possible in the Atmos Decoder?
 
Music Media Helper 6.3.13 Released:

Version 6.3.13 (January 18 2023)
-------------

I have tested the Atmos Decoder tool.

It works OK for TrueHD and DD+ for output channel layout: 7.1.4

But Selecting Output: 9.1.6, it does not work and hangs without completion.

It starts OK, with the many processes using CPU:


1674043701103.png


After the usual process time, the processes stop using CPU:

1674043722321.png



And the MMH Decode window stay as this, without further progressing on “Generating WAV interleaved files…”

1674043818965.png



I did the test with the same Atmos File MP4 (DD+) and it works OK for 7.1.4 but hangs for 9.1.6
 
Amazing! Is 5.1.2 output possible in the Atmos Decoder?

Yes. The decoder does support 5.1.2 (and 7.1.2) but I have not added those options to the MMH Atmos Decoder tool. I guess I should...
 
  • Like
Reactions: mkt
Music Media Helper 6.3.13 Released:

Version 6.3.13 (January 18 2023)
-------------
New:
Atmos Helper: Added Atmos Decoding (beta version) to MCH WAV option - Only if user has a Dolby Reference Player (DRP) installed
Extract Audio from MKV tool: Added new Output option 'MLP no split' - this creates a DRP compatible mlp file from an MKV file
Extract Audio from MKV tool: Added new Output option 'Native' - extracts codecs DTS/DTSHD, TrueHD, E-AC3 and AC3 to native file formats

Fixes:
Extract Audio from MKV tool: Output option 'MLP' now copies source TrueHD streams and converts all others - fixed
Tag & Rename, Extract Audio from MKV & Split MKV tools: Issue when Copy & Paste from Clipboard used for track tags - fixed
Tag & Rename, Extract Audio from MKV & Split MKV tools: Issue when using 'Edit Selected Tags' - fixed

Changes:
Updated Ffmpeg to 5.1.2 (Jan 16 2023 build)



About the Atmos Decoder tool beta:
This tool not formally documented yet. I'll do that ASAP. This is an experimental beta release.

The new Atmos Helper Atmos Decoding tool is a beta and is currently undocumented. It only appears as an option on the MMH Atmos Helper main dialog if a user has the Dolby Reference Player (DRP) installed on same PC as MMH.

View attachment 87526

This uses the DRP to decode a file with an Atmos stream contained in any of supported files to either multiple mono wavs or a single multichannel interleaved wav. Users can add multiple files from a single folder (it will batch decode):

Supported Input Files (With Atmos - TrueHD or Dolby Digital Plus JOC):
MLP
EAC3
MKV
MKA
MP4
M4A

For each of the above the tool extracts mlp or eac3 then decodes to the selected output wav type (Interleaved MCH or mono).

This tool will probably fail where a user has split any mkv into chapter files as the DRP is not compatible with splitting MLP streams. In this case users should decode from the original MKV rip containing all the chapters (songs).

For MKV and MKA files containing chapters the tool first Decodes the entire MKV/MKA file (takes quite a while). Then it splits the huge wav (.w64 file) into chapter files. Be patient.

The Atmos Decoder supports the following WAV output (Channel Layouts):
Stereo
5.1
7.1
5.1.4
7.1.4
9.1.6

The DRP remixes the Atmos stream to selected output channel layout, just like an Atmos AVR remixes to the user's AVR speaker layout. Nothing is lost.

The decoder creates a relatively quiet pcm wav. There is a user option to apply a volume gain to all channels. Please experiment. Of course, MMH's Channel Volume tool can also be used to apply channel gains to specific channels (i.e. boost rears or tops only)

Interleaved MCH wav files have correct channel mask (channel IDs) for wav players that support this and are compatible with the Atmos Helper‘s Atmos Encoder tool (allowing, for example, channel volume edits and re-encode to back to Atmos). Mono files are named in Dolby channel order and with channel name suffix.

Please post questions/feedback here.

THX
Thanks Gary,

I am thrilled that you have got the Atmos decoder working - my previous workflow was a real-time capture of DRP decode using a virtual audio cable, but it was very time-consuming and cumbersome.

I'm curious how this works, as the command line version of DRP will only render 5.1 or 7.1 files according to the user manual. I'm using two 7.1 AVR's to play back 5.1.4 content via two HDMI outputs combined using ASIO4ALL, and was looking into a way to get the command line version of DRP to playback live as an external player in Foobar rather than having to convert everything to 10 channel WavPack - but it crashes every time I try to use ASIO4ALL as the output device. Whilst I will still need to convert, this new version of MMH will save a TON of time - thank you so much!

Can you please confirm if the DRP decode process has the Dynamic Range Control option disabled, or if there is some way of including control of this via the helper? I assume it is off, hence the low-level output.

Just as a quick test, I converted the mp4 of "Let It Be" which I had previously converted using the old method. To compare the wavforms, I normalised both versions to -0.1dB in Audition and they look very similar - but when I did an inverted mix I expected them to be bit-perfect and therefore sum to zero, but they did not (see below screen grabs) so I'm not sure if there is something not quite right with one or the other methods - or if this is evidence of Dynamic Range Control not being disabled. I haven't actually listened yet as I was testing remotely from work so couldn't play back.

MMH Version

1674066937949.png


Captured Version

1674066991906.png


Normalised Inverted mix

1674067088314.png


***EDIT*** I just found this: which I think answers the 'how'...
 
Last edited:
Yes. The decoder does support 5.1.2 (and 7.1.2) but I have not added those options to the MMH Atmos Decoder tool. I guess I should...
I am admittedly the world's smallest use case: 5.1.2 with no AVR; 8 channel DAC + active speakers instead. The MMH 5.1.4 extraction to wav seems to work fine, and I was able to play in JRiver (MC 27; not 100% sure of the channel mapping). Roon seems to be limited to 8 channels.
 
Thanks Gary,

I am thrilled that you have got the Atmos decoder working - my previous workflow was a real-time capture of DRP decode using a virtual audio cable, but it was very time-consuming and cumbersome.

I'm curious how this works, as the command line version of DRP will only render 5.1 or 7.1 files according to the user manual. I'm using two 7.1 AVR's to play back 5.1.4 content via two HDMI outputs combined using ASIO4ALL, and was looking into a way to get the command line version of DRP to playback live as an external player in Foobar rather than having to convert everything to 10 channel WavPack - but it crashes every time I try to use ASIO4ALL as the output device. Whilst I will still need to convert, this new version of MMH will save a TON of time - thank you so much!

Can you please confirm if the DRP decode process has the Dynamic Range Control option disabled, or if there is some way of including control of this via the helper? I assume it is off, hence the low-level output.

Just as a quick test, I converted the mp4 of "Let It Be" which I had previously converted using the old method. To compare the wavforms, I normalised both versions to -0.1dB in Audition and they look very similar - but when I did an inverted mix I expected them to be bit-perfect and therefore sum to zero, but they did not (see below screen grabs) so I'm not sure if there is something not quite right with one or the other methods - or if this is evidence of Dynamic Range Control not being disabled. I haven't actually listened yet as I was testing remotely from work so couldn't play back.

MMH Version

View attachment 87544

Captured Version

View attachment 87545

Normalised Inverted mix

View attachment 87546

***EDIT*** I just found this: which I think answers the 'how'...

He doesn't use DRP to decode.
 
I am admittedly the world's smallest use case: 5.1.2 with no AVR; 8 channel DAC + active speakers instead. The MMH 5.1.4 extraction to wav seems to work fine, and I was able to play in JRiver (MC 27; not 100% sure of the channel mapping). Roon seems to be limited to 8 channels.
My use case is smaller. I take the 7.1.4 from Blu-ray's, and mix it down to 4.0.4 using Audacity, and store it within a flac file. I then use ASIO and channel mapping to put the proper channels in the correct place. Sounds great using a usb 8 channel dac, connected to an 8 channel preamp.
 
Music Media Helper 6.3.14 Released:

Version 6.3.14 (January 19 2023)
-------------
Fixes:
Extract Audio from MKV tool: Error when using 'Edit Selected Tags' when updating empty grid cells - fixed
Atmos Helper tool: A couple of fixes for the new Atmos Decoder beta
 
Can you please confirm if the DRP decode process has the Dynamic Range Control option disabled, or if there is some way of including control of this via the helper? I assume it is off, hence the low-level output

As far as I can tell the DR settings are disabled with the DRP decoding method MMH is using, but there's no public documentation on using DRP to decode to wavs.

A quick look and there is no obvious way to enable it, but I'll investigate further.

which I think answers the 'how'...

Yes this is based on the code you quoted in your post. MMH is just creating a compatible eac3 ot truehd file (where required), running the DRP decode process then converting mono wavs to MCH interleaved wavs with correct channel mask, all in a batch mode for multiple input files.
 
Last edited:
As far as I can tell the DR settings are disabled with the DRP decoding method MMH is using, but there's no public documentation on using DRP to decode to wavs.

A quick look and there is no obvious way to enable it, but I'll investigate further.

Yes this is based on the code you quoted in your post. MMH is just creating a compatible eac3 ot truehd file (where required), running the DRP decode process then converting mono wavs to MCH interleaved wavs with correct channel mask, all in a batch mode for multiple input files.
Excellent work... RE the DR settings, I would probably go with 'disabled' anyway if the option were available
 
But Selecting Output: 9.1.6, it does not work and hangs without completion.

Bad news I'm afraid...

I tried the 9.1.6 DRP decode on two different Atmos test files. In both cases 9.1.6 fails to decode all 16 channels and DRP remains running indefinitely, I guess still trying to complete the decoding. In your screen grab you can see some channel decode processes still running.

Feel free to test but at this stage it appears 9.1.6 is a no goer! (maybe it will be ok on some releases???)

BTW: I did find a typo in my mono > mch wav conversion for 9.1.6 (now fixed in 16.3.14 today) but that was not the cause of the failure in my tests earlier today.
 
Just as a quick test, I converted the mp4 of "Let It Be" which I had previously converted using the old method. To compare the wavforms, I normalised both versions to -0.1dB in Audition and they look very similar - but when I did an inverted mix I expected them to be bit-perfect and therefore sum to zero, but they did not (see below screen grabs) so I'm not sure if there is something not quite right with one or the other method

I think time alignment between the digital conversion and manual capture is the issue? This would have to be perfect to be null
 
Bad news I'm afraid...

I tried the 9.1.6 DRP decode on two different Atmos test files. In both cases 9.1.6 fails to decode all 16 channels and DRP remains running indefinitely, I guess still trying to complete the decoding. In your screen grab you can see some channel decode processes still running.

Feel free to test but at this stage it appears 9.1.6 is a no goer! (maybe it will be ok on some releases???)

BTW: I did find a typo in my mono > mch wav conversion for 9.1.6 (now fixed in 16.3.14 today) but that was not the cause of the failure in my tests earlier today.

As my first idea was to extract/isolate the wides (9.1.x), I tried 9.1.6 as the option available.

Has the decoder the possibility of 9.1.4 ?
 
I think time alignment between the digital conversion and manual capture is the issue? This would have to be perfect to be null
Correct... Now I'm home I time aligned and they canceled out almost perfectly. There was still some 'residue' though - the below image is zoomed out full (time) but vertically zoomed in:

1674075846009.png
 
Back
Top