Log in

View Full Version : eac3to -keepDialnorm option question...


dom_b
14th October 2008, 22:58
When re-encoding e-ac3 or dtsma to ac3 @ 640kbps using eac3to i have been using the -keepDialnorm option. This was so I kept the audio levels as the original soundtrack... but after reading around I see this isn't recommended, is there a reason for this?

I assumed it was when decoding it kept the Dialnorm at the correct level then re-encoded without changing the normalization... is this correct?

Any help appreciated, thanks!

rica
14th October 2008, 23:23
-keepDialnorm (disable-dialog normalization removal) is not recommended.

dom_b
14th October 2008, 23:25
why? i want to keep the dialog normalization as the original, is this not correct? when i re-encode does it add its own dialog normalization?

nautilus7
14th October 2008, 23:37
Dialog Norm. is applied during playing back of the audio track. That is done by the decoder. Info about how much attenuation to be applied is stored into the track.

When we wanna make a new audio track, we want to keep audio data untouched. This means we don't want Dialog Norm. to be applied during decoding.

Later on, on the encoding stage of your new track, you can tell the encoder to store Dialog Norm. info into the new track. Doing such, you will be able to play the new audio track with dialog norm simlarly to the original track.

dom_b
14th October 2008, 23:41
when encoding to ac3 with eac3to (using the gui) i do not have an option to set the diagnorm, so presumably this encodes it as the orginal yes? if i decode the e-ac3 or dtsma with diagnorm, and re-encode to ac3 without setting a diagnorm level then it should remain the same...

nautilus7
14th October 2008, 23:53
No, if you use eac3to for encoding, then you can't store DN info. You 'll have to encode with the standalone encoders manually. Just set the same DN value as the source track.

For example to encode ac3 with aften (that is what eac3to uses), a suggested command line is: aften.exe -readtoeof 1 -b 640 -pad 0 -dnorm 27 input.wav output.ac3

-readtoeof 1 is needed if input is longer than 4GB for 5.1 or 2GB for 2.0 (optional)
-pad 0 ensures that output track has no delay added compared to input. That's because all ac3 encoders add ~10ms delay in the output track (default behavior - don't know why it is like this) (optional)
-dnorm 27 stores a value of -27dB, like most tracks have.

Anyway, i don't know if it worths the trouble. Do you really need DN?

dom_b
14th October 2008, 23:59
i don't need it, i just want to keep the track as close to the original as possible, so i think my theory is correct...

if i keep the diagnorm as default when decoding the e-ac3 (in this case -27) and don't set one when encoding to ac3 (which should default to -31) this should end up with the soundtrack the same as the original mix.

nautilus7
15th October 2008, 00:06
Perhaps, i should have answer differently to be more clear: Yes, you can do this, but you won't be able to undone the DN application. It will be always "on". The track will not be reported as having DN info stored in the bitstream, because it will have the info coded in the audio data. That can't be undone. On the contrary, the "proper" way to apply DN is during playback ONLY, based on the info stored. That way, you would have an option to turn it on/off.

dom_b
15th October 2008, 00:10
Great thats what I thought. Why should I ever want to change the DN info anyway? If anything its best to encode as the orignal intended rather than remove it, then outputting it at the wrong level surely?

Just my thoughts anyway!

nautilus7
15th October 2008, 00:17
Why should I ever want to change the DN info anyway?9 out of 10 people reading this question ask why anyone want to keep DN? ;)

If anything its best to encode as the orignal intended rather than remove it, then outputting it at the wrong level surely?I wouldn't call it wrong. Since there's an option to turn it on/off, then surely it's not wrong. AFAIK, it helps movies sound better when you have set the volume in lower levels. Nothing more.

Just my thoughts anyway!My thoughts also. :p

Glad to help.

dom_b
15th October 2008, 00:19
I guess i'm just going around my audio encoding in a different way to everyone else! :).

Thanks again.

dom_b
15th October 2008, 00:38
ok, i think after reading properly i understand the diagnorm option!

if i play out an e-ac3 track which has the DN info in through a surround amp, the DN is not normally active? It is only for playing at lower levels if I turn it on for decoding?

so for normal play out the DN is not used?

nautilus7
15th October 2008, 01:00
I can't tell what most pre-amplifiers do by default. But they all should have an on/off option.

DN helps dialogs sound better (louder) when you hear at low volumes. It is just not useful when you play the movie loud.

tebasuna51
15th October 2008, 02:28
ok, i think after reading properly i understand the diagnorm option!

if i play out an e-ac3 track which has the DN info in through a surround amp, the DN is not normally active? It is only for playing at lower levels if I turn it on for decoding?

so for normal play out the DN is not used?

Don't mistake Dialog Normalization (DN) with Dynamic Range Compression (DRC)

When you play ac3 you can't disable apply or not the DN, always is applied, the sound is always attenuated. The DN is fix for all the track.

DRC can be selected at play time to reduce high volume levels (night mode). The DRC values can be different for each block of samples.

To re-encode both values must be ignored at first decode pass, but can be added if you re-encode to ac3.

I only recommend add DN and DRC if you only play ac3 audio. Then DN aid you to maintain a constant volume between sources and the DRC values can help old players to do 'night mode'.

But if you play ac3 audio, mp3, CD audio, TV audio and others sources, the DN is a handicap for ac3 sources and you need modify the volume knob.

The DRC values precalculated in the ac3 stream is an advantage for 'night mode', but modern players (soft or standalone) can calculate the values on the fly and offer 'night modes', not only for ac3 stream, also for lpcm, etc.

For me DN and DRC are now obsolete.

zeropc
15th October 2008, 08:04
what about going from dolby (dd, eac3, dth) to dts? should you select keep dn or not?
and what about keeping the dn when you just extract the core from a dth?

madshi
15th October 2008, 08:22
Please also be aware that there are some Blu-Rays where the audio track is stored in different audio formats. In this situation often the Dolby tracks have DialNorm activated while all other tracks have not. If you decode them you'll find that if you honor DialNorm the Dolby tracks will decode to lower volume compared to the other tracks (e.g. PCM or DTS). So the volume "as intended" is usually the one which you get if you remove DialNorm.

The Dolby encoders have DialNorm activated by default and set to a default value. So if the studio doesn't manually change anything, their audio tracks will have DialNorm activated with a default value. The DTS encoders have DialNorm disabled by default. Now from my experience it seems that most studios don't change the defaults. And this renders DialNorm completely useless because it's a value which is supposed to be set differently depending on the volume level of the specific audio track.

The latest receivers have features like e.g. Audyssey Dynamic Volume (there's a similar THX feature, too, I think). This feature does the same thing DialNorm was originally intended for. But it's even better because it works for every audio source and doesn't depend on DialNorm information being available (and set correctly!) in the audio source.

Just like tebasuna51 I consider DialNorm obsolete. Or even "bad" because it's rarely set to the correct value by the studio, anyway. Sadly a Dolby license conformant decoder is not allowed to even offer an option to turn DialNorm off. Some parts of Dolby's license agreement are plain stupid.

dom_b
15th October 2008, 09:36
ok great. thanks for all the help, i'll have to re-encode the audio on my mkv files now damn it!

at least there is a thread explaining the disadvantages of dialnorm now!

alc0re
10th January 2009, 08:20
Sorry to post in an old thread...trying to get my question answered...


My receiver does not like a value of -0 db for dialog normalization (yamaha HTR-5940.)

I have some .ac3 that i extracted from blurays using eac3to with dialog normalization removal on...by removing the dialog normalization it changed the value from the value that most of the tracks had (-27) to 0, and now I have to turn up my volume a lot on my receiver to hear those ac3 tracks.

is there a way to change the dialog normalization level without re-encoding the audio?

n0mag!c
10th January 2009, 15:31
"eac3to" "changelog.txt":

v2.85
* AC3 and E-AC3 dialnorm removal now uses "-31db" instead of "-0db"

alc0re
10th January 2009, 16:22
thanks again for replying to my annoyings question n0magic lol...but again i know about change. If you look back in the eac3to thread, its me that prompted that change in eac3to. But unfortunately i have quite a few tracks that were ripped before that change that I would like to fix...

n0mag!c
10th January 2009, 17:17
If you run "eac3to in.ac3 out.ac3" then dialnorm will be changed from -0db to -31db. Isn't it "fix" you're looking for?

tebasuna51
10th January 2009, 17:37
@n0mag!c
Please test the solution before post.
Like I test, and alc0re I suppose, don't work.
See the other thread (http://forum.doom9.org/showthread.php?t=144156)

n0mag!c
10th January 2009, 18:29
So I was wrong in my assumption, it's sad then. I sincerely believed that "eac3to" can do it.
Thank you to let me know about it. I saw your post in other thread with link on program, which can fix this.

alc0re
10th January 2009, 20:12
@n0magic...

Yah I was hoping that was going to work when eac3to 2.85 was released but I tested and it didnt....I've since posted in the eac3to thread asking for a command something along the lines of -forceDialnorm but I have not been responded to...oh well. the author works hard enough im sure on that program without me bugging him to implement that feature.

@tebasuna51

Again, thank you for the solution. You just saved me a lot of time and headache. (and again, sorry for the double post.)

n0mag!c
14th January 2009, 21:07
If you run "eac3to in.ac3 out.ac3" then dialnorm will be changed from -0db to -31db. Isn't it "fix" you're looking for?

eac3to now do that, since version 3.00
P.S. I post it just for all other readers.

jamos
24th January 2009, 17:16
I use eac3to to remove all dialog normalization from my ac3 tracks before I remux them into AVCHD m2ts format. it makes it sound better with less distortion from the dialog by having it attenuated.