View Full Version : Atmos finally decoded in both PC/Mac
chandersson
29th March 2022, 22:16
Read all about it here:
https://audiophilestyle.com/ca/immersive/how-to-decode-and-play-dolby-truehd-atmos-on-windows-and-macos-r1092/
Thoughts, ideas, improvements..?
tebasuna51
29th March 2022, 23:37
Very interesting, but in your link:
"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"
Maybe if free soft can do the same.
chandersson
30th March 2022, 00:35
Yes, the Dolby software is needed at present. But it's a one time purchase. "Subscribing" yearly is optional.
$400 is fine by me. Compare that to the cost of a competent AVP or AVR.
But of course, if any free soft can do the same, great!
That's why I posted here...;)
tebasuna51
10th September 2022, 13:07
There are a free soft Cavernize (https://forum.doom9.org/showthread.php?p=1974405#post1974405)
But the method suggested here with the Dolby Reference Player don't work for me:
drp.exe Nat71.mlp --audio-out-file nat71_at.wav --out-ch-config 5.1.2 --truehddec-presentation 8
11:02:09.187 [ERROR] drp.cli.CommandLine: selecting parameter 'audio-out-file' with 'out-ch-config' other than 2.0, 3.1, 5.1, 7.1 is forbidden
The same for eac3.
If only can output 2D sound, like can do ffmpeg, is usseless for me.
Do you know a way to obtain at least a --out-ch-config 5.1.2 (3D) at least?
Balling
16th September 2022, 10:02
There are a free soft Cavernize (https://forum.doom9.org/showthread.php?p=1974405#post1974405)
But the method suggested here with the Dolby Reference Player don't work for me:
The same for eac3.
If only can output 2D sound, like can do ffmpeg, is usseless for me.
Do you know a way to obtain at least a --out-ch-config 5.1.2 (3D) at least?
Are you serious? You need to use GUI??? Then you can decode to RAW objects with XML that shows how tracks should move in 3D or 9.1.6/5.1.2/whatever render https://github.com/VoidXH/Cavern/files/9553464/net6.0-windows.zip
tebasuna51
16th September 2022, 10:43
Are you serious?
Yes.
There are other thread to speak about Cavernize, I only answer to chandersson question: "But of course, if any free soft can do the same, great!"
Here I say than drp.exe (Dolby Reference Player command line decoder) can't output 3D audio, only 2D 2.0, 3.1, 5.1, 7.1, like can do ffmpeg, then it is useless for Atmos decode to 5.1.2 than I need to recode to EAC3 (L R C LFE Ls Rs Vhl Vhr).
I don't know how can output audio files with the GUI asociated to DRP.
If you know how do it please explain me.
Balling
20th September 2022, 09:12
Okay, I will rephrase that. "Are you serious? You need to use GUI." See? It was not a question. To get object extraction you need to use CavernGUI to ADM. To get render you need to use PCM, not ADM PCM, and that will allow to select what render do you want.
tebasuna51
20th September 2022, 11:20
Okay, I will rephrase that. "Are you serious? You need to use GUI." See? It was not a question.
It is a unimportant irony.
To get object extraction you need to use CavernGUI to ADM. To get render you need to use PCM, not ADM PCM, and that will allow to select what render do you want.
Please I ask for help about GUI of Dolby Reference Player, to talk about Cavernize there are other thread.
Balling
20th September 2022, 12:03
Oh sorry, I didn't see that drp.exe obviously referes to Dolby reference player.
kurkosdr
22nd September 2022, 01:01
Golf clap to all the people out there uploading Atmos-only MKV files without an AC3 of AAC-LC compatibility stream... they are the reason Atmos decoders for PCs and SmartTVs are even needed, and they are instrumental in helping Dolby set up a toll-booth for everyone wanting to make an MKV player, filling Dolby's coffers in the process. They are the same people who filled DTS Inc's pockets with their DTS-only MKV files. And yes, I know that a decoder for Atmos exists in ffmpeg, but it can't be distributed everywhere due to patent issues.
Save for those Atmos-only MKV files, nobody should really need a Atmos decoder: Streaming services will only serve it if your setup supports it, and Blu-Ray discs must contain an AC3 compatibility track that non-Atmos users can decode. In plain English, with the exception of those MKV files, Atmos is something that's meant to be bitstreamed to a relevant home cinema system, not decoded.
PS: I hate those H.264 MKV files with the fire of a thousand suns. The only real-world reason they exist is to sidestep the MP4 requirement for an AAC-LC compatibility track. A requirement which is there to make MP4 files universally compatible. Even if a player "supports" MKV, there is no guarantee it can play a particular file, and those Atmos-only MKV files are the real-world proof for it. Sorry for the mini-rant, but I wanted to get this out of my system.
tebasuna51
23rd September 2022, 22:23
I found a way to record the sound played by the Dolby Reference Player GUI.
- With an AVR conected by HDMI to PC, a audio editor, the free Audacity can work, configure the Host like WASAPI and the Recorder Device to the AVR (loopback). See first image.
- Open the GUI and configure it like the image 2, for a (image 3) output configuration L R C LFE Ls Rs Ltf Rtf or the desired, load the Atmos and Play
- In Audacity record the sound (maby you need stop and replay in the GUI to record fine the begining). I finish with a wav 7.1 24 bits (the last 2 channels are the TFL and TFR)
PROBLEM: the decoded time is the same than the duration. But at least can be used to compare to Cavernize or other Atmos decoder.
spoRv
24th September 2022, 19:49
@tebasuna51:
a (maybe stupid) question: is it possible to play any Atmos track (TrueHD or E-AC3) simply using whatever player (MPC, VLC etc) and Dolby Atmos for home theater (thanks to Dolby Access), and then record it via Audacity as you have written in your previous post?
tebasuna51
25th September 2022, 11:02
@spoRv
I can't/wan't install Dolby Access in my PC's.
I don't know if MPC/VLC can use the installed filters.
It is also a not free solution with the same problem (record time).
You can try and inform here.
Balling
26th September 2022, 04:40
Golf clap to all the people out there uploading Atmos-only MKV files without an AC3 of AAC-LC compatibility stream... they are the reason Atmos decoders for PCs and SmartTVs are even needed, and they are instrumental in helping Dolby set up a toll-booth for everyone wanting to make an MKV player, filling Dolby's coffers in the process. They are the same people who filled DTS Inc's pockets with their DTS-only MKV files. And yes, I know that a decoder for Atmos exists in ffmpeg, but it can't be distributed everywhere due to patent issues.
Save for those Atmos-only MKV files, nobody should really need a Atmos decoder: Streaming services will only serve it if your setup supports it, and Blu-Ray discs must contain an AC3 compatibility track that non-Atmos users can decode. In plain English, with the exception of those MKV files, Atmos is something that's meant to be bitstreamed to a relevant home cinema system, not decoded.
PS: I hate those H.264 MKV files with the fire of a thousand suns. The only real-world reason they exist is to sidestep the MP4 requirement for an AAC-LC compatibility track. A requirement which is there to make MP4 files universally compatible. Even if a player "supports" MKV, there is no guarantee it can play a particular file, and those Atmos-only MKV files are the real-world proof for it. Sorry for the mini-rant, but I wanted to get this out of my system.
There is AC3 compatibility stream in every EAC3 file if it is from a Blu-ray disk. Only Tidal stuff and Netflix, apple, Disney+ does not have it.
Balling
26th September 2022, 04:42
@tebasuna51:
a (maybe stupid) question: is it possible to play any Atmos track (TrueHD or E-AC3) simply using whatever player (MPC, VLC etc) and Dolby Atmos for home theater (thanks to Dolby Access), and then record it via Audacity as you have written in your previous post?
How are going to record HDMI cable (for MAT 2.0) or LG C9's internal audio track with Audacity? I mean you can root it and try to install Audacity on its Android... But it is kinda nuts.
Dolby Access does not decode Atmos, LOL. What? It sends it to a decoder in TV or AVR. And if you are talking about Headphones... Well, that is binuaral, i.e. just stereo. It does decode Atmos but just to stereo.
Balling
26th September 2022, 04:55
Why are you using any AVR? Just use ASIO or VAC. BTW, can you compare this fix, please: https://github.com/VoidXH/Cavern/issues/14
spoRv
26th September 2022, 09:09
Dolby Access does not decode Atmos, LOL. What? It sends it to a decoder in TV or AVR.
Right, indeed mine was a stupid question, after all... :D
tebasuna51
26th September 2022, 10:16
How are going to record HDMI cable (for MAT 2.0) or LG C9's internal audio track with Audacity?
Why are you using any AVR? Just use ASIO or VAC.
I need a AVR capable to receive PCM 8 Channels conected to PC by HDMI, only now, an only with host WASAPI, I can record the 8 PCM channels by the device AVR (loopback). See the first image (https://forum.doom9.org/showthread.php?p=1975202#post1975202).
With other options I obtain only 2.0
But you can try other methods of course.
BTW, can you compare this fix, please: https://github.com/VoidXH/Cavern/issues/14
I see big differences between the last 4 channels (SL,SR,TFL,TFR) of Dolby Reference Player output and Cavernize output but I need make more test.
With Cavernize we can define the speakers position (good option) but not with DRP, maybe the Cavernize default position is different than DRP and the mix matrix between ADM and the wav 5.1.2 (for me) is also different.
Balling
26th September 2022, 18:44
Last 4 channels are what are fixed there. Is DRP.exe output having all channels the same amplitude? Cause CavernGUI does after the fix.
FranceBB
26th September 2022, 22:54
I'm late to the party but I do have a question.
So, I'm currently on Fedora 36 x64 and I can't play E-AC3 streams.
To test this, I went to this reference player suggested by Derek (Blue_Misfit): Link (https://reference.dashif.org/dash.js/nightly/samples/dash-if-reference-player/index.html), I pasted the following stream https://dash.akamaized.net/dash264/TestCasesMCA/dolby/4/1/ChID_voices_71_384_448_768_ddp.mpd and I clicked "Load".
Needless to say, it was completely silent both on Chrome 106 and in Firefox 104.
I'm running Fedora 36 x64, the audio backend is Pipewire/Wireplumber, I have gstreamer1-plugin-libav-1.20.3-5.fc36.x86_64, gstreamer1-plugins-bad-free-1.20.3-1.fc36.x86_64, gstreamer1-plugins-bad-free-extras-1.20.3-1.fc36.x86_64, gstreamer1-plugins-bad-freeworld-1:1.20.3-1.fc36.x86_64, gstreamer1-plugins-good-1.20.3-1.fc36.x86_64, gstreamer1-plugins-ugly-1:1.20.3-1.fc36.x86_64 as well as ffmpeg-libs-5.0.1-3.fc36.x86_64 installed.
and yet... nothing.
Is there anything I can do to play E-AC3 streams on Linux (Fedora)?
I also tried with Chrome 106 on Android 13 (Google Pixel 6 Pro) and it's just as mute as it is on Linux... :(
For what it takes, I also tried on Windows XP x86 with Microsoft Updates 'till 2019 with Chromium 92 (July 2021) and K-Lite Codec Pack 13.8.4 Mega (May 2018) and of course it's just as mute as the other two...
The funny thing is that if I open the mpd stream with VLC I can totally decode it, which means that there is a decoder available for Linux, it's just not being used by Chrome nor Firefox...
Recap:
OS: Windows 98SE x86
Browser: Retrozilla 2
Codec installed: K-Lite Codec Pack Full 2.69
Result: Mute
OS: Windows XP Professional x86
Browser: Chrome 92, Palemoon 28
Codec installed: K-Lite Codec Pack Mega 13.8.4
Result: Mute
OS: Fedora 36 (Linux) x64
Browser: Chrome 106, Firefox 104
Codec installed: libav 1.20.3-5
Result: Mute
OS: Android 13
Browser: Chrome 106
Codec installed: default
Result: Mute
OS: Windows 10 Enterprise x64
Browser: Chrome 108, Firefox 106
Codec installed: K-Lite Codec Pack Mega 17.0.5
Result: Mute
Browser: Microsoft Edge 105
Result: Normal Playback
Balling
27th September 2022, 12:29
Even on windows eac3 is not supported in chrome. Even though Youtube added support for eac3, that does not mean Chrome will support eac3 outright. You will have to patch chrome. Technically, hevc was added to chrome, so chance one will add eac3 is high... but... P.S. as you noted Chromium Edge supports EAC3, not Atmos though.
>The funny thing is that if I open the mpd stream with VLC I can totally decode it, which means that there is a decoder available for Linux, it's just not being used by Chrome nor Firefox...
ffplay you mean? It just uses ffmpeg code which is not actual decoder which you pay for as part of windows. Windows uses eac3_mf, part of mff, media foundation framework. The problem is those patches are not accepted by ffmpeg. Simple. https://patchwork.ffmpeg.org/project/ffmpeg/patch/20181029092712.21725-2-pawel.wegner95@gmail.com/
Paul B? That is for you. They already work in Plex transcoder, fork of ffmpeg, so...
FranceBB
27th September 2022, 17:11
Well, I mean, the thing is that it doesn't have to work on Chrome in the sense that it doesn't need to decode it, it could just "pass it through" and let the Windows Media Foundation decode it as it's part of Windows.
I mean, using Edge on Windows 10 isn't such a big deal, but out of curiosity is there any plan to add such a thing?
Last but not least, given that the current decoding method involves the Windows Media Foundation on Windows and the Core Media Audio on Mac, both of which have the decoder only 'cause it has already been paid, is there any chance to have it on Linux given that no licence has been paid? And what if someone wants to actually pay the licence to have the decoder?
richardpl
27th September 2022, 17:45
I'm so glad and happy to always block fascist patches on mailing list and I always will.
tebasuna51
28th September 2022, 10:29
I'm so glad and happy to always block fascist patches on mailing list and I always will.
That is near break rule 4 forum.
Please explain it, I'm sure you can do more educated answer to the problem.
To all, please keep the thread focus: Decode Atmos with Dolby Reference Player
Balling
28th September 2022, 15:19
I'm so glad and happy to always block fascist patches on mailing list and I always will.
I do not ask to make it a default, quite the opposite, I only want it to work if you do not have superior native eac3 decoder where you can turn off DRC.
On the mailing list it was your main objection after all. Of course that still will leave the problem of Atmos decoding using Dolby Access... dunno how Edge wants to solve that, only classic windows media player supports both headphones and bitstreaming.
KSSW
7th November 2022, 10:38
I found a way to record the sound played by the Dolby Reference Player GUI.
- With an AVR conected by HDMI to PC, a audio editor, the free Audacity can work, configure the Host like WASAPI and the Recorder Device to the AVR (loopback). See first image.
- Open the GUI and configure it like the image 2, for a (image 3) output configuration L R C LFE Ls Rs Ltf Rtf or the desired, load the Atmos and Play
- In Audacity record the sound (maby you need stop and replay in the GUI to record fine the begining). I finish with a wav 7.1 24 bits (the last 2 channels are the TFL and TFR)
PROBLEM: the decoded time is the same than the duration. But at least can be used to compare to Cavernize or other Atmos decoder.
Do you have Dolby Reference Player software
tebasuna51
7th November 2022, 14:50
Yes, we need Dolby Reference Player.
KSSW
16th December 2022, 06:46
Yes, we need Dolby Reference Player.
Dolby Reference Player 3.2.0 Windows x64
Download link:[deleted by rule 6]
tebasuna51
16th December 2022, 10:03
Link deleted by rule 6:
6) No warez, cracks, serials or illegally obtained copyrighted content! Links to content of a questionable nature (e.g. anything you don't own and/or have downloaded), asking for, offering, or asking for help/helping to process such content in any way or form is not tolerated.
Balling
12th January 2023, 00:48
drp.exe Nat71.mlp --audio-out-file nat71_at.wav --out-ch-config 5.1.2 --truehddec-presentation 8
drp.exe is not what it uses to produce Atmos. It uses
.\gst-inspect-1.0.exe --gst-plugin-path gst-plugins dlbtruehdparse
.\gst-inspect-1.0.exe --gst-plugin-path gst-plugins
(please note .\, you need to run it after cd).
out-ch-config 5.1.2 is also incorrect, it uses id, for 5.1.2 id is 13.
You can just use python 3.11.1 script instead of constructing a complex command line: https://gist.github.com/Plazik/e950267cc580bcde371ea7879aaa3d5d
tebasuna51
12th January 2023, 15:24
You can just use python 3.11.1 script instead of constructing a complex command line
Can you put a sample of the complex command line?
Balling
16th January 2023, 17:06
To decode mono thd you need to change truehddec-presentation=16 to 2 or 6 or 8.
To decode thd with some strange problems you may want to change the else:
raise RuntimeError(f'Source file must be in E-AC3 or TrueHD format')
To else:
command_fun = self.prepare_truehd_decode_command
tebasuna51
26th February 2023, 15:02
How use your script?
I try:
C:\tmp\python3111>atmos_decode.py -i Core.eac3 -c 5.1.2
usage: atmos_decode.py [-h] -i INPUT [-o OUTPUT] [--gst_launch GST_LAUNCH] [-c {2.0,3.1,5.1,7.1,9.1,5.1.2,5.1.4,7.1.2,7.1.4,7.1.6,9.1.2,9.1.4,9.1.6}] [-nn] [-s]
atmos_decode.py: error: the following arguments are required: -i/--input
the INPUT file Core.eac3 is present
Balling
18th March 2023, 07:38
How use your script?
I try:
C:\tmp\python3111>atmos_decode.py -i Core.eac3 -c 5.1.2
usage: atmos_decode.py [-h] -i INPUT [-o OUTPUT] [--gst_launch GST_LAUNCH] [-c {2.0,3.1,5.1,7.1,9.1,5.1.2,5.1.4,7.1.2,7.1.4,7.1.6,9.1.2,9.1.4,9.1.6}] [-nn] [-s]
atmos_decode.py: error: the following arguments are required: -i/--input
the INPUT file Core.eac3 is present
Why are you running from \tmp\? That is not where windows installs Python by default. Why are you inside that folder? Python requires many files to work. Why not use absolute paths? Just drag and drop Core.eac3. Ideally you need to be inside home folder or downloads. Somehow your .py file cannot see -i option.
What happens when you type python? It must open python 3.11.
tebasuna51
18th March 2023, 11:39
Because I don't want install python.
In that folder there are all files from a python 3.11 portable, and the atmos_decode.py and the Core.eac3, not need absolute paths.
When I drag and drop Core.eac3 nothing occurs.
When I type python in that folder:
C:\tmp\python3111>python
Python 3.11.1 (tags/v3.11.1:a7a450f, Dec 6 2022, 19:58:39) [MSC v.1934 64 bit (AMD64)] on win32
>>> atmos_decode.py -i Core.eac3 -c 5.1.2
File "<stdin>", line 1
atmos_decode.py -i Core.eac3 -c 5.1.2
^^^^
SyntaxError: invalid syntax
>>> ^Z
C:\tmp\python3111>
Balling
18th March 2023, 22:14
That is not how python works, its command line does not work with py files. You forgot -o option before -c and after -i.
First check that atmos_decode.py -h option is working. In powershell, not in python CLI.
tebasuna51
19th March 2023, 02:03
I edit your atmos_decode.py to put parameters like defaults:
parser.add_argument(
'-i', '--input',
help='Path to source file',
type=pathlib.Path,
default=pathlib.Path(r'C:\tmp\python3111\CoreT.thd')
)
...
parser.add_argument(
'-c', '--channels',
help='Output channel configuration',
type=str,
default='5.1.2',
choices=CHANNELS.keys(),
...
And now run OK
C:\tmp\python3111>atmos71.py
Setting pipeline to PAUSED ...
Setting pipeline to PAUSED ...
PipePline is PREROLLINGipSetting pi ...
Setting ppeline is PREROLLING ...
...
New clock: GstSystemClock
Got EOS from element "pipeline0".(96,1 %)3 (99,2 %)91,4 %)%),7 %)1,9 %)%)
Execution ended after 0:00:33.027343000
Setting pipeline to NULL ...
Freeing pipeline ...
Got EOS from element "pipeline0".7.3 (99,5 %)
Execution ended after 0:00:33.785838000
...
Got EOS from element "pipeline0".
Execution ended after 0:00:34.787547000
Setting pipeline to NULL ...
Freeing pipeline ...
C:\tmp\python3111>
and obtain:
CoreT.01_L.wav
CoreT.02_R.wav
CoreT.03_C.wav
CoreT.04_LFE.wav
CoreT.05_Ls.wav
CoreT.06_Rs.wav
CoreT.07_Ltm.wav
CoreT.08_Rtm.wav
Work fine for eac3 and thd.
Thanks.
tebasuna51
19th March 2023, 14:48
Now without python.
I find how use the decoder from command line over a C:\tmp\atmos\zE.eac3 file:
"C:\Program Files\Dolby\Dolby Reference Player\gst-launch-1.0.exe" --gst-plugin-path "C:\Program Files\Dolby\Dolby Reference Player/gst-plugins" filesrc location=C:\\tmp\\atmos\\zE.eac3 ! dlbac3parse ! dlbaudiodecbin out-ch-config=13 ! deinterleave name=d d.src_0 ! wavenc ! filesink location=C:\\tmp\\atmos\\zE.L.wav
The output is a monowav 32 bits float.
This is for a 5.1.2 decode of L channel, must do it for each channel.
And for a C:\tmp\atmos\zT.thd file:
"C:\Program Files\Dolby\Dolby Reference Player\gst-launch-1.0.exe" --gst-plugin-path "C:\Program Files\Dolby\Dolby Reference Player/gst-plugins" filesrc location=C:\\tmp\\atmos\\zT.thd ! dlbtruehdparse align-major-sync=false ! dlbaudiodecbin truehddec-presentation=16 out-ch-config=13 ! deinterleave name=d d.src_0 ! wavenc ! filesink location=C:\\tmp\\atmos\\zT.L.wav
I attach a example of bat files (and logs) to do it in the folder C:\tmp\atmos\ and how use ffmpeg to merge channels in a w64 file 32 float (can be > 4GB), and also how normalize it to 24 int wav if desired (for test samples) ready to be load in Audition to convert to EAC3 (L R C LFE Ls Rs Vhl Vhr)
EDIT: attachement removed, see next posts
Balling
19th March 2023, 16:12
>also how normalize it to 24 int wav if desired
gst-launch can output 24 bit. There is a setting for that. Also there is a setting for disabling drc.
tebasuna51
19th March 2023, 16:35
...Also there is a setting for disabling drc.
That is very interesting. How can cancel DRC?
Balling
19th March 2023, 17:13
That is very interesting. How can cancel DRC?
cd to DRP folder and run using ./ (absolute path will not work):
./gst-inspect-1.0.exe --gst-plugin-path gst-plugins dlbac3dec
Compare to EAC3 interface in DRP, the app: drc-cut, drc-boost and drc-mode are the same as there. Set to true drc-suppress.
It also has drop-delay: Drop delay samples added by the decoder at the stream start
Nice.
in ./gst-inspect-1.0.exe --gst-plugin-path gst-plugins dlbtruehddec
it is already disabled, but you can enable it here.
Obviously you can just do it though global dlbaudiodecbin, ac3dec-drop-delay, ac3dec-drc-suppress
I checked, options work
Balling
19th March 2023, 20:34
Full command "C:\Program Files\Dolby\Dolby Reference Player\gst-launch-1.0.exe" --gst-plugin-path "C:\Program Files\Dolby\Dolby Reference Player/gst-plugins" filesrc location=C:\\tmp\\atmos\\gapless.eac3 ! dlbac3parse ! dlbaudiodecbin ac3dec-drop-delay=true ac3dec-drc-suppress=true out-ch-config=13 ! audio/x-raw,format=S32LE ! wavenc ! filesink location=Z:\zE.L111.wav
tebasuna51
22nd March 2023, 23:46
Ok, and for thd files with drc-suppress by default:
"C:\Program Files\Dolby\Dolby Reference Player\gst-launch-1.0.exe" --gst-plugin-path "C:\Program Files\Dolby\Dolby Reference Player/gst-plugins" filesrc location=C:\\tmp\\atmos\\zT.thd ! dlbtruehdparse align-major-sync=false ! dlbaudiodecbin truehddec-presentation=16 out-ch-config=13 ! audio/x-raw,format=S32LE ! wavenc ! filesink location=C:\\tmp\\atmos\\zT.wav
Y try format=S24LE and report a error like not supported, no problem with the output 32 int.
It is much more fast decode the 8 channels at same time, the problem is the wav filesize >4 GB (only can fit a time of 46:36:12).
Audition (and other soft) can't load that files with standard (and wrong) header, need a w64 or rf64 header. We can use:
eac3to zT.wav zT.w64
With automatic downsample to 24 int, enough for a eac3 encode.
Attached .bat and log
Balling
23rd March 2023, 17:15
drc-suppress should be only for EAC3/AC3/AC4, THD has drc off by default. Yes, only int 24 inside int 32 is supported.
Eviluess
17th August 2023, 07:30
Hi, have you noticed that the generated result has around 7dB lower volume than the audio converted by ffmpeg -i input.mp4 output.wav?
cd to DRP folder and run using ./ (absolute path will not work):
./gst-inspect-1.0.exe --gst-plugin-path gst-plugins dlbac3dec
Compare to EAC3 interface in DRP, the app: drc-cut, drc-boost and drc-mode are the same as there. Set to true drc-suppress.
It also has drop-delay: Drop delay samples added by the decoder at the stream start
Nice.
in ./gst-inspect-1.0.exe --gst-plugin-path gst-plugins dlbtruehddec
it is already disabled, but you can enable it here.
Obviously you can just do it though global dlbaudiodecbin, ac3dec-drop-delay, ac3dec-drc-suppress
I checked, options work
tebasuna51
17th August 2023, 09:17
Yep, 7dB or other, seems the drc-suppress is ignored by the decoder and the drc is applied always over eac3 Atmos.
I'm using now the eac3to 'normalize' after decode:
set TEM=C:\\tmp\\atmos\\
set DECODER=C:\Program Files\Dolby\Dolby Reference Player
set EAC3TO=C:\Portable\eac3to\eac3to.exe
"%DECODER%\gst-launch-1.0.exe" --gst-plugin-path "%DECODER%/gst-plugins" filesrc location=%TEM%zE.eac3 ! dlbac3parse ! dlbaudiodecbin ac3dec-drop-delay=true ac3dec-drc-suppress=true out-ch-config=13 ! audio/x-raw,format=S32LE ! wavenc ! filesink location=%TEM%zE.wav
rem zE.wav to zE.w64 normalize and 32f to 24int (Audition can't read wav >4GB)
"%EAC3TO%" zE.wav zE.w64 -normalize
Eviluess
19th August 2023, 11:08
Yep, 7dB or other, seems the drc-suppress is ignored by the decoder and the drc is applied always over eac3 Atmos.
I'm using now the eac3to 'normalize' after decode:
Thank you for confirming this.
And as far as I know, any post-processing such as re-normalizing will compromise the "lossless" property. E-AC-3 is lossy, while TrueHD is lossless, so I hope TrueHD can do the job properly on respecting to the original.
Additionally, I found the TrueHD options allow us to use DRC modes, and only the value 4 can make the result louder than others. However, this make the end result LOUDER than the original, which introduces lossy in details.
Do you know how to make TrueHD without altering the original loudness?
Any suggestions would be greatly appreciated!
Thanks in advance!
tebasuna51
19th August 2023, 11:52
And as far as I know, any post-processing such as re-normalizing will compromise the "lossless" property. E-AC-3 is lossy...
You are right, the re-normalize is not the correct way, but is the best I found until we know a way to cancel the DRC applied by the decoder.
... while TrueHD is lossless, so I hope TrueHD can do the job properly on respecting to the original.
The decoder default is not aply the DRC, then I also hope the decode is 'more or less' lossless.
BTW the atmos decode to a specific speaker configuration implies some lossy operations and we can't know how the original sound was recorded.
Eviluess
19th August 2023, 14:48
You are right, the re-normalize is not the correct way, but is the best I found until we know a way to cancel the DRC applied by the decoder.
The decoder default is not aply the DRC, then I also hope the decode is 'more or less' lossless.
BTW the atmos decode to a specific speaker configuration implies some lossy operations and we can't know how the original sound was recorded.
You make a good point. Let me provide some more details on my testing:
I used DaVinci Resolve to generate a test Atmos WAV file, playing simple sounds at each speaker channel like FL, FC, FR and so on. Then I used the Dolby Encoder Suite to generate TrueHD files from this.
When I compared the TrueHD output to the original WAV, I noticed the volume was lowered by about 7dB across all the speaker channels. This indicates a noticeable loss of fidelity to me, beyond what I'd consider "lossless." Boosting the volume with re-amping would also boost any lost details.
However, if having overhead channels is more important than absolute sound quality, this may be the "best" solution available right now, as you said.
In the end, it's a trade-off between full Atmos speaker support and lossless audio quality. I appreciate you helping me think through this - your insights are really valuable as I explore my options.
conclusions here!
Balling
20th August 2023, 02:39
You are right, the re-normalize is not the correct way, but is the best I found until we know a way to cancel the DRC applied by the decoder.
The decoder default is not aply the DRC, then I also hope the decode is 'more or less' lossless.
BTW the atmos decode to a specific speaker configuration implies some lossy operations and we can't know how the original sound was recorded.
TrueHD is not lossless, neither the Dolby Media encoder, nor the Dolby Reference player (hacked using the github script). FFmpeg decoder is lossless (and lossless with FFMpeg encoder), but FFmpeg encoder is slightly nonconformant at least with stereo.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.