View Full Version : Normalizing 6ch AC3
shon3i
6th April 2006, 21:07
Again and again i wanna normalize 6ch ac3 and the convert it to 6 ch AAC, but there is some differents when normalize 6ch ac3 directly and when dominixed. I think how to normalize every channel separately i think is that possible via avisynth but how, aslo foobar's 0.9 ReplyGain apply same gain to all channels but i have other problems to scan Gain over aac, foobar 0.83 is work good but not normalize every channel, i think only L,R is normalized.
MrTroy
6th April 2006, 22:09
Have you tried this in AviSynth:
f_left = GetChannel(audio,1).Normalize
f_right = GetChannel(audio,3).Normalize
f_center = GetChannel(audio,2).Normalize
LFE = GetChannel(audio,6).Normalize
r_left = GetChannel(audio,4).Normalize
r_right = GetChannel(audio,5).Normalize
MergeChannels(f_left,f_right,f_center,LFE,r_left,r_right)
shon3i
6th April 2006, 22:13
tahnks works, but i later post to see differents, i must ask how to Hard Limit in avs
Is that correct channel order for resulting ac3
MergeChannels(f_left,f_right,f_center,LFE,r_left,r_right)
I think is
MergeChannels(f_left,f_center,f_right,r_left,r_right,LFE)
shon3i
7th April 2006, 14:29
Totaly different effect when normalize in with that way i use this script
ac3=NicAC3Source("C:\Documents and Settings\Nenad\Desktop\TheDukesOfHazzardDVD\TheDukesOfHazzard T01 3_2ch 384Kbps DELAY 0ms.ac3")
FL=GetChannel(ac3,1).Normalize(show=true)
FR=GetChannel(ac3,3).Normalize(show=true)
FC=GetChannel(ac3,2).Normalize(show=true)
SL=GetChannel(ac3,4).Normalize(show=true)
SR=GetChannel(ac3,5).Normalize(show=true)
LFE=GetChannel(ac3,6).Normalize(show=true)
newAc3=MergeChannels(FL,FC,FR,SL,SR,LFE)
return newac3And resulting aac is more louder, but i am not sure about channeling order is it correct?
anyway how to do a hardlimit or amplify with no distorsion
MrTroy
7th April 2006, 16:45
Is that correct channel order for resulting ac3
I don't know which program you use to do the encoding. But VirtualDub (which I use) expects the WAV channel order for input, no matter to what format you encode.
If you use the channel order from my avs script it will output WAV channel order.
shon3i
7th April 2006, 17:00
I use BeHappy, becouse i have input ac3.
dimzon
7th April 2006, 17:22
I use BeHappy, becouse i have input ac3.
Just keep channel order untoched ;)
ch1 = GetChannel(ac3,1).Normalize(show=true)
ch2 = GetChannel(ac3,2).Normalize(show=true)
ch3 = GetChannel(ac3,3).Normalize(show=true)
ch4 = GetChannel(ac3,4).Normalize(show=true)
ch5 = GetChannel(ac3,5).Normalize(show=true)
ch6 = GetChannel(ac3,5).Normalize(show=true)
newAc3=MergeChannels(ch1,ch2,ch3,ch4,ch5,ch6)
shon3i
7th April 2006, 17:36
@dimzon it is same like my script, one question to you about Amplifydb is it same when dong like this
ac3=NicAC3Source("C:\Documents and Settings\Nenad\Desktop\ac3\proba.ac3")
FL=GetChannel(ac3,1).AmplifydB(8.80)
FR=GetChannel(ac3,3).AmplifydB(8.80)
FC=GetChannel(ac3,2).AmplifydB(8.80)
SL=GetChannel(ac3,4).AmplifydB(8.80)
SR=GetChannel(ac3,5).AmplifydB(8.80)
LFE=GetChannel(ac3,6).AmplifydB(8.80)
newAc3=MergeChannels(FL,FC,FR,SL,SR,LFE)
return newac3
and this
NicAC3Source("C:\Documents and Settings\Nenad\Desktop\ac3\proba.ac3")
AmplifydB(8.80)
or not
and what about DRC what can be 0,1 etc.
dimzon
7th April 2006, 20:16
@dimzon it is same like my script, one question to you about Amplifydb is it same when dong like this
I believe both is equal (but I'm not Avisynth developer)
and what about DRC what can be 0,1 etc.
I'm using it always (drc=1)
shon3i
8th April 2006, 18:02
Finaly i found right gain i use combination of foobar 0.9 and BeHappy
In foobar do a ReplyGain over avs script who looks like this
ac3=NicAC3Source("C:\Documents and Settings\Nenad\Desktop\ac3\proba.ac3",DRC=1)
FL=GetChannel(ac3,1)
FR=GetChannel(ac3,3)
FC=GetChannel(ac3,2)
SL=GetChannel(ac3,4)
SR=GetChannel(ac3,5)
LFE=GetChannel(ac3,6)
newAc3=MergeChannels(FL,FC,FR,SL,SR,LFE)
return newac3
The foobar returns gain in decibels format and than create new script like this
ac3=NicAC3Source("C:\Documents and Settings\Nenad\Desktop\ac3\proba.ac3,DRC=1")
FL=GetChannel(ac3,1).Normalize().AmplifydB(8.80)
FR=GetChannel(ac3,3).Normalize().AmplifydB(8.80)
FC=GetChannel(ac3,2).Normalize().AmplifydB(8.80)
SL=GetChannel(ac3,4).Normalize().AmplifydB(8.80)
SR=GetChannel(ac3,5).Normalize().AmplifydB(8.80)
LFE=GetChannel(ac3,6).Normalize().AmplifydB(8.80)
newAc3=MergeChannels(FL,FC,FR,SL,SR,LFE)
return newac3
Of course 8.80 change with number from foobar
Now load this script into behappy and encode with CodingTehnologies you can use bitrates 96-128 for 1CD rips and 128-213 for 2 or more CD. You should get good quality with all bitrates.
JoaCHIP
12th April 2006, 11:02
If you normalize the channels seperately, you might end up boosting something too much relative to the other channels. In order words, you easily end up messing up the mix this way.
If you think the difference between the silent parts and the loud parts in the movie are too big, you're probably looking for audio compression and limiting, but i wouldn't recommend doing this in the encode. Let the playback device do this, for those people who need it while playing the file.
But if you still really think you want to reduce the dynamics before encoding (and not just normalize), it's better to export to .wav and use a professional audio tool like T-RackS or better, than using the horribly sounding dynamic range stuff often found in video software.
shon3i
12th April 2006, 11:18
If you normalize the channels seperately, you might end up boosting something too much relative to the other channelsThe problem is in that why aac don't have ReplyGain, HibridGain especialy for multichannel encoding. So i must first amplify before encoding to aac.
If you think the difference between the silent parts and the loud parts in the movie are too big, you're probably looking for audio compression and limitingIsn't to big but is silent, in that way when use pseudo ReplyGain from foobar and i newer get distorsions or cliping but audio is very loud
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.