Help - Search - Members - Calendar
Full Version: LAME 3.96.1 larger files at top VBR settings
Hydrogenaudio Forums > Lossy Audio Compression > MP3 > MP3 - Tech
Ephebus
For a few years I've been encoding my files using CDEx v1.51 as a frontend for LAME 3.92. I know that most of you advocate using the presets, but I stick to the following settings for LAME, no matter if they are overkill or take longer to encode (and will continue to do so):

user posted image

Those are the only settings that give me a quality index of 100 in EncSpot Pro. No preset setting gives me that.

My question is: I've just replaced the 3.92 DLL in CDEx by the 3.96.1 DLL, and when reencoding some files I was surprised to notice that the average bitrate had increased by about 50 Kbps in most of them compared to the 3.92 encoded version with the exact same settings. I'm leaving audio quality perception issues aside here, I just want to know the technical reasons why the average bitrate increased.

The other changes reported by EncSpot were:

LAME 3.92: lowpass filter=20600, psycho-acoustic model=gpsycho, safe joint stereo=no

LAME 3.96.1: lowpass filter=19500, psycho-acoustic model=nspsytune, safe joint stereo=yes

I didn't see a LAME switch (in the docs) for changing the joint stereo mode to safe. Is this a post-3.92 default feature, and maybe the responsible for the higher average bitrate?
sTisTi
QUOTE(Ephebus @ May 30 2005, 05:10 AM)

Those are the only settings that give me a quality index of 100 in EncSpot Pro. No preset setting gives me that.
*


The EncSpot quality index is meaningless, it does not tell you anything about how good your MP3 will sound. Lame 3.96.1 uses completely different tunings and internal settings than 3.92, so filesize will differ of course. BTW, q=0 has known bugs in 3.96.1, so you are advised to stick to the recommended q=3, which will be higher quality.
sTisTi
QUOTE(Ephebus @ May 30 2005, 05:10 AM)
Those are the only settings that give me a quality index of 100 in EncSpot Pro. No preset setting gives me that.
*


The settings you chose are equivalent to --preset fast extreme -q0, so you ARE using the presets. There are no non-preset settings from Lame 3.95.1 onwards, everything is internally mapped to them.
Gambit
QUOTE(Ephebus @ May 30 2005, 02:10 PM)
For a few years I've been encoding my files using CDEx v1.51 as a frontend for LAME 3.92. I know that most of you advocate using the presets, but I stick to the following settings for LAME, no matter if they are overkill or take longer to encode (and will continue to do so):
*


Ignorance is a bliss.
Ephebus
QUOTE(sTisTi @ May 30 2005, 10:30 AM)
QUOTE(Ephebus @ May 30 2005, 05:10 AM)
Those are the only settings that give me a quality index of 100 in EncSpot Pro. No preset setting gives me that.
*


The settings you chose are equivalent to --preset fast extreme -q0, so you ARE using the presets. There are no non-preset settings from Lame 3.95.1 onwards, everything is internally mapped to them.
*



Just tried that. The average bitrate did remain the same, but the average reservoir increased to 89 (maybe because of the lower limit being raised from my 32 value to 128 by the preset?), and the EncSpot quality index interestingly dropped to 97 tongue.gif. In CDEx the presets and the q value setting are mutually exclusive, as they are set by the same drop-down menu. Selecting the --preset fast extreme option also caused CDEx to set the V value to 2.

Now if everything is internally mapped now, passing parameters such as -b for VBR lower bitrate limit is ignored by the codec?
Ephebus
QUOTE(Gambit @ May 30 2005, 10:37 AM)
Ignorance is a bliss.
*


Very helpful comment indeed biggrin.gif .
sTisTi
QUOTE(Ephebus @ May 30 2005, 05:47 AM)
Now if everything is internally mapped now, passing parameters such as -b for VBR lower bitrate limit is ignored by the codec?
*


AFAIK, it depends which parameter (some are ignored entirely) and sometimes in which order it is sent to the encoder. So,
-b 32 -V0
may be different than
-V0 -b32
I think in the first case the -b32 is ignored, but not in the second. Since you use a frontend and not command line, you never know how CDex sends the settings to the Lame.dll
Ephebus
QUOTE(sTisTi @ May 30 2005, 11:01 AM)
AFAIK, it depends which parameter (some are ignored entirely) and sometimes in which order it is sent to the encoder. So,
-b 32 -V0
may be different than
-V0 -b32
I think in the first case the -b32 is ignored, but not in the second. Since you use a frontend and not command line, you never know how CDex sends the settings to the Lame.dll
*



Just tried that one via the command line, -b32 was taken into consideration by the codec in both cases.
sTisTi
QUOTE(Ephebus @ May 30 2005, 06:39 AM)
Just tried that one via the command line, -b32 was taken into consideration by the codec in both cases.
*


I see, I just remember Gabriel (the LAME developer) stating in another thread that some arguments are overridden if the --preset or -V command come after them, but not vice versa. I can't remember which options he had in mind, maybe the -q setting? Anyway, as everybody here will tell you, you are better off just using the plain --preset or -V modes without additional switches wink.gif
Gabriel
--preset xx is overriding previous arguments
jaybeee
QUOTE(Ephebus @ May 30 2005, 02:51 PM)
QUOTE(Gambit @ May 30 2005, 02:37 PM)

QUOTE(Ephebus @ May 30 2005, 02:10 PM)
For a few years I've been encoding my files using CDEx v1.51 as a frontend for LAME 3.92. I know that most of you advocate using the presets, but I stick to the following settings for LAME, no matter if they are overkill or take longer to encode (and will continue to do so):
*


Ignorance is a bliss.
*


Very helpful comment indeed biggrin.gif .
*


Then help yourself by taking the excellent advice and knowledge given to you by HA.org and it's members; such as those "crazy" LAME preset things (or better still the -V settings: see here).
Ephebus
QUOTE(jaybeee @ May 30 2005, 02:26 PM)
Then help yourself by taking the excellent advice and knowledge given to you by HA.org and it's members; such as those "crazy" LAME preset things (or better still the -V settings: see here).
*



If anybody else has comments specifically about the questions I mentioned in my posts, I will be happy to read them.
neutral_00
Calm down dears tongue.gif

In cdex (if I can remember correct, which is seldom the case) there is a setting to do with external encoders. Use lame as an external encoder and cdex will stop messing with the settings.

(Going out on a lim) I think Lame 3.93.x and onwards save the settings in the lame tag differantly it some differantly in encspot.

beto
QUOTE(Ephebus @ May 30 2005, 10:10 AM)
For a few years I've been encoding my files using CDEx v1.51 as a frontend for LAME 3.92. I know that most of you advocate using the presets, but I stick to the following settings for LAME, no matter if they are overkill or take longer to encode (and will continue to do so):

user posted image

Those are the only settings that give me a quality index of 100 in EncSpot Pro. No preset setting gives me that.

My question is: I've just replaced the 3.92 DLL in CDEx by the 3.96.1 DLL, and when reencoding some files I was surprised to notice that the average bitrate increased by about 50 Kbps in most of them compared to the 3.92 encoded version with the exact same settings. Is this because of the new Huffmann technique used for q=0? I'm leaving audio quality perception issues aside here, I just want to know the technical reasons why the average bitrate increased.

The other changes reported by EncSpot Pro were:

LAME 3.92: average reservoir=71, lowpass filter=20600, psycho-acoustic model=gpsycho, safe joint stereo=no

LAME 3.96.1: average reservoir=76, lowpass filter=19500,  psycho-acoustic model=nspsytune, safe joint stereo=yes

I didn't see a LAME switch (in the docs) for changing the joint stereo mode to safe. Is this a post-3.92 default feature, and maybe the responsible for the higher average bitrate?
*



They increased because 3.96.1 has different tunings compared to 3.92. Did you notice any quality compromise between 3.96.1 and 3.92? Don't pay much attention to what Encspot throws back at you, instead pay attention to what your ears tell you.

Your attitude is not helping either. The problem is that your comments show that you really don't have a clue about LAME internals, otherwise you would not use the settings you are using with LAME 3.92. You think that your custom settings are *the best* but in fact you are probably just hurting the quality of your MP3 files. Apparently you are not willing to change your mind, even when more experienced people reply to you.

Here is my advice, and don't take it personally: when people tell you that --preset standard/extreme/insane is better than your custom setting, believe them because presets were tested. If you don't want to believe, just use your super-ultra custom setting and stop wasting people's time.
Ephebus
QUOTE(beto @ May 30 2005, 03:46 PM)
They increased because 3.96.1 has different tunings compared to 3.92. Did you notice any quality compromise between 3.96.1 and 3.92? Don't pay much attention to what Encspot throws back at you, instead pay attention to what your ears tell you.


As I said before, it's not my intention here to discuss the perceived audio quality of the files. I just wanted some plain and precise answers about the increased average bitrate. I'm not even complaining about the larger file sizes, I just wanted to understand the changes.

QUOTE(beto @ May 30 2005, 03:46 PM)
Your attitude is not helping either. The problem is that your comments show that you really don't have a clue about LAME internals, otherwise you would not use the settings you are using with LAME 3.92. You think that your custom settings are *the best* but in fact you are probably just hurting the quality of your MP3 files. Apparently you are not willing to change your mind, even when more experienced people reply to you.
(...)
If you don't want to believe, just use your super-ultra custom setting and stop wasting people's time.


There's a huge number of threads here with suggestions to use the presets, and I've read many of them. If I wanted to be advised to use presets, I would not have created a new topic. And I'm not wasting the time of any of these people - they are doing it themselves by posting about what I said I wasn't interested in. I won't comment on this again.
Polar
QUOTE(Ephebus @ May 30 2005, 13:10 UTC)
For a few years I've been encoding my files using CDEx v1.51 as a frontend for LAME 3.92. I know that most of you advocate using the presets, but I stick to the following settings for LAME, no matter if they are overkill or take longer to encode (and will continue to do so):

(59 kB image)
*
BTW, and rather off topic too, you could easily bring down that 59 kiB JPEG to a 5 kiB (4 colours) PNG. Not only will the latter load 11 times faster than the former - something dial-up users will always be grateful for -, but it'll save you several 10s of megs on your own website's monthly traffic as well.
Jebus
just an FYI, that encspot quality rating is actually part of the Xing header specifications. Since it is mandatory, Lame uses it thusly:

http://gabriel.mp3-tech.org/mp3infotag.html#quality

So basically you have to use -q0 and -V0 to get 100, but you could do something retarded like -q0 -V0 -B32 --disable-ath or whatever and it would still register 100 smile.gif

HARDLY intended as a meaure of quality, but rather a quick single-byte way of encoding the -q and -V values used. Nothing more. Not the kind of thing one would form a religion around, in any case.
Ephebus
QUOTE(Jebus @ May 30 2005, 05:50 PM)
So basically you have to use -q0 and -V0 to get 100, but you could do something retarded like -q0 -V0 -B32 --disable-ath or whatever and it would still register 100 smile.gif
*



Very interesting. Do you know anything about that safe joint stereo indicator?
Jebus
Another thing about that quality index... q3 in 3.95+ is the same as q2 in lower versions (because they added a new q0 above the old one). So lame --preset standard used to be qval=78 and is now 77. But the presets have (generally speaking) improved quite a bit recently! Just another example of why this isn't an indication of quality at all, but just a way of storing encoder flags.
Gabriel
To reduce bitrate, you can simply use a different -V x setting.
Ephebus
QUOTE(Jebus @ May 30 2005, 06:16 PM)
Another thing about that quality index... q3 in 3.95+ is the same as q2 in lower versions (because they added a new q0 above the old one).
*



I guess that must be main reason for the higher bitrate with q0 in 3.96.1. Great info, thanks.
sTisTi
QUOTE(Ephebus @ May 31 2005, 12:02 AM)
QUOTE(Jebus @ May 30 2005, 06:16 PM)
Another thing about that quality index... q3 in 3.95+ is the same as q2 in lower versions (because they added a new q0 above the old one).
*



I guess that must be main reason for the higher bitrate with q0 in 3.96.1. Great info, thanks.
*


No, you can try with q=3, the size will be about the same. Please keep in mind that q=0 has quality issues with Lame 3.96.1 (i.e. worse quality than the default q=3). This has been corrected only in Lame 3.97 alpha. The size difference is because of completely new tunings and a different psymodel (nspsytune). V0 in 3.96.1 has nothing to do with V0 in 3.92, because the V settings are just ways of using different "preset" settings now.
Ephebus
QUOTE(sTisTi @ May 31 2005, 10:45 AM)
No, you can try with q=3, the size will be about the same.
*



I've just run some tests and you're right. The average bitrate was practically the same with q0, q2 and q3. And the codec didn't ignore the q parameter, as it always displayed the value I passed (as qval=x).

Do you know if that "safe joint stereo" indicator in EncSpot is valid? It shows "no" for 3.92 and 3.93.1 files, and "yes" for 3.96.1 files.
sTisTi
QUOTE(Ephebus @ May 31 2005, 06:13 AM)
Do you know if that "safe joint stereo" indicator in EncSpot is valid? It shows "no" for 3.92 and 3.93.1 files, and "yes" for 3.96.1 files.
*


Yes, it's valid and connected to the preset tunings. If you use 3.92 with --alt-preset standard, it will also have "safe joint stereo"
Ephebus
In case anyone is interested: I've reencoded with LAME 3.97 alpha 10 (and my afore mentioned demented custom settings) the same group of test files that had resulted in MP3's with average bitrates approximately 50 Kbps higher with LAME 3.96.1 as compared to LAME 3.92, and the increase in average bitrate using 3.97 a10 has dropped to about 30 Kbps.
Jebus
I've noticed that most albums encoded in --preset standard at least are smaller with 3.96.1 over 3.90.3, but a few (anything by The Cure, for some reason) get WAY bigger.
Ephebus
QUOTE(Jebus @ Jun 1 2005, 11:08 PM)
I've noticed that most albums encoded in --preset standard at least are smaller with 3.96.1 over 3.90.3, but a few (anything by The Cure, for some reason) get WAY bigger.
*



Yes, and I guess I'll eventually find something that gets smaller with 3.96.1 too.

By the way, I just wanted to make it clear to Gabriel and the other LAME developers that this thread was never intended to complain about the larger files I got, or to criticize version 3.96.1 for that, much on the opposite. I started this topic out of sheer curiosity, really.
Jebus
Yeah, and my ears aren't good enough to decide if The Cure's songs actually warrant the extra bandwidth, which may very well be the case.
Parato Optimal
QUOTE(neutral_00 @ May 30 2005, 12:39 PM)
Calm down dears  tongue.gif

In cdex (if I can remember correct, which is seldom the case) there is a setting to do with external encoders. Use lame as an external encoder and cdex will stop messing with the settings.

(Going out on a lim) I think Lame 3.93.x and onwards save the settings in the lame tag differantly it some differantly in encspot.
*




I've been unable to get CDex to work with Lame 3.96.1 or 3.97 Alpha as an external encoder. They both work as INTERNAL encoders when their respective lame_enc.dll file is placed in the CDex folder.
ChiGung
QUOTE(Parato Optimal @ Jun 6 2005, 11:50 PM)
I've been unable to get CDex to work with Lame 3.96.1 or 3.97 Alpha as an external encoder.  They both work as INTERNAL encoders when their respective lame_enc.dll file is placed in the CDex folder.
*



I had trouble myself, but to get it to work i used this in the parameter box,
--preset fast standard %1 %2

took me a while to realise you dont need to pass the tag parameters or %3
Parato Optimal
I used
--alt preset insane
with no "%" commands for Lame as an external encoder and it failed
ChiGung
use --preset insane %1 %2 then or
--alt-preset insane %1 %2 for 3.90.3

It subsitutes %1 and %2 for the file names of whatever is 'in.wav' and 'out.mp3'

My bad - shouldve posted this in your new thread instead of cluttering this old one
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.