• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required as is 20 years of participation in forums (not all true). There are daily reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Atmos finally decoded in PC/Mac

edechamps

Addicted to Fun and Learning
Forum Donor
Joined
Nov 21, 2018
Messages
869
Likes
3,313
Location
London, United Kingdom
Can you help me getting started with a DirectShow filter? You're the expert of that. ;)

I don't really know much about DirectShow really, aside from it being based on COM and having a reputation for having a complicated API that's difficult to work with.

Have you considered contributing to ffmpeg, such as adding a new filter to libavfilter? For example the speaker layout could be saved to a file in some format, and then ffmpeg can use that file to render and mix the objects. This would have the most impact as your work would naturally percolate down to any software that uses ffmpeg internally, including LAV Audio and mpv for example. This might also provide some momentum and enthusiasm for ffmpeg reverse engineering specialists to look into reverse engineering audio objects in TrueHD/MLP.

There is a funny addition to this question. When you decode the PCM data of Dolby test tones, the levels are off, one of the surrounds is mixed at a seemingly random gain. Applying Atmos metadata fixes this, the test tones are the same level after remixing it from 5.1 to 5.1.

Given that it's a test file, do you think that might have been done on purpose, to make it obvious that the object layer is not being processed?
 

sarumbear

Master Contributor
Forum Donor
Joined
Aug 15, 2020
Messages
5,873
Likes
5,319
If you assert you heard a difference due to lossiness, you'll need to explain more.
I did but you said it was an old compression format and disregarded it.
 

krabapple

Major Contributor
Joined
Apr 15, 2016
Messages
2,155
Likes
2,390
I did but you said it was an old compression format and disregarded it.

? I don't recall telling you that. Maybe you've mistaken me for voodooless, who told you MP3 (referring to Fraunhofer's* codec) was 'legacy'?

When I say 'you need to explain more', I don't mean you need to show me evidence that lossy qua lossy can be heard under some conditions (like Fraunhofer's tests). I mean that you have to explain why it's likely *you* hear the difference, under your conditions, which I would guess are rather different from those in the Fraunhofer tests.


*versus, say, LAME MP3, which AFAICT has pretty much hit the limit of MP3 quality tuning by now. Then there's other nonMP3 lossy formats such as AAC, used by Apple.
 
Last edited:

VoidX

Member
Joined
Jul 18, 2022
Messages
71
Likes
116
Have you considered contributing to ffmpeg, such as adding a new filter to libavfilter? For example the speaker layout could be saved to a file in some format, and then ffmpeg can use that file to render and mix the objects. This would have the most impact as your work would naturally percolate down to any software that uses ffmpeg internally, including LAV Audio and mpv for example. This might also provide some momentum and enthusiasm for ffmpeg reverse engineering specialists to look into reverse engineering audio objects in TrueHD/MLP.
That requires some serious planning and would cause confusion. I don't think the FFmpeg team wants to move to object-based until it's properly standardized. Yes, having it as part of LAVfilters would be the dream, but at most it would be a fork with a new path for E-AC-3. It still requires a port to C++ though.

Given that it's a test file, do you think that might have been done on purpose, to make it obvious that the object layer is not being processed?
It wasn't made for direct decoding. For non-Atmos AVRs, they add a companion track which is just speech telling you to use something Atmos-compatible.

JRiver Media Center's video renderer (JRVR) will use the Dolby Vision metadata for tone mapping.
I think he was talking about passthrough. Displays barely allow peak brightness output for non-HDR content, even if it's perfectly tone-mapped.
 

sarumbear

Master Contributor
Forum Donor
Joined
Aug 15, 2020
Messages
5,873
Likes
5,319
? I don't recall telling you that. Maybe you've mistaken me for voodooless, who told you MP3 (referring to Fraunhofer's* codec) was 'legacy'?
I apologise. I should have paid more attention to wom I was replying.

When I say 'you need to explain more', I don't mean you need to show me evidence that lossy qua lossy can be heard under some conditions (like Fraunhofer's tests). I mean that you have to explain why it's likely *you* hear the difference, under your conditions, which I would guess are rather different from those in the Fraunhofer tests.
If a group of human beings heard compression artefacts in controlled laboratory environments there is no reason I suspect that will not hear the difference as well with my experience in recording. Anyhow, what I hear is irrelevant. We trust scientists and their experiments, especially when the document and report in huge detail.
 

krabapple

Major Contributor
Joined
Apr 15, 2016
Messages
2,155
Likes
2,390
I apologise. I should have paid more attention to wom I was replying.


If a group of human beings heard compression artefacts in controlled laboratory environments there is no reason I suspect that will not hear the difference as well with my experience in recording.

Sure there is. There's are reason controls are used in laboratory environments. It's fundamental to the conclusions.

Or look at it another way. We know that humans *can* run a mile in 3'50". Does that mean anyone who claims they did, should be believed?

Anyhow, what I hear is irrelevant. We trust scientists and their experiments, especially when the document and report in huge detail.

Yes, and again, no science or scientist is saying you'll typically hear a difference when you casually compare high quality lossy to lossless. Indeed, their evidence is that encoder quality and the content of the signal itself and the listening gear/environment and ear training all matter to how easy it is to hear such differences.

Which is what I said.

Meanwhile, audiophiles typically claim stuff like 'lossy always sounds worse', full stop. Or "I hear a big difference in my high end HT". Both claiming it's due to lossiness. That's just not plausible on its face, without more supporting details.
 
Last edited:

sarumbear

Master Contributor
Forum Donor
Joined
Aug 15, 2020
Messages
5,873
Likes
5,319
Yes, and again, no science or scientist is saying you'll typically hear a difference when you casually compare high quality lossy to lossless.
But we are not casual listeners here, are we?
 

voodooless

Master Contributor
Forum Donor
Joined
Jun 16, 2020
Messages
6,075
Likes
10,058
Location
Netherlands
But we are not casual listeners here, are we?
Obviously we are. We’re not listening to music for science and try to detect faults in lossy codecs. At least I’m not.

Do you think you’ll hear if a song is encoded with a lossy high bitrate codecs if I randomly play you a selection of your favorite songs on your own system? Do you think you have an easy time ABX’ing them? Would the lossless song be obviously better? Veils lifted? Backgrounds darkened?
 

sarumbear

Master Contributor
Forum Donor
Joined
Aug 15, 2020
Messages
5,873
Likes
5,319
Obviously we are. We’re not listening to music for science and try to detect faults in lossy codecs. At least I’m not.
Each of us are different.
 

Digimaster

Member
Joined
Sep 30, 2022
Messages
16
Likes
4
Sure there is. There's are reason controls are used in laboratory environments. It's fundamental to the conclusions.

Or look at it another way. We know that humans *can* run a mile in 3'50". Does that mean anyone who claims they did, should be believed?



Yes, and again, no science or scientist is saying you'll typically hear a difference when you casually compare high quality lossy to lossless. Indeed, their evidence is that encoder quality and the content of the signal itself and the listening gear/environment and ear training all matter to how easy it is to hear such differences.

Which is what I said.

Meanwhile, audiophiles typically claim stuff like 'lossy always sounds worse', full stop. Or "I hear a big difference in my high end HT". Both claiming it's due to lossiness. That's just not plausible on its face, without more supporting details.
I would say stop with this discussion about Lossless vs. Lossy. I know what I listen to and many professionals who work in the cinema audio industry too. But I am not interested in convincing anyone, even those who believe they can compress 7.1 audio channels into 256Kb/s without a loss of quality detectable when listening ... What is undeniable, however, is that the audio associated with streaming suffers from problems of dynamic limitation as this limitation is already present in the master provided to streaming providers. Hence the need to be able to decode Dolby Atmos from TrueHD (audio format present on discs, with full dynamic range), which is currently not possible due to the lack of appropriate technical documentation. This is a great problem and it deserves a discussion on this thread.
 

VoidX

Member
Joined
Jul 18, 2022
Messages
71
Likes
116
Now it's completely implemented, the latest downloadable version plays DD+ Atmos audio in the visualizer without the old workaround.
Sorry @edechamps, I only updated the download on a mirror, not the Cavern website, which is the only one that reported new downloads. It's now also the new version.
 

voodooless

Master Contributor
Forum Donor
Joined
Jun 16, 2020
Messages
6,075
Likes
10,058
Location
Netherlands
even those who believe they can compress 7.1 audio channels into 256Kb/s without a loss of quality detectable when listening
Nobody made that claim.. Atmos starts at 384 kbps anyway, usually it's 768 kpbs.
Hence the need to be able to decode Dolby Atmos from TrueHD (audio format present on discs, with full dynamic range), which is currently not possible due to the lack of appropriate technical documentation. This is a great problem and it deserves a discussion on this thread.
There is an open-source decoder in FFmpeg, so technically it should be there. It may be unknown how the Atmos metadata is packed into the format, but I think if you're already familiar with the DD+ version, it should be doable to reconstruct that as well. Go @VoidX :cool:
 

VoidX

Member
Joined
Jul 18, 2022
Messages
71
Likes
116
There is an open-source decoder in FFmpeg, so technically it should be there. It may be unknown how the Atmos metadata is packed into the format, but I think if you're already familiar with the DD+ version, it should be doable to reconstruct that as well. Go @VoidX :cool:
Sorry, there are only bad news. FFmpeg simply skips the Atmos part, only PCM can be decoded with a kinda public spec (MLP, don't Google it by itself). The bitstream info is published by Dolby, object count and things like this can be read, but not what those objects actually are. Documentation at this point is basically useless.

The other bad news is that formats are completely different in my experience. The 4 Atmos master formats which I support 2 of are somewhat related, but DD+ is formatted in an other way because of the massive compression. TrueHD can be anywhere between, we don't even know if the objects are PCM kind of lossless like in the cinema (unlikely), or if it's JOC.
 

voodooless

Master Contributor
Forum Donor
Joined
Jun 16, 2020
Messages
6,075
Likes
10,058
Location
Netherlands
Sorry, there are only bad news. FFmpeg simply skips the Atmos part, only PCM can be decoded with a kinda public spec (MLP, don't Google it by itself). The bitstream info is published by Dolby, object count and things like this can be read, but not what those objects actually are. Documentation at this point is basically useless.

The other bad news is that formats are completely different in my experience. The 4 Atmos master formats which I support 2 of are somewhat related, but DD+ is formatted in an other way because of the massive compression. TrueHD can be anywhere between, we don't even know if the objects are PCM kind of lossless like in the cinema (unlikely), or if it's JOC.
Interesting. So there is more public information on how to do Atmos with DD+ than with TrueHD? Any idea why?
 

Digimaster

Member
Joined
Sep 30, 2022
Messages
16
Likes
4
Sorry, there are only bad news. FFmpeg simply skips the Atmos part, only PCM can be decoded with a kinda public spec (MLP, don't Google it by itself). The bitstream info is published by Dolby, object count and things like this can be read, but not what those objects actually are. Documentation at this point is basically useless.

The other bad news is that formats are completely different in my experience. The 4 Atmos master formats which I support 2 of are somewhat related, but DD+ is formatted in an other way because of the massive compression. TrueHD can be anywhere between, we don't even know if the objects are PCM kind of lossless like in the cinema (unlikely), or if it's JOC.
Maybe useful, maybe not:


 

VoidX

Member
Joined
Jul 18, 2022
Messages
71
Likes
116
So there is more public information on how to do Atmos with DD+ than with TrueHD? Any idea why?
DD+ is used by highly regulated broadcast workflows, it just had to be that documented. I believe it being free lead to the creation of very good industry tools like the custom ADM to Netflix converter and the adaptation of the format for most providers. If they didn't do this, DTS would have been the only one with an open standard spatial format, and they'd lost the format war like in the DVD/standard BD era.


Maybe useful, maybe not
Sadly these are the ones I was talking about. They tell you how to read what channels and how many objects are in use, but nothing about their data.
 

krabapple

Major Contributor
Joined
Apr 15, 2016
Messages
2,155
Likes
2,390
But we are not casual listeners here, are we?
In the sense I mean, yes, we are. Our listening isn't bias-controlled and highly concerned with isolating variables, is it?

For high quality MP3 vs lossless, for example, you'll almost certainly have to, as Amir did, find a short segment of music with a possible 'tell', and then A/B level-matched versions of that segment repeatedly (most revealingly on headphones) until you can confidently pass an ABX of it.

Even that won't necessarily give you the routine ability to accurately tell 'lossiness' in a far more casual setting. Which is what you and others claim to do.

On top of that, in the case of surround audio, simply switching back and forth between a Dolby Digital (AC3) or DTS 5.1 track and a lossless track of same, even blind, doesn't mean you are only comparing lossy status. Level matching between them may be quite difficult to achieve, for reasons -- e.g. , dialnorm, LFE bandwidth -- that have nothing to do with lossy data compression.
 

VoidX

Member
Joined
Jul 18, 2022
Messages
71
Likes
116
Level matching between them may be quite difficult to achieve
Nuance has these corrected, results were the following (AC3 is an outlier, it has a delay, it can be easily detected by clicking):
442295_tomi.png


I did this test with 90 people. Codecs are ranked by spectral match. Only one of us have reached Opus @ 128, the codecs and bitrates past that (including the good old DTS) have a 0% success rate on a pure blind test. Test systems included even a $300k demo room, didn't help anything. One of the best results actually came from a Bluetooth headset, but he got so many tests (about 25) right so quickly that it wasn't luck (the guy has a PhD in audio). Funny thing is, if you group the results by affiliation, you get a very clear picture. Audiophiles with God complex generally perform the worst, none of them could pass MP3 @ 256.

On one Hungarian forum I said if someone wants to prove their otherworldly hearing, then show me a perfect score in Nuance. If that works, we can talk about immeasurable voodoo. This simple thing to ask made cable idiots run away in fear. :D
 

voodooless

Master Contributor
Forum Donor
Joined
Jun 16, 2020
Messages
6,075
Likes
10,058
Location
Netherlands
Only one of us have reached Opus @ 128, the codecs and bitrates past that (including the good old DTS) have a 0% success rate on a pure blind test.
Got a list of the ones not on the list that score 0%?
 
Top Bottom