View Full Version : A few questions about DRC and multi-channel encoders
nonoitall
27th June 2007, 10:59
First, do any codecs besides AC3 support dynamic range compression? (Particularly either AAC or Vorbis?) If so, which encoders support this?
Second, I'm guessing the answer to the first question is no from what I've read here, so if that's the case, is it possible to preserve DRC information (perhaps in a separate file) so that it could be used if the encoded file were converted back to AC3?
Third, which free (as in beer, not necessarily open source) HE-AAC encoders can encode multi-channel audio? If any commercial ones just totally blow the free ones out of the water, those are worth mentioning too.
:thanks:
Brother John
27th June 2007, 13:52
1.
I assume you're asking about AC3's dynamic DRC feature: adjusting DRC on playback without altering the encoded stream? That's really one of AC3's specialities. Maybe DTS can do it as well? And I'm pretty sure E-AC3 can. All the other common formats don't support DRC metadata, though. Your only choice is to hardcode one DRC setting when transcoding.
2.
Technically it's possible. Dynamic DRC info is just some additional info stored in the AC3 bitstream that could be extracted and stored separately. But I'm not aware of any tool capable of doing this.
3.
The Nero commandline encoder (http://www.nero.com/nerodigital/eng/Nero_Digital_Audio.html) is the common choice here. It's usable via BeSweet/BeLight for direct transcoding from AC3 to AAC.
nonoitall
28th June 2007, 08:50
Thanks a lot! Is there any software that can approximate the effect of DRC when playing back other formats? If transcoding means losing DRC information, I'd opt to leave the audio in its original state, but being able to adjust it on-the-fly during playback would still be a handy option to have.
Brother John
29th June 2007, 00:23
You could use ffdshow or AC3Filter (http://ac3filter.sourceforge.net/) as a postprocessor in your audio playback chain. That'd give you full control over the audio channels. Especially AC3Filter's auto gain/normalization features might be interesting.
shon3i
29th June 2007, 07:47
AAC standad support DRC, by the AAC standard, but there is not any encoder support it right now. Probably will nero add it in future ;)
For multichannel HE-AAC encoding i prefer Coding Technologies AAC encoder. Can be founded in BeHappy. Also i recommend you to use BeHappy for transcoding audio, because is fast, simple and safe metod.
nonoitall
2nd July 2007, 09:23
Thanks for the info guys! I'll have to do some listening and see what my ears like best.
scf33865
4th July 2007, 09:31
It seems that there's no AC3 software decoder available which supports decoding or transcoding of AC3 preserving the full dynamic range. Unlike this software, almost every (hardware) A/V Receiver provides an option to disable DRC completely which means that e.g. explosions are really loud in comparison to dialogs. In case you're using an excellent home cinema sound system - and your neighbors are quite understanding - it may be awesome to have the original cinema sound reproduced.
I think that all the AC3filter or BeSweet stuff - or even Nero - cannot extract the full dynamic range, it is always a kind of suboptimal signal processing and normalizing.
By the Way: Since HE-AAC is going to be a standard in DVB environment (at least in Europe), it does support DRC information as well as dialog normalization and downmix control. It is nearly 100% compatible to AC3 in this area. Indeed it is technically possible to transcode the waveform while only "translating" all the metadata and therefore preserving all the DRC, DN and DM information. But even if you are able to do this, you're running into the next mess - like for AC3, there's also no AAC software decoder available which supports decoding AAC without any DRC. So, in my opinion, it is the best choice to let the AC3 untouched without any transcoding.
Gusar
4th July 2007, 09:59
How about this? (note the part in bold)$ a52dec -h
a52dec-0.7.5-cvs - by Michel Lespinasse <walken@zoy.org> and Aaron Holtzman
usage: a52dec [-h] [-o <mode>] [-s [<track>]] [-t <pid>] [-c] [-r] [-a] \
[-g <gain>] <file>
-h display help and available audio output modes
-s use program stream demultiplexer, track 0-7 or 0x80-0x87
-t use transport stream demultiplexer, pid 0x10-0x1ffe
-T use transport stream PES demultiplexer
-c use c implementation, disables all accelerations
-r disable dynamic range compression
-a disable level adjustment based on output mode
-g add specified gain in decibels, -96.0 to +96.0
-o audio output mode
oss
ossdolby
oss4
oss6
wav
wavdolby
wav6
aif
aifdolby
peak
peakdolby
null
null4
null6
floatOr are you saying that even this won't preserve the full dynamic range?
Brother John
4th July 2007, 11:25
Are you really saying that even BeSweet's azid with "-c none" and AC3Filter with all options zeroed still apply some weird form of DRC to the stream? I find that a little hard to believe. Could you be more specific where you got that information from and what exactly happens in those "supposed to but not so perfect" cases?
FlimsyFeet
4th July 2007, 13:45
With BeSweet/Azid's decoding of AC3, dynamic range compression (and dialog normalization, for that matter) are both turned off by default.
Conversely, I have never seen a hardware decoder that gives you the option to turn off dialogue normalization.
scf33865
4th July 2007, 19:30
OK, I tried it using special sample signals and BeLight/BeSweet/Azid. Indeed it preserves the full dynamic range. It's good to know that after all there's a software decoder which is able to do this. I have to confess that I did my last tests some longer time ago...
But anyway, there's still no official Dolby certified solution on the market that gives you e.g. 6 mono WAVs from a AC3 stream without DRC.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.