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: --gglower vs. --scale controversy revisited (Read 6479 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

--gglower vs. --scale controversy revisited

Recently HansHeijden attempted to add a new switch to lame:
--gglower

This switch modifies the global_gain just like mp3gain can. 
Hans felt this would be a more convenient way to prevent clipping, and that it should be better quality-wize than --scale.

Sound like a great idea, especially for people like me, who use mp3trim pro to do this anyway... ff123 agrees...

So, Robert Hegemann cleaned up Hans' code, and Dmitry compiled it.

Then Mark Taylor intervened:

"Reverted CVS back to before "gglower" option was added.
--scale is a better way to do this, and contrary to Hans' claims,
--scale is also lossless."


Hans seemed unsurprised by Mark's intervention:

"If I remember Mark, he'll probably fight integration of any utility-like stuff, like mp3gain, and leave it to the 'outside world' to integrate these into something user-friendly"

-------------------------------------------------------------

All of this brings up two issues worthy of discussion...

1. The Current Status of the Developers/Users relationship

Dibrom has spoken about certain problems with this, and others have commented on this with the "fork lame" post...

I don't see why Mark would want to take away another useful option from the users... --gglower would be a very useful switch.

It would be great if Hans/Robert could give the code over to Dibrom for compile in lame_dm_rev7.zip, if Dibrom feels this is worthwhile--though I do believe he advocates mp3 gain (which is what --gglower is all about) over --scale.

And this brings us to our second issue:

2. Would --gglower be superior quality-wize over --scale?

Note Mark Taylor wrote:
"Reverted CVS back to before "gglower" option was added.
--scale is a better way to do this, and contrary to Hans' claims,
--scale is also lossless."


That mp3gain/--gglower is lossless is beyond question.

However, I believe Dibrom said that --scale does affect VBR and both lessens filesize (kbps) and quality slightly so it is not lossless.  Who is correct?

Hans has commented on this and he seems to believe that many have misunderstood how --scale works

"I DID think --scale was about the first process applied to the input data! If in reality it's applied to float values then the difference is not worth talking about..."

Hans continues:
"I bet there's a widespread misconception about this. A single additional line in --scale's explanation would do.
Only difference left with scale then would be, that scale alters the level towards ATH (resulting in lower bitrate with VBR). But then again, with the relative small 1.5 dB difference, probably not worth talking about."


Is that true?, that the difference would not be worth talking about?

Perhaps --scale is not technically lossless, but rather so slightly lossless it is negligible. 

In fact --scale .96, if it does eliminate clipping, may be superior to --gglower 1 (-1.5 decibels, roughly equivalent to --scale 0.841) since the resulting mp3 will be much louder than if --gglower were used and hence should sound better on hardware players...

I find that when I use mp3gain to lower all my mp3 files by 1.5 decibels that I have to raise the volume on my car mp3 player to compensate (to achieve the sound volume level i want), and this seems to add more hiss to the overall sound since the amplification is now analog...  So maybe --scale .96 would be better? 

Any comments on this analog amplification issue?

For more information on this see this post:
http://66.96.216.160/cgi-bin/YaBB.pl?board...&num=1006197504

--gglower vs. --scale controversy revisited

Reply #1
Adjusting global gain to lower volume decreases SNR. Signal amplitude will be lower, but quantization noise will of course remain the same (quantization noise=original-encoded before gg adjustment). This could lead in principle to the situation where quantization noise is more audible. So in this regard it's not "lossless", but it is reversible, so in a way it is...

With lowering the volume by scaling the input floating point presentation with --scale shouldn't in principle lead to quality drop especially if you use vbr and adaptive ath. The quality (audible quantization noise) should in principle be the same as without the use of --scale. Scale is however not reversible process, so in this regard it can't be considered lossless.

The practise is always a bit different than principle.

Anyway, the gglower switch would be just fine addition in my opinion.

[Edit.] Hmm, not sure if it can be said exactly that quantization noise remains the same with gg gain adjustement, because it's related to signal amplitude which is changed (if we define quantization noise as original-encoded) . So in this case quantization noise is actually increasing, not remaining the same. Anyway the point is that the error original-encoded with lowered gg is bigger than with original-encoded. And Signal-to-Noise ratio (SNR) will be lower.
Juha Laaksonheimo

--gglower vs. --scale controversy revisited

Reply #2
Hmmm...

Well it seems to me then, that --scale .96 is better then. [Edit - I'm now advocating .94]

I've done some tests that seem to show that  --scale .94 does prevent clipping, and since it allows for a higher SNR ratio this does seem like the overall better solution provided, of course, one never needs to reverse the --scale modification...

Still I think lame users should have a choice, and since Hans and Robert have the finished code it seems such a waste not to include it in Lame....

Hopefully Dibrom will consider adding the --gglower code to his compiles...

--gglower vs. --scale controversy revisited

Reply #3
Nice to see a little discussion started about this, after all!

See also
http://www.geocrawler.com/lists/3/SourceFo...7323/0/7119001/

I fully agree with Mark that, knowing --scale is applied to float values, there is no reason to keep --gglower. I should have checked that, somehow I took faulty posts in the past (claiming --scale rounds/truncates on the 16 bit level, thereby wasting the 16th bit) as a fact.

Compared with all the further 'tortures' applied doring encoding and decoding to this float input data (filtering, transforming), I'd think scaling is the least 'suspicious' to cause any harm. The rouding happens only once, and 'far away' from the 16 bit level that we started with in the first place.

Scaling down on the input makes the encoder think the loudness is less, and the ATH will be reached sooner. So also sooner, will decide not to encode some low level sound (background hiss for example). Thus it might sound worse in this respect. This simply means, that the used --scale needs to be considered with the rest of the encoder settings, particularly of the ATH.

So in the end, why want to be able to re-create a (more or less) clipping mp3, only for the sake of having the same volume as the original?

But indeed on the other hand, with too much scaling down, the noise floor comes closer. The best compromise for --scale also depends on the encoder setting, at lower bitrates there's more overshoot, requiring a lower scale. As is seen in Dibrom's CBR/ABR presets. For myself, with high bitrate mp3, I settle on 0.945, that is conveniently close both to a 31000 sample-value, and -0.5 dB.

The sourcecode around --gglower can be freely read on sourceforge. My guess is that Dibrom feels no need to use it, but we'll read that soon I guess!

Hans

--gglower vs. --scale controversy revisited

Reply #4
Well, there could be some special needs when you want to lower the volume temporarily, but still have the option in the future to reverse the process. That's why I don't see why --gglower had to be removed. Now you have to use 3rd. party software for that. Actually the switch for this purpose should be --ggadjust, not --gglower.

For clipping reduction you could use --scale, but it could be handy to have a switch for reversible volume adjustment for some needs.

For clipping reduction --scale is better.

Also one idea is to make the adaptive ath to directly compensate --scale's effect. This is not possible for cbr/abr though at the moment.
Juha Laaksonheimo

--gglower vs. --scale controversy revisited

Reply #5
Quote
I settle on 0.945


Hans, will --scale accept 3 decimal points?
--scale .945 is ok? or will it only take
2 decimal points: --scale .94 ???

This is also interesting because I was just doing some testing with --alt-preset normal, in_mad.dll, and Stratovarius' "Hunting High and Low" Track and --scale .94 seemed to be the best trade off for clipping prevention...

Quote
Well, there could be some special needs when you want to lower the volume temporarily,


I agree completely, the switch should be added for those who want this, and the new name is a good idea...

Quote
Also one idea is to make the adaptive ath to directly compensate --scale's effect.


Has this been implemented in VBR yet?

--gglower vs. --scale controversy revisited

Reply #6
Oh yeah... I just had another idea....

I have two copies of Rush's Moving pictures CD.

The first is the original cd, the second is the remastered cd.  The remaster is much louder.

Now could we make an "adaptive --scale switch"?

For example:
1. first lame.exe scans the whole file looking for  the peaks of volume.
2. If the peaks are under a certain threshold the --scale operations are not done even though they are in the command line...
3. If the peaks are over a certain threshold the --scale operations are done according the commandline e.g., --scale .94

This would mean that when --scale reduction is not needed because the .wav is not that loud the operations would not be performed...or in otherwords Tom sawyer original would not be lowered at all while Tom Sawyer remastered would be lowered....

comments?....

--gglower vs. --scale controversy revisited

Reply #7
Ok here is some statistical data, with, of course, some obvious and severe limitations (e.g., I only did a test on one song!!!)

Artist: Stratovarius
Song: Hunting High and Low
Album: Infinite

Lame: lame_dm_rev6
Line: --alt-preset normal --scale, etc....
Mp3trim Pro 1.75
Kbps stats: Lame encoder itself.
Clipping stats: MAD winamp plugin 1.4.2beta
using 16bit output with no attenuation.

The results are in the chart below:



Similar to Hans --scale .94 seems to be the best tradeoff--least clipped samples with better SNR than mp3gain....  A case can be made for --scale .92 too....

--gglower vs. --scale controversy revisited

Reply #8
RD,

Hey, that was one of Rush's best CD's!

I try to avoid the 'remastered' CD if possible, I suspect they are often only beefed up by compression, and leveling up of the highs... but that could be a matter of taste.

Sure Lame takes 3 decimal points for --scale.

Your proposal sounds nice, but I don't like that for an album, some files would get the scale, while some wouldn't. I'd rather settle for a well-known fixed --scale on all the tracks.

Hans

--gglower vs. --scale controversy revisited

Reply #9
Just read the stuff about "remastering" CD's... and I couldn't help myself... they only apply a noise gate and compress them like hell... well... what do I know.... :mad:

--gglower vs. --scale controversy revisited

Reply #10
Can we have a reality check here please...

Effect of scaling on perceived loudness

Reducing the level by 1 dB gives a "just audible" change in volume. If you're very very good you can maybe just detect a 0.75dB change (back to back). If the change is less than that, then you have no chance of ever detecting the change in level. for example, if I play you something, decrease the volume by 0.5dB, and play it to you again, you will never hear the difference.

1dB down = scale 0.8913
0.75dB down = scale 0.9173
0.49dB down = scale 0.954

etc.

So the change in volume produced by -scale 0.9 or above inaudible. Tweaking the -scale value to three decimal places is pointless!


Effect of scaling on signal to noise ratio

This depends on your equipment. In a very good system (24-bit DAC, everything better than 100dB SNR) even halving the volume (-6dB, scale 0.5) won't make an audible impact on the SNR. In a very bad system, if you're operating at the point where you just can't hear the hiss, then obviously increasing the volume any will make the hiss audible.

However - if you're music often clips, it's probably because it's been over compressed. And if it's been over compressed (most pop music has) then it has almost zero dynamic range. Imagine a scale, with 0 at the top, and -90 at the bottom. The top is digital full scale - we can't go above that. The bottom is the CD noise floor - we can't go below that. In the middle somewhere is the background noise from your listening environment, and the noise from your stereo. These may be at -50 and -70 (noisy environment, fair stereo) or -70 and -85 (quiet environment, decent stereo). BUT your music is right at the top - between 0 and -10 - it never goes lower, so you never get chance to hear the other sounds (noises) - apart from when the music stops. Now, if you scale 0.50, this reduces the loudness of the music by 6dB. So you turn the volume up, and this increases the noise of your stereo by 6dB too. But the music is still nearly at the top of the scale (because it's compressed to always be LOUD), and the stereo noise is still near the middle. It may be that you've increased the stereo noise above the background noise in your room - so what?! If the music is always drowning both of them out (apart from when it stops!) what's the problem?

If you have music without dynamic range compression, then you can't say that it always hides the system and background noise, becaue it won't. But it will also (almost) never clip.

In short: the effect of scaling on the signal to noise ratio doesn't matter unless:
a) your stereo is crap
and
b) you want silence between your music tracks
or
c) you listen to wide dynamic range stuff
but then
d) you don't need to use scale anyway

So in conclusion: 1.5dB reduction in SNR? Don't worry about it!


Effect of scaling upon encoding quality

It's suggested that if you reduce the level by 1dB (scale 0.89), then the encoding quality reduces, because some sounds now fall below lame's absolute threshold of hearing. This appears to be true, but if this is the only problem (which athadjust is supposed to fix, but apparently doesn't - I haven't tested this though - I'm just trusting what I've read) then the problem needs fixing properly. Let me explain why...

The Lame ath code is assuming that I'm playing back my material with the volume control set at some ideal setting. OK. What if I'm playing it back louder than that? then it's wrong. What if I'm playing it back quieter than that? then it's wrong. So, though an ath is needed (otherwise you encode things that no one, at any volume, will ever hear - effectively pushing VBR up to 320kbps all the time!), it mustn't be used in a way which is 100% critical. A reducing in level of 1dB shouldn't completely mess it up! Because you can change your volume controls by 10s of dBs.


I suspect that in reality it's not too bad, and it's working well except on a few samples which are pushing lame to the limit anyway. So maybe fixing ath and scale isn't the solution.




Finally having spent far too many lines explaining why scale shouldn't be a problem, I still think gglower was a great idea, and should be put back.

David.
P.S. don't get too hung up on the perfect value of scale for all clips - I can generate a sound that requires a scale of about 0.6 to encode without yielding clipping when decoded!

--gglower vs. --scale controversy revisited

Reply #11
A very interesting and passionate post indeed!

I wish someone could persuade Mark Taylor to let --gglower or --ggadjust back into lame... Hoepfully Dibrom will add it... 

So to summarize, it sound like you are more for the use of gglower in the end, rather than scale...

Btw, shouldn't these be the correct values:

1.5db down = scale 0.837 (or is it --scale 0.841?* *Hans)
1dB down = scale 0.8913
0.75dB down = scale 0.918
0.50dB down = scale 0.945

I just computed them based on your initial figure of
1dB down = scale 0.8913

But what forumla do you use...?

--gglower vs. --scale controversy revisited

Reply #12
Nah, that was just another typo by David

0.49 dB down = scale 0.945 (not 0.954)
Yes we're nitty-gritty in this thread!

These 3 decimal points are just 'in the name of science', to find out easier where and how much the samples are overshooting (in CoolEdit or mp3gain's max value, respectively...)

Recently I made some mp3 CDR's containing several albums. The mp3's were encoded without scale, then treated with mp3gain's 'album analyze'. Typically the loudest track would peak near 34500, so the whole compilation needed a -1.5 dB gain, making the loudest track peak at 29000. One dB loudness is wasted :crying:

If instead, I would have used a scale of 0.945 (-0.49 dB), that usually would be enough to keep the loudest track below 32768, mp3gain's -1.5 dB step wouldn't have been needed.

I need a break, right?

Hans

Edit:
RD, dB's are handy but 'inperfect', in the sense that for example, a voltage gain of 2 is    20 * 10log 2 = 6.0206 dB
That -1.5 dB is actually not accurate, just do twice square-root of 0.5 on your pocket calculator --> 0.841

--gglower vs. --scale controversy revisited

Reply #13
Quote
Originally posted by 2Bdecided
So in conclusion: 1.5dB reduction in SNR? Don't worry about it!
The SNR reduction worry I was talking about was from the signal-to-noise ratio resulting from the quantization. Not from the actual hardware like DAC, stereo or soundcard in general. I believe you, David, were only speaking about --scale. But for the clarity reasons i wrote the below text, because I brought the SNR reduction issue up, and I was talking about SNR reduction resulting from quantization and when the global gain is adjusted...

If you scale a mp3 down with global gain adjustment, you affect directly to the loudness of the frequencies meant to mask the quantization noise.
In frequency masking, loud frequencies mask the nearby freqs, so that lower quantization resolution can be used, and so that the quantization noise won't be audible. The whole idea of lossy compression is to introduce as much quantization noise as possible (by using as low quantization resolution as possible) so that it is still masked and inaudible. Psychoacoustics creates a masking threshold based on simultaneous masking (frequency masking), temporal masking and ath. If you after the encoding go to fork the actual signal levels meant to mask the quantization noise...

I haven't tested it but I suppose if you compensate this global gain adjusted (scaled lower even by 1.5dB) signal by turning the volume of your amplifier up (1.5dB) when playing the adjusted file, there could be more audible quantization noise than in the non-global gain adjusted mp3.

Using the --scale switch there's no problem with frequency masking, since the loudness approximations and all psychoacoustics are done from the scaled floating point input signals (According to Robert). Only problem quality wise may raise from the ath.
Juha Laaksonheimo

--gglower vs. --scale controversy revisited

Reply #14
Thanks JohnV - I now understand what you are saying.

What you are suggesting is incorrect.


When discussing SNR, I was talking about --scale and the global gain. Changing the global gain does not cause the problems you describe.

You suggest that gglower will reduce the level of the signal, but the quantisation noise introduced by the mp3 encoding process will remain at the same level. This is wrong. The quantisation noise was added to the signal by the encoder - and it cannot be separated. It is now a part of the signal. So when the signal is reduced in level, the quantisation noise is reduced with it. When we talk of the "signal" within an mp3 file, what we really mean is the "noisy signal" or "signal plus noise" - because that it was is stored within. gglower effects the level of the mp3 signal in each frame - i.e. the signal and the noise.

Do not confuse the quantisation inevitable with any digital system (at the 16th bit on a CD), and the quantisation within a lossy codecl. The former will add noise, but it's so quiet that it's not audible under most circumstances. The latter will add very loud noise, but it's added in masked spectral regions which cause it to be inaudible to human listeners.


Changing the global gain does not cause the signal to be re-quantised - the stored noisy quantised values remain the same, but they are reproduced at a lower level.
Consider a sine wave with sample values 0, 2100, 3050, 2100, 0, -2100, -3050, -2100, 0. This sine wave may be stored with quantised values of 0, 2, 3, 2, 0, -2, -3, -2, 0 and the frame may have a global gain of 1000. When decoded, this will give a signal 0, 2000, 3000, 2000, 0, -2000, -3000, -2000, 0. The difference between the input and the output is the mp3 quantisation. In this naff example, the change would be audible - but let's imagine this is a real codec, and the changes are inaudible.
Reducing the global gain to 500 (that's a -6dB change) causes the decoded signal to become 0, 1000, 1500, 1000, 0, -1000, -1500, -1000, 0. The stored signal is still a noisy sine wave, and the decoded signal is still a noisy sine wave too. The amount of noise stored with the sine wave is not changed relative to the level of the sine wave itself - both have been halved. There is no change in SNR.


That's probably the worst explanation I've ever given of anything in my whole life!!! I hope it made some sense.


Do you agree or disagree JohnV?

Cheers,
David.
http://www.David.Robinson.org/

P.S.
linear to dB:
twenty times the log to base 10 of the linear value
20*log(linear)

dB to linear:
ten to the power of (the dB value divided by 20)
10.^(dB/20)

It's not true that dB is an approximation. Saying that +6dB is equivalent to a factor of 2 is an approximation (since it's really 1.99526231496888, and 2 is really +6.02059991327962dB). But the real linear equivalent of a dB measurement can be calculated accurately to as many decimal places as you want!

--gglower vs. --scale controversy revisited

Reply #15
My little contribution to this thread:
Let's say you want to encode an early non-remastered Dire Strait cd. Those are very low in volume, and the dynamic is also low.
You'd like to have it sounding louder. Then you have 2 choices: global_gain or scaling.
With global gain adjustment the resulting mp3 will sound louder, but the psy model will consider the original low volume track, allowing big (but not great) masking because of the low volume (related to the ath level).
With scaling the resulting mp3 will also sound louder, but the psy model will this time consider the scaled track, and will do a better job.

This is clearly a case where --scale is better.

--gglower vs. --scale controversy revisited

Reply #16
Hmmm.... this is starting to get complicated again...

Well after this latest barrage of arguments it seems gglower/mp3gain is better overall if what David (2bDecided) said is correct.

The only exception would be for INCREASING volume a la Gabriel's point.

Why?, let me try to structure the final argument why gglower is better in a reducing volume/clipping prevention setting:

1. The mp3 is still loud! Reducing the level by 1 dB gives a "just audible" change in volume. Therefore a reduction of 1.5db is a very slight change for the listener...

2. Analog amplification will not matter The Quantisation noise added by any digital playback system will add noise, but it's so quiet that it's not audible under most circumstances.

3. SNR of noise encoded in the mp3 will be lowered too. gglower effects the level of the mp3 signal in each frame - i.e. the signal and the noise, Hence no new noise will be introduced....

4. It's reversible you can undo gglower but not scale. 

5. It's lossless, but scale is not  Scale alters the level towards ATH (resulting in lower bitrate with VBR). So scale is slightly lossy, though as Hans said:  But then again, with the relative small 1.5 dB difference, probably not worth talking about.

6. Eliminates clips better My little test shows that even --scale .90 will not elimnate all clips all of the time, but in the same situation gglower did eliminate all of them.

CONCLUSION:
Please someone (Gabriel? David? Dibrom?) convince Mark Taylor to allow gglower back into Lame...

--gglower vs. --scale controversy revisited

Reply #17
Quote
Originally posted by 2Bdecided Thanks JohnV - I now understand what you are saying.

What you are suggesting is incorrect.

You suggest that gglower will reduce the level of the signal, but the quantisation noise introduced by the mp3 encoding process will remain at the same level. This is wrong. The quantisation noise was added to the signal by the encoder - and it cannot be separated. It is now a part of the signal. So when the signal is reduced in level, the quantisation noise is reduced with it. 

Do you agree or disagree JohnV?


Well, I would say I agree and disagree, I fixed my opinion very soon in my first message regarding the quantization noise introduced by mp3 would remain the same, so this was not what I was suggesting. The thing I was suggesting is that audible quantization noise might be increased in some situations because psychoacoustics loudness approximations are not valid anymore. The louder the signal, the stronger the frequency masking capability.

Actually I don't know enough about frequency masking to say with 100% certainty if this is really what is happening. However I have a gut feeling that reducing the signal amplitude (and total quantization noise) by using global gain adjustment does not keep the masking levels exactly the same regarding audible quantization noise. Although total quantization noise can't be separated from the signal, some quantization noise previously masked by loud signal might become more audible, even though both signal amplitude and total quantization noise are lowered. In practise making the relative audible quantization noise louder, in other words lower the quality. The whole point of lossy encoding is to create masking threshold so that audible quantization noise is masked. Total quantization noise is not the issue here, because a codec can have lower total quantization noise, but higher audible quantization noise, correspondingly an advanced psycoacoustics can introduce higher total quantization noise (lower bitrate), but low audible quantization noise. Lossy encoding ain't perfect; there are always some audible quantization noise or the quantization noise can be very barely under masking threshold. What I'm suggesting is that lowering global gain affects to the masking trying to mask audible quantization noise.

I hope someone more knowledable about simultaneous masking could either confirm or deny this. And anyway, the simultaneous masking depends from many different factors, frequency distribution, loudness, spreading function, tonality estimations to name just few. You cannot use sinewave as an example here, because there are so many factors affecting to the masking threshold (tonality, spreading function, loudness approximations, ath, etc...)

Anyway would like to know what you think David.
Juha Laaksonheimo

--gglower vs. --scale controversy revisited

Reply #18
The global gain value for an mp3 frame affects the volume of all the audio within that frame.

Reducing the global gain value is equivalent to turning down the volume control briefly during that frame.
If you reduce all the global gain values by the same amount, then it's the same as turning down the volume control for the duration of the file.

If you turn the volume down on your stereo, does it destroy the masking calculations within an mp3 file? No! In the same way, reducing the global gain values does not change the masking calculations.

In truth, masking is level, frequency, and time dependent. The psychoacoustic model in a typical MPEG codec simplifies all these relationships, so they are not accurate.

The spectral masking of something at 80dB is not the same magnitude or shape as the masking of something at 60dB. But it's close. The psychoacoustic model only directs masking noise to the regions which will be masked at BOTH levels - because, depending on the position of your volume control, the sound could be reprocued at 60dB SPL, 80dB SPL, or 120dB SPL (your poor ears!). So hopefully changing the replay level doesn't mess things up.
So, since you CAN in practice change the position of your volume control without destroying the masking calculations, and because changing the global gain value is exactly the same as changing a (digital) volume control, it will not cause just audible or just inaudible quantisation noise to become (more) audible.

The quantisation noise at the 16th or 24th bits of the decoded signal is theoretically an issue. The quantisation noise stored within the mp3 file is not an issue.

There's a paper on psychoacoustics and masking on my web site - it's probably too simplified for this discussion, but it's got some nice graphs in it! take a look...

http://www.David.Robinson.org/papers/
Cheers,
David.



[Edit. sorry David, I actually answered into your message (pushed edit instead of quote, aargh), fortunately it was in my cache... Sorry I try to be more careful in the future. Sorry again.]

--gglower vs. --scale controversy revisited

Reply #19
Quote
Originally posted by 2Bdecided
If you reduce all the global gain values by the same amount, then it's the same as turning down the volume control for the duration of the file.


If you turn the volume down on your stereo, does it destroy the masking calculations within an mp3 file? No! In the same way, reducing the global gain values does not change the masking calculations.

Well actually adjusting the volume on stereo sure affects the audible quantization noise, or masking effect of the ear. This is very familiar for listening testers: sometimes you gotta use low volume to hear distortion, sometimes high volume.

Quote
In truth, masking is level, frequency, and time dependent. The psychoacoustic model in a typical MPEG codec simplifies all these relationships, so they are not accurate.
Masking is very much tonality dependent also (noisier signal has much higher masking effect than tonal signal has).
Juha Laaksonheimo

--gglower vs. --scale controversy revisited

Reply #20
JohnV and 2Bdecided:

I love both of you guys! 

But can we come to some consensus?

Maybe Gabriel can help out?

So far, from what I understand, I'm still sticking by the 6 points I gave above in favor of --gglower/--ggadjust

Can anybody end this controversy with some definitive knowledge?

--gglower vs. --scale controversy revisited

Reply #21
Yes, we can come to consensus. I started thinking this issue way too complicated. I was trying to exaggerate all possible deficiencies, just  to understand the real issue.

David, of course showed it's actually really simple.
Reducing GG does lower SNR ratio (not quantization related anymore), but it is insignificant with low dB drop.
It also affects masked sounds, but the effect is similar to just adjusting your volume in normal way (which should be obvious), so this point is trivial.
Juha Laaksonheimo