Help - Search - Members - Calendar
Full Version: Normalizing, MP3Gain, and ATH
Hydrogenaudio Forums > Lossy Audio Compression > MP3 > MP3 - General
kennedyb4
Hello. I stopped normalizing ages ago in favour of mp3 gain which is reported as lossless. I was never able to hear a difference between normalized or un-normalized files anyway but I usually follow board recommendations.

My question is this.

I have a copy of the Beatles White album. Many songs are analyzed as 4.5 and even 6db below peak on MP3 gain. I use the Apply max no-clip gain function.

If the tracks are not normalized and encoded to lame mp3, isn't there a great deal of information that will fall below Lame's ath that would be there if the file was normalized first? Once lost, MP3Gain cannot restore this data if it is gone to begin with.

In other words, if the wave is gained first by normalizing ( I know this is lossy) does not more info fall above Lame's ath and get encoded appropriately?

Any input appreciated
michael.conner
QUOTE(kennedyb4 @ Oct 6 2006, 21:10) *

Hello. I stopped normalizing ages ago in favour of mp3 gain which is reported as lossless. I was never able to hear a difference between normalized or un-normalized files anyway but I usually follow board recommendations.

My question is this.

I have a copy of the Beatles White album. Many songs are analyzed as 4.5 and even 6db below peak on MP3 gain. I use the Apply max no-clip gain function.

If the tracks are not normalized and encoded to lame mp3, isn't there a great deal of information that will fall below Lame's ath that would be there if the file was normalized first? Once lost, MP3Gain cannot restore this data if it is gone to begin with.

In other words, if the wave is gained first by normalizing ( I know this is lossy) does not more info fall above Lame's ath and get encoded appropriately?

Any input appreciated


I don't know what difference it would make in terms of ATH, but instead of normalizing the WAV files, you could use WaveGain in album gain mode so that the relative volume differences on the album stay the same, but the overall album volume still gets boosted to 89dB.

Or you could do an analysis of the album in WaveGain, find the recommended gain and use that figure for Lame's --scale command. I'm sure others know better than I do about this, though.
Mike Giacomelli
QUOTE(kennedyb4 @ Oct 6 2006, 19:10) *

Hello. I stopped normalizing ages ago in favour of mp3 gain which is reported as lossless. I was never able to hear a difference between normalized or un-normalized files anyway but I usually follow board recommendations.

My question is this.

I have a copy of the Beatles White album. Many songs are analyzed as 4.5 and even 6db below peak on MP3 gain. I use the Apply max no-clip gain function.


I think the reason you don't hear a difference is that those settings don't typically do a lot to most music unless it was very quiet to begin with. Max gain will just make it as loud as can be without clipping. Most albums already come with the volume maxed out, so it doesn't change much.

I'd recommend you use album gain instead. THat way all your albums will be the same volume.
kennedyb4
How is WavGain different from a normalizer?Some members were insisting that normalizing was slightly lossy although I don't remember anyone saying it was audible.

My point is that if a track is 6db below saturation, then some information will below Lame's ath and be discarded.This would then not be regained by adjusting with MP3 Gain.
Alex B
QUOTE(kennedyb4 @ Oct 7 2006, 05:10) *

Hello. I stopped normalizing ages ago in favour of mp3 gain which is reported as lossless. I was never able to hear a difference between normalized or un-normalized files anyway but I usually follow board recommendations.

My question is this.

I have a copy of the Beatles White album. Many songs are analyzed as 4.5 and even 6db below peak on MP3 gain. I use the Apply max no-clip gain function.

If the tracks are not normalized and encoded to lame mp3, isn't there a great deal of information that will fall below Lame's ath that would be there if the file was normalized first? Once lost, MP3Gain cannot restore this data if it is gone to begin with.

In other words, if the wave is gained first by normalizing ( I know this is lossy) does not more info fall above Lame's ath and get encoded appropriately?

Any input appreciated

You may have point here. If the overall album volume is unusually low then MP3 encoder in VBR mode would handle the complete album as if it were a very quiet part of a usual track and possibly reduce the bitrate and perhaps adjust other encoding parameters too.

Actually, I have noticed that happening when I have used the --scale switch for avoiding MP3 decoder clipping. The scaled mp3 files had a bit lower bitrate than unscaled. Another thing is if the different encoding result is audibly different.

However, the White Album is not a very good example. At least my copy seems to be about optimal without any volume changes. The album volume cannot be significantly increased without making the loudest tracks to clip.

Here is fb2k's properties info of the two tracks that have the lowest and highest peaks:

Lowest peak
CODE
File Name : CD1 - 17 - Julia.apl
File Path : D:\Rip\White Album\CD1 - 17 - Julia.apl
Subsong Index : 0
File Size : 878 bytes
Last Modified : 2005-05-04 20:33:32
Duration : 2:54.200 (7682220 samples)
Sample Rate : 44100 Hz
Channels : 2
Bits Per Sample : 16
Bitrate : 729 kbps
Codec : Monkey's Audio
Codec Profile : Monkey's Audio High
Encoding : lossless
Tag Type : apev2
Embedded Cuesheet : no
Audio MD5 : 143F054A3AD364CEBCB0EBA7ED29FDA6
Track Gain : +7.22 dB
Track Peak : 0.363892
Album Gain : -3.20 dB
Album Peak : 0.973022
<FLAGS> : 32
<REFERENCED_FILE> : The Beatles - White Album - CD1.ape
<VERSION> : 3.99

Highest peak
CODE
File Name : CD1 - 05 - Wild Honey Pie.apl
File Path : D:\Rip\White Album\CD1 - 05 - Wild Honey Pie.apl
Subsong Index : 0
File Size : 884 bytes
Last Modified : 2005-05-04 23:33:32
Duration : 0:52.907 (2333184 samples)
Sample Rate : 44100 Hz
Channels : 2
Bits Per Sample : 16
Bitrate : 729 kbps
Codec : Monkey's Audio
Codec Profile : Monkey's Audio High
Encoding : lossless
Tag Type : apev2
Embedded Cuesheet : no
Audio MD5 : 143F054A3AD364CEBCB0EBA7ED29FDA6
Track Gain : -4.03 dB
Track Peak : 0.973022
Album Gain : -3.20 dB
Album Peak : 0.973022
<FLAGS> : 32
<REFERENCED_FILE> : The Beatles - White Album - CD1.ape
<VERSION> : 3.99

Track Peak / Replay Gain
"Julia" 0.364 / +7.22 dB
"Wild Honey Pie" 0.973 / -4.03 dB

"Wild Honey Pie" is intended to be loud and "Julia" quiet.
kennedyb4
@ AlexB

Thanks. My White album is all over the place, many tracks are 0db gain required, several 4.5 and two 6db.

This may be an issue for sure. I would gladly normalize or WavGain if it is better, encode to MP3 then reduce to previous levels.

I understand that in the context of an album that the artist may purposely reduce the volume of some tracks for artistic emphasis, but I rarely listen to a full album, in favour of random tracks, hence the adjust to max no clip.

But I think these low level tracks are missing out in the encoding process.
Alex B
I made a little test. I encoded two files with LAME 3.97 @ -V2 --vbr-new

Encoded with fb2k's Track Gain, Preamp +5 dB, Clipping prevention, 24-bit output to the encoder
(this is practically the same as the source file would have been wave gained to max peak):

CODE
File Name : Julia max.mp3
File Path : D:\Rip\gaintest\Julia max.mp3
Subsong Index : 0
File Size : 3 811 541 bytes
Last Modified : 2006-10-08 00:07:52
Duration : 2:54.200 (7682220 samples)
Sample Rate : 44100 Hz
Channels : 2
Bitrate : 175 kbps
Codec : MP3
Codec Profile : MP3 VBR V2
Encoding : lossy
Tool : LAME3.97
Tag Type : id3v2|id3v1
Track Gain : -1.57 dB
Track Peak : 1.002913
<ENC_DELAY> : 576
<ENC_PADDING> : 2196
<MP3_ACCURATE_LENGTH> : yes
<MP3_STEREO_MODE> : joint stereo


Encoded without replay gain:

CODE
File Name : Julia.mp3
File Path : D:\Rip\gaintest\Julia.mp3
Subsong Index : 0
File Size : 3 807 037 bytes
Last Modified : 2006-10-08 00:07:52
Duration : 2:54.200 (7682220 samples)
Sample Rate : 44100 Hz
Channels : 2
Bitrate : 175 kbps
Codec : MP3
Codec Profile : MP3 VBR V2
Encoding : lossy
Tool : LAME3.97
Tag Type : id3v2|id3v1
Track Gain : +7.20 dB
Track Peak : 0.362403
<ENC_DELAY> : 576
<ENC_PADDING> : 2196
<MP3_ACCURATE_LENGTH> : yes
<MP3_STEREO_MODE> : joint stereo


Suprisingly both files have the same bitrate. I tried to ABX the files with foobar, but couldn't make any differance.

Based on this I would assume that a 8.77 dB volume level drop in otherwise practically identical source files is not enough to make LAME degrade the perceived quality when the MP3 files are levelled back to the same volume during playback. (Naturally I used replay gain when I tried to ABX the files.)


EDIT

However, the files are not identical. EncSpot Pro found slight differences:

Julia max.mp3
CODE
Bitrates:
----------------------------------------------------
32 0.5%
128 0.6%
160 |||||||||||||||||||||||||||||||||||||||| 51.9%
192 |||||||||||||||||||||||||||||||||| 44.5%
224 | 2.2%
256 0.1%
320 0.0%
----------------------------------------------------

Type : mpeg 1 layer III
Bitrate : 174
Mode : joint stereo
Frequency : 44100 Hz
Frames : 6672
ID3v2 Size : 2534
First Frame Pos : 2534
Length : 00:02:54
Max. Reservoir : 511
Av. Reservoir : 61
Emphasis : none
Scalefac : 0.1%
Bad Last Frame : no
Encoder : Lame 3.97

Lame Header:

Quality : 77
Version String : Lame 3.97
Tag Revision : 0
VBR Method : vbr-mtrh
Lowpass Filter : 18600
Psycho-acoustic Model : nspsytune
Safe Joint Stereo : yes
nogap (continued) : no
nogap (continuation) : no
ATH Type : 4
ABR Bitrate : 32
Noise Shaping : 1
Stereo Mode : Joint Stereo
Unwise Settings Used : no
Input Frequency : 44.1kHz

Julia.mp3
CODE
Bitrates:
----------------------------------------------------
32 0.5%
56 0.0%
64 0.0%
80 0.1%
96 0.0%
112 0.1%
128 0.6%
160 |||||||||||||||||||||||||||||||||||||||| 52.1%
192 ||||||||||||||||||||||||||||||||| 44.0%
224 | 2.4%
256 0.2%
320 0.0%
----------------------------------------------------

Type : mpeg 1 layer III
Bitrate : 174
Mode : joint stereo
Frequency : 44100 Hz
Frames : 6672
ID3v2 Size : 2534
First Frame Pos : 2534
Length : 00:02:54
Max. Reservoir : 511
Av. Reservoir : 62
Emphasis : none
Scalefac : 0.1%
Bad Last Frame : no
Encoder : Lame 3.97
Lame Header:

Quality : 77
Version String : Lame 3.97
Tag Revision : 0
VBR Method : vbr-mtrh
Lowpass Filter : 18600
Psycho-acoustic Model : nspsytune
Safe Joint Stereo : yes
nogap (continued) : no
nogap (continuation) : no
ATH Type : 4
ABR Bitrate : 32
Noise Shaping : 1
Stereo Mode : Joint Stereo
Unwise Settings Used : no
Input Frequency : 44.1kHz
kennedyb4
Subtle differences at best. Would you mind repeating this with lowpass 20? The percentage of short blocks may also change.
Alex B
I tried, but this quiet track contains very little audio data at higher frequencies (over about 10-12 kHz). It has only voice and gently played acoustic guitar. The differences are once again minor.

Perhaps you should test these things by yourself and report if you can find an ABXable sample. I suppose I could make such a sample with a wave editor, but that would not represent a real-life situation.

Julia Max -V2 --vbr-new
CODE
D:\Rip\gaintest>lame "julia max.wav" -V2 --vbr-new
LAME 3.97 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 18671 Hz - 19205 Hz
Encoding Julia max.wav to Julia max.wav.mp3
Encoding as 44.1 kHz VBR(q=2) j-stereo MPEG-1 Layer III (ca. 7.3x) qval=3
Frame | CPU time/estim | REAL time/estim | play/CPU | ETA
6671/6671 (100%)| 0:11/ 0:11| 0:11/ 0:11| 15.469x| 0:00
32 [ 33] %
40 [ 0]
48 [ 0]
56 [ 0]
64 [ 0]
80 [ 0]
96 [ 0]
112 [ 0]
128 [ 39] *
160 [3488] %%%*****************************************************************
192 [2962] %%%%%%****************************************************
224 [ 137] %**
256 [ 9] %
320 [ 3] %
-------------------------------------------------------------------------------
kbps LR MS % long switch short %
174.9 6.5 93.5 99.3 0.4 0.3
Writing LAME Tag...done
ReplayGain: -1.6dB

Julia Max -V2 --vbr-new --lowpass 20
CODE
D:\Rip\gaintest>lame "julia max.wav" -V2 --vbr-new --lowpass 20
LAME 3.97 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 20094 Hz - 20627 Hz
Encoding Julia max.wav to Julia max.wav.mp3
Encoding as 44.1 kHz VBR(q=2) j-stereo MPEG-1 Layer III (ca. 7.3x) qval=3
Frame | CPU time/estim | REAL time/estim | play/CPU | ETA
6671/6671 (100%)| 0:11/ 0:11| 0:11/ 0:11| 15.447x| 0:00
32 [ 33] %
40 [ 0]
48 [ 0]
56 [ 0]
64 [ 0]
80 [ 0]
96 [ 0]
112 [ 0]
128 [ 34] *
160 [3484] %%%*****************************************************************
192 [2955] %%%%%%****************************************************
224 [ 154] %***
256 [ 8] %
320 [ 3] %
-------------------------------------------------------------------------------
kbps LR MS % long switch short %
175.0 6.5 93.5 99.3 0.4 0.3
Writing LAME Tag...done
ReplayGain: -1.6dB

Julia -V2 --vbr-new
CODE
D:\Rip\gaintest>lame julia.wav -V2 --vbr-new
LAME 3.97 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 18671 Hz - 19205 Hz
Encoding Julia.wav to Julia.wav.mp3
Encoding as 44.1 kHz VBR(q=2) j-stereo MPEG-1 Layer III (ca. 7.3x) qval=3
Frame | CPU time/estim | REAL time/estim | play/CPU | ETA
6671/6671 (100%)| 0:11/ 0:11| 0:11/ 0:11| 15.427x| 0:00
32 [ 33] %
40 [ 0]
48 [ 0]
56 [ 1] *
64 [ 3] %
80 [ 6] %
96 [ 1] *
112 [ 4] *
128 [ 42] *
160 [3480] %%%*****************************************************************
192 [2941] %%%%%%****************************************************
224 [ 149] %**
256 [ 10] %
320 [ 1] %
-------------------------------------------------------------------------------
kbps LR MS % long switch short %
174.7 6.5 93.5 99.3 0.4 0.3
Writing LAME Tag...done
ReplayGain: +7.2dB

Julia -V2 --vbr-new --lowpass 20
CODE
D:\Rip\gaintest>lame julia.wav -V2 --vbr-new --lowpass 20
LAME 3.97 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 20094 Hz - 20627 Hz
Encoding Julia.wav to Julia.wav.mp3
Encoding as 44.1 kHz VBR(q=2) j-stereo MPEG-1 Layer III (ca. 7.3x) qval=3
Frame | CPU time/estim | REAL time/estim | play/CPU | ETA
6671/6671 (100%)| 0:11/ 0:11| 0:11/ 0:11| 15.383x| 0:00
32 [ 33] %
40 [ 0]
48 [ 0]
56 [ 1] *
64 [ 3] %
80 [ 6] %
96 [ 1] *
112 [ 5] *
128 [ 37] *
160 [3451] %%%*****************************************************************
192 [2975] %%%%%%*****************************************************
224 [ 152] %**
256 [ 4] %
320 [ 3] %
-------------------------------------------------------------------------------
kbps LR MS % long switch short %
174.9 6.5 93.5 99.3 0.4 0.3
Writing LAME Tag...done
ReplayGain: +7.2dB


Edit: typo
kennedyb4
Thanks for you help and interest. The differences are definitely marginal on that track.

As far as me abx'ing stuff, I have tried it and can only hear obvious stuff like Blade at 128 etc.

Thanks again for your interest.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.