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.
Converting them to WAV again in XLD, fixes the issue, but it's an added step of course.
Same thing here. Sox won't read the files (error says "Wave: RIFF header not found") - and when I convert to WavPack using ffmpeg the output is 32bit and seems to be corrupted. Foobar opens the original MMH output ok and if I 'convert' to wav using Foobar, both Sox and ffmpeg then work ok.

***EDIT*** I've just grabbed 6.3.13 and can confirm that the RIFF header issue appears to be fixed... Massive thanks Garry

***2nd EDIT*** On further testing, Sox now reads the files ok and I can apply gain/convert to 10 channel WavPack, but if I try to do the same in ffmpeg, I still get a 32bit file and it only gives a 2 channel output. This may be user error on my part... The ffmpeg command I am using is:

ffmpeg.exe -hide_banner -loglevel error -y -i "Input.wav" -filter:a "volume=%GAIN%dB" "output.wv"

I can't see why this would result in 2 channel 32bit output.
 
Last edited:
Ok, some additional data this morning.

I decoded MKV to 7.1.4 WAV. Brough the files into MP3tag and I can edit them and save changes. That's good.

However, MP3tag and other apps such as Audirvana, can't read the Codec, bitrate, frequency, and track length. In the image below, you can see most tracks are the freshly decoded tracks. The one highlighted, is one I created previously with DRP and Audacity. The bottom track is the MKV.

Something is still a little strange with the format.

Screenshot 2023-01-20 at 9.24.20 AM.png
 
Hi Garry,

MMH 6.3.16 (Atmos Helper 1.3.0 beta 7)

Still some problems with Atmos decoder

Decode to 7.1.4 and 9.1.6 now Work OK.

But to 9.1.4 it does Not work. Temp channel files are generated. Then the message “Generating interleaved MCH WAV...” appears briefly and the window “Decode Dolby Atmos” disappear and the final WAV is not created. The Temp file “Out-1-decoded.w64” is NOT created.

Some minor comments:

- After installing the last MMH distribution, I had the “Apply Channel Gain: 5,0” (I have never touched it). The level seems OK listening in Audacity.

- When it works OK, after the Interleaved WAV file is generated in the final folder, the window “Decode Dolby Atmos to Multichannel WAV” disappears. The same as when it fails. It would be better to remain with a message of “Done”.
 
Did the channel gain get broken in the latest update? I know it was working previously using the 5.1.4 channel assignment.

edit...
I rolled back to 6.3.13 and everything works as expected with the 5.1.4 layout.
 
Last edited:
But to 9.1.4 it does Not work. Temp channel files are generated. Then the message “Generating interleaved MCH WAV...” appears briefly and the window “Decode Dolby Atmos” disappear and the final WAV is not created. The Temp file “Out-1-decoded.w64” is NOT created.

Thanks. I found what caused this, a typo in the code to create 9.1.4 interleaved files. This will be fixed in next Atmos Helper release later today.

- After installing the last MMH distribution, I had the “Apply Channel Gain: 5,0” (I have never touched it). The level seems OK listening in Audacity.

I added a sanity check to the gain value. MMH now won't allow this to be set > 5.

I'm not sure if your saw me previous comment to your on channel gain setting in your screen shots. 5 will be too high for most Atmos mixes I've seen, this will cause severe clipping on those.
 
Last edited:
Thanks. I found what caused this, a typo in the code to create 9.1.4 interleaved files. This will be fixed in next Atmos Helper release later today.



I added a sanity check to the gain value. MMH now won't allow this to be set > 5.

I'm not sure if your saw me previous comment to you on channel gain. 5 is probably still too high for most Atmos mixes I've seen, this will cause clipping on those.
Setting it to one or five produced an identical file when I loaded it into Audition. I switched to the original beta release, and used a value of six for the new Def Leppard.
 
Did the channel gain get broken in the latest update? I know it was working previously using the 5.1.4 channel assignment.

edit...
I rolled back to 6.3.13 and everything works as expected with the 5.1.4 layout.

I just checked. Yes gain was broken in last build. Tried to combine two steps into one (channel mask update and gain) which produced an output but it actually skipped applying the gain :(

Now fixed in my code and will be fixed in next Atmos Helper release later today.
 
Last edited:
I just checked. Yes gain was broken in last build. Tried to combine two steps into one (channel mask update and gain) which produced an output but it actually skipped applying the gain :(

Now fixed in my code and will be fixed in next Atmos Helper release later today.

Thanks!
 
I have extracted dolby atmos to 5.1.2 PCM and am playing in Roon by telling Roon that it's 7.1. Yay!

Since the 7.1 ordering is LF, RF, C, LFE, BL, BR, SL, SR, I am turning on the Roon option to swap rear and surround so that my 5.1 files play correctly. But the 5.1.2 channel ordering is L, R, C, LFE, Ls, Rs, Lrh, Rrh and doesn't need swapping.

I can think of two options.

1. Change from 5.1 to 7.1 only when playing 5.1.2, which is tedious and doesn't handle shuffle play.
2. Always use the 7.1 setting with rear and surround swapped so 5.1 plays correctly and use MMH to swap surround and heights in the 5.1.2 files.

Does that make sense?
 
I have just updated the latest MMH 16.3.17 installer with the latest MMH Atmos Helper Decoder with more fixes/changes (Atmos Helper 1.3 beta 8)

Please download and install MMH if you'd like to test or use:

Direct link to installer:
https://reva.blob.core.windows.net/mmh/MMHInstaller.msi

I believe this resolves all reported issues with the new Atmos Decoder. Beta users please confirm.

I have not yet made any changes to resolve reported MMH tagging issues of wav files created with this (but its possible its caused by MMH using custom tags that are not supported for waves...). I'll look at this tomorrow.

NOTE:
This updated version of Atmos Decoder Channel Gain is now expressed in dB. This is now consistent with the MMH Channel Volume tool that uses dB
Zero Channel Gain is the new default (meaning apply no gain) - all users of this version will have their last gain value reset to 0.
> 0 applies the gain (e.g. 3 will apply a +3db gain to all channels) - this requires one further processing step

Users can use MMH's Channel Volume tool to apply gain to individual channels (e.g boost tops or rears only etc)
 
Last edited:
Since the 7.1 ordering is LF, RF, C, LFE, BL, BR, SL, SR, I am turning on the Roon option to swap rear and surround so that my 5.1 files play correctly. But the 5.1.2 channel ordering is L, R, C, LFE, Ls, Rs, Lrh, Rrh and doesn't need swapping.

Have you confirmed the channel masks actually change the speaker output?

Some players just ignore the channel masks and play based on channel order?

The MMH Atmos Helper's decoder always outputs in the Dolby Channel order (sides before back), but ffmpeg can only tag in its predefined mask (always back before sides).

THX
 
  • Like
Reactions: mkt
The MMH Atmos Helper's decoder always outputs in the Dolby Channel order (sides before back), but ffmpeg can only tag in its predefined mask (always back before sides).

THX

Can you explain this just a little.

The decoder outputs in Dolby order. Got that.

The ffmpeg tagging is new to me. That doesn’t change the track order, but it doesn’t tag correctly?
 
The ffmpeg tagging is new to me. That doesn’t change the track order, but it doesn’t tag correctly?

The only method I've found in ffmpeg to change the channel masks uses its own predefined Channel Layouts (anything else is ignored)

Standard channel layouts:
NAME DECOMPOSITION
mono FC
stereo FL+FR
2.1 FL+FR+LFE
3.0 FL+FR+FC
3.0(back) FL+FR+BC
4.0 FL+FR+FC+BC
quad FL+FR+BL+BR
quad(side) FL+FR+SL+SR
3.1 FL+FR+FC+LFE
5.0 FL+FR+FC+BL+BR
5.0(side) FL+FR+FC+SL+SR
4.1 FL+FR+FC+LFE+BC
5.1 FL+FR+FC+LFE+BL+BR
5.1(side) FL+FR+FC+LFE+SL+SR
6.0 FL+FR+FC+BC+SL+SR
6.0(front) FL+FR+FLC+FRC+SL+SR
hexagonal FL+FR+FC+BL+BR+BC
6.1 FL+FR+FC+LFE+BC+SL+SR
6.1(back) FL+FR+FC+LFE+BL+BR+BC
6.1(front) FL+FR+LFE+FLC+FRC+SL+SR
7.0 FL+FR+FC+BL+BR+SL+SR
7.0(front) FL+FR+FC+FLC+FRC+SL+SR
7.1 FL+FR+FC+LFE+BL+BR+SL+SR
7.1(wide) FL+FR+FC+LFE+BL+BR+FLC+FRC
7.1(wide-side) FL+FR+FC+LFE+FLC+FRC+SL+SR
7.1(top) FL+FR+FC+LFE+BL+BR+TFL+TFR
octagonal FL+FR+FC+BL+BR+BC+SL+SR
cube FL+FR+BL+BR+TFL+TFR+TBL+TBR
hexadecagonal FL+FR+FC+BL+BR+BC+SL+SR+TFL+TFC+TFR+TBL+TBC+TBR+WL+WR
downmix DL+DR
22.2 FL+FR+FC+LFE+BL+BR+FLC+FRC+BC+SL+SR+TC+TFL+TFC+TFR+TBL+TBC+TBR+LFE2+TSL+TSR+BFC+BFL+BFR

I need to find another method of setting channel masks. I've looked previously without luck..
 
Ah, I see.

Actually I just revisited ffmpeg channel masking and found some changes made in January 2022 that now gives user defined channel layouts

I just did a quick test and seems to work. I'll now implement in the decoder.

I'll report here how it goes. Hopefully this will work for all the previous 'ffmpeg unsupported' channel mask layouts like 5.1.2 and 9.1.6 etc
 
No it doesn't solve the problem. ffmpeg wants to guess the channel layout based on the number of channels. If the No. of channels isn't known (in the ffmpeg standard list) it won't run.
 
Have you confirmed the channel masks actually change the speaker output?

Some players just ignore the channel masks and play based on channel order?

The MMH Atmos Helper's decoder always outputs in the Dolby Channel order (sides before back), but ffmpeg can only tag in its predefined mask (always back before sides).

THX
You're right and I think Roon only uses channel order (file and speaker).

I extracted 5.1.2 PCM from the "IAA - Sonic Brand Visualizer 7.1.4 mp4" which has channel IDs. When I play it in Roon (pretending it is 7.1), I hear the hight IDs from the height speakers and the surround/rear IDs from the surround speakers. All is good in the world! This makes sense because Roon expects the file channel order to be the same as the speaker order, and mine are L, R, C, LFE, Ls, Rs, Lrh, Rrh.

On the other hand, when I play 5.1 content Roon sends the surround content to where it thinks the surround speakers are in a 7.1 layout, i.e., speakers 7 & 8, which are really my two heights. The incorrect 5.1 -> 7.1 mapping can be fixed by the Roon option to swap rear and surround, but that results in the 5.1.2 playback now being incorrect.

So if I want to playback 5.1 & 5.1.2 correctly in Roon without track-to-track changing settings, swapping the heights & surround in the 5.1.2 will do it. Does that make sense?

Thanks you for coming to my very specific TED talk :)
 
Back
Top