Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: How to reduce dynamic range in movie audio? (Read 4027 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

How to reduce dynamic range in movie audio?

Hi,

I'm going to rip my blu-ray movie collection soon and I want to convert movie audio from DTS to AAC or AC3 and reduce dynamic range because i find annoying to consantly increaseing volume to hear the dialogue (which is often very quiet) and than decrease the volume for action scenes which are usually very loud. This is especially annoying at night. :D

So, what I want to do is to convert audio and reduce dynamic range to increse volume in quiet parts of the movie (dialogue) while retaining same or slightly reduced volume in action scenes.

Which is the best way to do this?

lame --abr 288 -f --lowpass 17 (+ mp3gain@92 dB)

Re: How to reduce dynamic range in movie audio?

Reply #1
You could try running them through the EBU R128 Normalizer foobar plugin.

Haven't tried that on movies, though I have used the plugin before with badly recorded podcasts with inconsistent volume.


Re: How to reduce dynamic range in movie audio?

Reply #3
Isn't there a mandatory Dolby digital track as well? Shouldn't that have DRC indices in the stream?

Mpv AC3 playback with DRC. Additionally mpv also has a pretty neat (imho) loudnorm filter.
PANIC: CPU 1: Cache Error (unrecoverable - dcache data) Eframe = 0x90000000208cf3b8
NOTICE - cpu 0 didn't dump TLB, may be hung

Re: How to reduce dynamic range in movie audio?

Reply #4
AC3, DTS, and LPCM are all mandatory codecs. Since Dolby TrueHD and DTS-HD MA contain AC3 and DTS core tracks, respectively, you could have Blu-rays that have only a DTS-HD MA track, and thus there are no available AC3 tracks for you to use to get DRC.

I don't think AC3 is technically required to have DRC, either. Since Blu-ray is supposed to be somewhat faithful to the cinematic experience, it's conceivable that a 640 kbps AC3 track would have full dynamic range with no DRC flagging.

Re: How to reduce dynamic range in movie audio?

Reply #5
@Dracaena

As I understand, EBU128 Normalizer works similar to Replay Gain so I doubt that it could do DRC, but I'll try it. ;)

@Apesbrain

Your solution is much closer to what I need. I will test it to see how it works. ;)

@smok3

I don't know about that. If there is a DRC flag in AC3 stream, sound is still very quiet in general and DRC setting is very conservative.  But I'll look into it anyway...

@Aleron Ives

Thanks for clarification.
lame --abr 288 -f --lowpass 17 (+ mp3gain@92 dB)

Re: How to reduce dynamic range in movie audio?

Reply #6
As I understand, EBU128 Normalizer works similar to Replay Gain so I doubt that it could do DRC, but I'll try it. ;)
Replaygain applies to an entire track/album at a time. That plugin continually adjusts the volume on a moment to moment basis.

Re: How to reduce dynamic range in movie audio?

Reply #7
As I understand, EBU128 Normalizer works similar to Replay Gain so I doubt that it could do DRC, but I'll try it. ;)
Replaygain applies to an entire track/album at a time. That plugin continually adjusts the volume on a moment to moment basis.

Re: How to reduce dynamic range in movie audio?

Reply #8
@Dracaena

As I understand, EBU128 Normalizer works similar to Replay Gain so I doubt that it could do DRC, but I'll try it. ;)
Replaygain applies to an entire track/album at a time. That plugin continually adjusts the volume on a moment to moment basis.


edit: weird, I was getting gateway timeout errors - and these three posts are in reverse time order

Re: How to reduce dynamic range in movie audio?

Reply #9
You found a glitch in the (Dolby Pro Logic?) matrix. :P

If there is a DRC flag in AC3 stream, sound is still very quiet in general and DRC setting is very conservative.
You can normalise the audio after compressing it to bring the overall volume up, if necessary. You can check whether DRC is working by decoding an AC3 stream with ffmpeg using both -drc_scale 0 and -drc_scale 1 switches. Compare the waveforms in Audacity, and if they look the same, the AC3 stream has no DRC flagging.


Re: How to reduce dynamic range in movie audio?

Reply #11
@synclagz:
Maybe "Dynamic Audio Normalizer" by LordMulder is what you are looking for.
Find it here. Excellent documentation here
It is also included in ffmpeg. Caveat: 2 channels only, afaik. But I didn't test it with multichannel tracks.
I use this software a lot to create "nightmode", stereo downmixes for mulitchannel AC3/DTS audio tracks.

Re: How to reduce dynamic range in movie audio?

Reply #12
@Aleron Ives

Yes, normalization is the solution but I was looking for something quicker (a lot of this audio editing is time consuming)

@celona

This is some sort of professional stuff (kind of). I'll look into it. Thanks.

@sundance

I'm familiar with -dynaudnorm in ffmpeg but it gives me inconsistent results. Maybe some internal tweaking is required.
lame --abr 288 -f --lowpass 17 (+ mp3gain@92 dB)

Re: How to reduce dynamic range in movie audio?

Reply #13
you could use qaac with the --normalize or --drc options. It would re-encode the aac audio file.

to note: I've not tried these options myself, but know they exist.

maybe @nu774  can offer advice wrt qaac in this scenario?

Re: How to reduce dynamic range in movie audio?

Reply #14
The --normalize switch in qaac is a simple peak normalisation that amplifies the audio to full scale. It doesn't affect dynamic range. The --drc switch will work, but as with the ffmpeg and sox switches, it probably takes a lot of trial and error to get good results.

Re: How to reduce dynamic range in movie audio?

Reply #15
qaac's --drc is usable, but yes, you will need try and errors.
For this purpose, you will want relatively long attack time (at least 500ms+, maybe  1000ms+).
As with ordinary dynamic range compressor, short attack time makes the signal more thick/compressed/unnatural.

One thing you should know is that these thing is not perfect at all.
Consider a typical dialogue scene with audible background ambience (sound of car/train/restaurant, for example).  You, as a human, can easily distinguish dialogue and ambience, and you know that level of background ambience is rather stable.
However, compressor is not that smart. If you run compressor on it, compressor will happily make it louder only when nobody is speaking, and this makes level of ambience unstable. You will easily notice it, and maybe get uncomfortable with it.
In an ideal world you want to touch only dialogue and leave ambience untouched, but you can't do that when they are already mixed.

Re: How to reduce dynamic range in movie audio?

Reply #16
Are you listening on a stereo setup? Or 5.1?

If it's a stereo listening setup, the problem is usually because of incorrect downmixing from 5.1 to stereo. In this case, normalization / drc isn't the best answer.

Re: How to reduce dynamic range in movie audio?

Reply #17
@nu774
Well, yes... DRC is not perfect but unstable ambiance is way less annoying for me than quiet/loud transitions.

From my limited testing so far, it seems that fb2k drc component is more-less quite good. Also Audacity compressor filter but fb2k approach is much faster.

@forestasia
I'm using stereo setup for movies with drc and I always copy  original audio as second stream.
lame --abr 288 -f --lowpass 17 (+ mp3gain@92 dB)

Re: How to reduce dynamic range in movie audio?

Reply #18
As multitrack audio typically limits dialoge to the center channel, it seems to make sense to alter the mix/balance of center to the rest, or to analyze the center channel and boost (relatively) only speech found in that channel.

https://dolby.io/blog/dialog-enhancement-on-large-audiences/

Re: How to reduce dynamic range in movie audio?

Reply #19
Lately i have been doing the same with movie audio tracks. I tried to make voice clear while keeping other sounds as well.

I've used foobar to do this:
1. Convert the track to stereo. Using the foo_channel_mixer component. Reduce the front and surround channels to 0.77. Reduce sub to 0.
Also added an EQ to lower frequencies below 80hz.
2. Add replaygain info to use in next step
3. Convert using trackgain and Sqrsoft compressor/limiter component (default setting)

It sounds very good to me. The voice is clear and the compressor volume changes are not obvious/annoying. I used the eq because movie tracks still have a lot of bass even without the sub channel, which would push the voice back otherwise.

Unfortunately the channel mixer component does not support more than 5.1 channels though.
So i need to find another way for those tracks.