View Full Version : Cavernize free EAC3 Atmos decoder
tebasuna51
10th September 2022, 12:57
Like was mentioned by Balling here (https://forum.doom9.org/showthread.php?p=1974118#post1974118) there are a free EAC3 Atmos decoder https://github.com/VoidXH/Cavern
I open this new thread to explain some test about it.
I used:
"Cavernize for FFmpeg.exe" input.eac3 -conv output.wav
...
A 5.1.2 output (L,R,C,LFE,SL,SR,TL,TR) will be used...
to obtain a default correct output than can recoded to eac3 with Audition and played fine with my AVR.
Also can configure my speakers positions:
"Cavernize for FFmpeg.exe" input.eac3 -conv output.wav -count 8 -override 0 0 -45 false -override 1 0 45 false -override 2 0 0 false -override 3 15 15 true -override 4 0 -120 false -override 5 0 120 false -override 6 -45 -45 false -override 7 -45 45 false
Obtaining a different output.
But I can't confirm the decode quality, by the moment I detected a issue (https://github.com/VoidXH/Cavern/issues/10)
Balling
13th September 2022, 05:16
After latest commits it now decodes correctly every time, not different and it also now does not apply DRC (so sound is some little louder) and also it decodes to 24 bit, even ADM. 17 objects are also never reported.
Here I compiled GUI latest: https://github.com/VoidXH/Cavern/files/9553464/net6.0-windows.zip
tebasuna51
19th September 2022, 13:19
The latest GUI now does not apply DRC but there are a problem with large files and the 24 bits:
ffmpeg version n5.1-1-g6d83c5f876-20220729 Copyright (c) 2000-2022 the FFmpeg developers
...
Input #0, eac3, from 'C:\tmp\Dragon4.ac3':
Duration: 01:02:30.02, start: 0.000000, bitrate: 768 kb/s
Stream #0:0: Audio: eac3, 48000 Hz, 5.1(side), fltp, 768 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (eac3 (native) -> pcm_s24le (native))
[segment @ 000002513a33aac0] Opening 'C:\tmp\Dragon40.wav' for writing
Output #0, segment, to 'C:\tmp\Dragon4%d.wav':
Metadata:
encoder : Lavf59.27.100
Stream #0:0: Audio: pcm_s24le, 48000 Hz, 5.1(side), s32, 6912 kb/s
Metadata:
encoder : Lavc59.37.100 pcm_s24le
[segment @ 000002513a33aac0] Opening 'C:\tmp\Dragon41.wav' for writing
[segment @ 000002513a33aac0] Opening 'C:\tmp\Dragon42.wav' for writing
- Decode in segments of 30 minutes and create 3 files Dragon40.wav, 41 and 42.
The 3 files are 24 bits and MaskChannels: 1551 (FL FR FC LF SL SR)
But automatically the 3 files are joined in a Dragon4.wav (Duration: 01:02:30.02) but now at only 16 bits and simple header without channelmask.
The output file must be a .w64 or .rf64 to avoid the size limit of .wav files and preserve the 24 bits precision.
- And I ask for 5.1.2 (see image), for what only 6 channels?
Nothing to TFL-TFR channels?
While eac3 encoders do not read the channelmask it is not important.
For 5.1.2 the channel order seems correct when decode a EAC3 7.1 but for 7.1 we need remap the channels SL-SR <-> BL-BR
Balling
23rd September 2022, 06:27
ADM is in fact RF64, i.e. w64. if other reconstructed from segments file is not RF64, report that...
tebasuna51
23rd September 2022, 12:01
- Decode in segments of 30 minutes and create 3 files Dragon40.wav, 41 and 42.
The 3 files are 24 bits and MaskChannels: 1551 (FL FR FC LF SL SR)
It is OK, these files are standard decode without apply Atmos metadata.
But automatically the 3 files are joined in a Dragon4.wav (Duration: 01:02:30.02) but now at only 16 bits and simple header without channelmask.
The output file must be a .w64 or .rf64 to avoid the size limit of .wav files and preserve the 24 bits precision.
Not a simple join, the Atmos metadata are used to create the desired output channels. I want 5.1.2 and create 8 channels using rf64 header with big files (Star Wars I: 5.84 GB) but without channelmask and only 16 bits.
BTW recode Atmos to eac3 5.1.2 can be for players without Atmos support or to reduce size, maybe until 448 Kb/s, and the 16 bits can be aceptable.
The channelmask is not important for eac3 encoders because seems is ignored. For me, with the render target 5.1.2 front, I can recode to (L R C LFE Ls Rs Vhl Vhr) without remap.
For me the first feature request by the moment is decode TrueHD.
The ADM format is useless for me.
Balling
28th September 2022, 15:40
So I further tested Justice League sample with CavernGUI. It "reports" that it has actually present dynamic objects: 13, which means there is movement. But that means it does not matter whether those are tagged Tfl/Tfr, cause those are extracted from those channels and go into strange places :)
Balling
28th September 2022, 23:39
New caverngui version. With reworked renderer. more correct, tested with Dolby test tones being now all the same amplitude: https://github.com/VoidXH/Cavern/files/9669292/net6.0-windows.zip
VS 2022 17.3.5.
Balling
23rd October 2022, 07:38
New CavernGUI version that gets ADM master object Atmos file correctly https://github.com/VoidXH/Cavern/files/9845879/net6.0-windows.zip
Works with Dolby Media Encoder.
tormento
23rd October 2022, 09:23
New CavernGUI
How can we get it from GitHub without the direct link?
What is the path where it's stored?
tebasuna51
23rd October 2022, 09:55
Thanks for the news Balling, but remember the forum rule:
8) No cross posting. Post your message once, to the appropriate forum and nowhere else or it will be locked or deleted without warning.
Here is ok, the other 2 post deleted.
Balling
25th October 2022, 06:11
How can we get it from GitHub without the direct link?
What is the path where it's stored?
https://github.com/VoidXH/Cavern/issues/3#issuecomment-1236321425
tormento
25th October 2022, 09:44
It's a real pity it can't deal with THD.
spoRv
25th October 2022, 16:04
It's a real pity it can't deal with THD.
Not yet - non ancora... ;)
Balling
26th October 2022, 02:09
Not yet - non ancora... ;)
There is no spec for Atmos in THD. So... It is closed standard. Atmos in EAC3 is very open though.
Balling
26th October 2022, 21:48
https://github.com/VoidXH/Cavern/files/9873630/net6.0-windows.zip
Final version, now ADMs with some static objects also work. And with static objects not in standard places.
KSSW
29th October 2022, 09:16
I hope metadata can be exported
Balling
30th October 2022, 06:38
I hope metadata can be exported
There is an option to write XML metadata separtely when you save ADM.
johnnyquid
9th November 2022, 03:31
My TV is in the corner of the room. My room and speaker configuration is therefore non-standard and very asymmetrical. The left and right side speakers are different distance and angles to the listening position. The surround and height speakers are also asymmetrical. I have the relative X, Y, and Z coordinates of the speakers, TV center, and listening position.
Do the inputs for W/Y and H/X make any difference or does QuickEQ make all needed adjustments without using the W/Y and H/X inputs?
Where can I find what W/Y and H/Y represent geometrically in 3D space (i.e. how to calculate using only X,Y,Z coordinates)?
Answers from Cavern author:
QuickEQ does not use the W/Y and H/X inputs. (QuickEQ must be adjusting for volume and frequency response only).
W/Y is the angle off the center line in the horizontal plane.
H/X is the angle off the horizontal plane.
This is what I expected but it is good to have confirmed.
KSSW
19th November 2022, 22:45
Whether Cavern 1.6 is 1:1 decoding Dolby Atmos
Balling
23rd January 2023, 19:16
Latest fixes fixed smaller size of render WAV compared to ADM, fixed render for EAC3 without AC3 core substream, fixed crazy problem with files with dedicated Beds, more than 1 that is; fixed problems with opening ADM files in Davinci/Nuendo/Dolby Media Encoder before Windows 11 22H2, but iXML is now much bigger...
We also discovered bugs in rendered 7.1.4 WAV extensible format in Adobe Audition and in Media Encoder. Hilarious.
There are still problems for older than 22H2 OS and problems with gain.
Balling
30th January 2023, 06:45
My idea fixed "for older than 22H2 OS", it was unrelated DWORD allignment and now all decodings must work. That also removed the need for 10 extra channels for compatible Atmos and now 24 bit is the default not only for ADM, but for renders too.
https://github.com/VoidXH/Cavern/files/10532834/net6.0-windows.zip
Balling
30th January 2023, 10:18
Just fixed Davinci import ADM issue (Fairlight --> Immersive Audio):
https://github.com/VoidXH/Cavern/files/10534169/net6.0-windows.zip
AVX
14th February 2023, 00:42
This works very good.
I will donate.
I have noticed that some objects get distorted or have artifacts at some points.
But most of them seem properly decoded.
Balling
22nd February 2023, 20:04
I have noticed that some objects get distorted or have artifacts at some points.
But most of them seem properly decoded.
We are aware.
kurkosdr
17th July 2023, 23:45
Does anyone know the maximum number of ceiling channels supported by E-AC3+JOC (aka Dolby Digital Plus Atmos)?
Also, since there is a FOSS implementation now, and it may be used in free-to-air broadcasts someday, do we have a patent list?
Balling
18th August 2023, 06:18
Does anyone know the maximum number of ceiling channels supported by E-AC3+JOC (aka Dolby Digital Plus Atmos)?
Also, since there is a FOSS implementation now, and it may be used in free-to-air broadcasts someday, do we have a patent list?
Theoretically infinite amount, because it is dense subset of R. In practice the coordinate decimal is like 6 digits and has higher precision in TrueHD. 24.1.10 is what is supported max in practise, so 10 Top channels. Note that Bottom channels are also possible, and that the Eye of god (perfect overhead) is probably impossible.
SeeMoreDigital
18th August 2023, 10:35
Does anyone know the maximum number of ceiling channels supported by E-AC3+JOC (aka Dolby Digital Plus Atmos)? The number of supported ceiling channels is the same as with Dolby TrueHD.
However, for use within the home no more than six channels are created/mixed, which can be folded down to 4 or 2, depending on the capability of the Atmos decoder.
kurkosdr
3rd September 2023, 02:57
Theoretically infinite amount, because it is dense subset of R.
What do you mean by "R"?
AleksandrLS
14th October 2023, 22:15
Greetings to the forum participants.
I need your help.
I'm trying to get Dolby Atmos audio from the HDMI port, but I can't figure out how to properly decode the data into 7.1.4 format
Can you explain to me how to extract the necessary data from a bit stream and arrange it into channels?
tormento
3rd November 2024, 13:06
there are a free EAC3 Atmos decoder
What is the current status of thd+atmos to eac3+atmos conversion?
Any tutorial available?
tebasuna51
3rd November 2024, 17:23
Cavernize is a free EAC3 Atmos decoder:
- Can't decode thd+atmos
- Can't encode eac3+atmos
Then can't be used to convert thd+atmos to eac3+atmos.
To do it you need commercial Dolby software.
tormento
3rd November 2024, 17:29
To do it you need commercial Dolby software.
Even a tutorial for commercial software would be more than welcome.
I saw some "eac3+atmos" conversions around and I am curious to know how to.
Balling
6th January 2025, 10:27
What do you mean by "R"?
From calculus: https://en.wikipedia.org/wiki/Real_number
https://en.wikipedia.org/wiki/Dense_set
basically it just means that when we are talking about real numbers you can zoom in forever and ever.
tormento
27th July 2025, 12:40
Can Cavern decode ATMOS DDP to .atmos, .audio and .metadata?
I'd prefer not to deal with the static version of audio, so that I can further process it.
Any hint is welcome.
tebasuna51
18th August 2025, 13:11
New version to support TrueHD (https://cavern.sbence.hu/cavern/downloading.php?get=cavernize_gui)
Seems work fine, only a problem:
I need to put .thd files to .mka container because does not accept .thd or .mlp, ...
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.