Help - Search - Members - Calendar
Full Version: Experimental Y parameter ?
Hydrogenaudio Forums > Lossy Audio Compression > MP3 > MP3 - General
uart
Hi, I've just found a customized lame_enc.dll that John33 made over at rarewares, it takes all its settings from an ini file and thus neatly solves the problem I was having with lack of encode options in CDex.

But now this leads to another question. This customized lame_enc.dll has the experimental Y parameter set by default for all quality settings lower than -V2. It can however be toggled on or off from this default state, but since I have no idea what it is or what it does I'm not sure whether to turn it off or leave the defaults as set by John33 in the associated ini file.

I looked up the --longhelp and found this :
" -Y lets LAME ignore noise in sfb21, like in CBR".

Ok that doesn't help me much because I don't know what "sfb21" is. Can anyone help me out here. Should I turn off the -Y switch or should I leave it on for all lower bit rate settings ?
LiTEMaTTeR
uart:

This thread here here addresses in more detail what -Y is all about.
uart
Thanks LiTEMaTTeR, yes that thread helped explain it.

Searching further I also see that this "-Y" switch is actually the current default for all preset quality settings lower than -V2 (preset standard). I had mistakenly believed that this was some kind of tweak used on the customized lame_enc.dll that is not present in the official version. Now however I see that this is simply as per the default behavior of the official lame vesion which is all I wanted. smile.gif
Jojo
QUOTE (uart @ Dec 31 2004, 05:59 AM)
I had mistakenly believed that this was some kind of tweak used on the customized lame_enc.dll that is not present in the official version.
*

when will people start to understand that there is no such thing...it is quite interesting that so many people think that after spending 20 minutes at the switches they'll find the *best* setting available which no one has ever discovered...I love my signature wink.gif
uart
QUOTE (Jojo @ Dec 31 2004, 06:14 AM)
QUOTE (uart @ Dec 31 2004, 05:59 AM)
I had mistakenly believed that this was some kind of tweak used on the customized lame_enc.dll that is not present in the official version.
*

when will people start to understand that there is no such thing...it is quite interesting that so many people think that after spending 20 minutes at the switches they'll find the *best* setting available which no one has ever discovered...I love my signature wink.gif
*


Well it was the fact that it was referred to as an experimental parameter that led me to think that it was some kind of tweak that was not present in the offical presets. All I actually wanted was to use the standard presets without any tweaking. smile.gif
Jojo
QUOTE (uart @ Dec 31 2004, 06:36 AM)
All I actually wanted was to use the standard presets without any tweaking. smile.gif
*

that's funny, because --preset standard is pretty much a series of tweaks (that can't be produced with any switches), but I know what you mean smile.gif
uart
QUOTE (Jojo @ Dec 31 2004, 07:06 AM)
QUOTE (uart @ Dec 31 2004, 06:36 AM)
All I actually wanted was to use the standard presets without any tweaking. smile.gif
*

that's funny, because --preset standard is pretty much a series of tweaks (that can't be produced with any switches), but I know what you mean smile.gif
*


Ok ok, then what i really meant was : All I actually wanted was to use the standard presets without any additional tweaking. biggrin.gif
uart
Hmm, looks like I spoke too soon about this customized lame_enc.dll using switches as per the standard presets. The -Y parameter was a red herring (it's set exactly the same as the standard lame versions preset), but there must be other settings that are different because this customized version produces considerably smaller file sizes?

I just encoded the same track, from the same wav file, and lame (3.96.1) produces a 160kbps file whereas this modifid version (supposedly also lame3.96.1) only produces a 138kbps file? Both encodes used "--preset medium" so I don't know why the big difference.

Does anyone here know what else was modified (apart from the ini file thing) in the modified lame_enc dll here : http://www.rarewares.org/files/mp3/lameDll3.96.1_MOD.zip
Jojo
have you tried to add the -Y switch to the original release? Maybe that's the problem...
uart
QUOTE (Jojo @ Jan 1 2005, 07:43 AM)
have you tried to add the -Y switch to the original release? Maybe that's the problem...
*


Yep I tried the -Y switch with the regular lame.exe and it still encode the file at 160kbps (lame --preset medium -Y ). Using the modified version linked above however I get approx 137kbps no matter how I try to set -Y.

I've tested that it's reading the ini file properly, if I change the -preset value in the ini file then it repsonds correctly with changing files sizes/kbps, but still always smaller files / lower kbps than the regular lame compile at the same preset level.

There must be other things changed in this compile but I dont know what they are. It does also include an optional "scale factor" to allow Lame the prescale the input using floating point precision, but I've got it set to a scale factor of 1.0 so that shouldn't do anything. Hopefully someone here knows something of the detail of this file and can let me know the secret.
LiTEMaTTeR
QUOTE
Yep I tried the -Y switch with the regular lame.exe and it still encode the file at 160kbps (lame --preset medium -Y ). Using the modified version linked above however I get approx 137kbps no matter how I try to set -Y.


Techncially, you do know that with APM the -Y switch sorta wont change much. I dont know where you read its default for any later compiles afaik its very optional. The user has to set it for it to be used. Its not a code level tweak automatic tweak with the presets (or their mappings) at all. So I dont think you need to worry about it.

QUOTE
Ok ok, then what i really meant was : All I actually wanted was to use the standard presets without any additional tweaking.


Jojo was right set aps (nothing more or less) and you will get what your asking for.\

The LAME above mentioned is a "special" compile that can be set to only encode in APS no matter what (sorta dummy proof). The sizes between 3.90 vs later compiles differ because its Dibrom's orginal preset code vs the Gaberial's rewrites. 9.93+ tend to give smaller files than the recommended 3.90.3.

Im not following what your trying to dotho. Im a bit confused. unsure.gif
uart
QUOTE
Im not following what your trying to dotho. Im a bit confused.


OK here's a quick summary.

1. I want to use cdex to convert my ape files (lossless) to mp3 for use on a portible (and other devices). CDex does it nicely but doesn't offer many quality setting options.

2. I had previously found that --preset medium was the setting that gave me the bit rate I desired, but --preset medium is not an option in cdex.

3. Through thses forums I found the following lame_enc.dll that takes all it's settings from an ini file and thereby overcomes the limitation of programs that don't offer many command line options, like cdex. http://www.rarewares.org/files/mp3/lameDll3.96.1_MOD.zip

4. I expected that if I selected --preset medium in associated ini file that it would encode exactly the same as the standard lame.exe (same version 3.96.1) that I had prevoiusly tested but it was not the case. The files created with the modified dll were significantly smaller.

Note that this is NOT the modified dll that only encodes at -APS, you can set the preset level to whatever you want from the ini file!.

This is the ini file that comes with the download :

CODE
[lame_enc]
LamePreset=11
Scale=0.0
ExperimentalY=0

REM LamePreset is allocated using the following numbering scheme:
REM  1 = V9 - VBR_RH(Old)                               - ExperimentalY already set
REM  2 = V9 - VBR_MTRH(New - FAST)                      - ExperimentalY already set
REM  3 = V8 - VBR_RH(Old)                               - ExperimentalY already set
REM  4 = V8 - VBR_MTRH(New - FAST)                      - ExperimentalY already set
REM  5 = V7 - VBR_RH(Old)                               - ExperimentalY already set
REM  6 = V7 - VBR_MTRH(New - FAST)                      - ExperimentalY already set
REM  7 = V6 - VBR_RH(Old)                               - ExperimentalY already set
REM  8 = V6 - VBR_MTRH(New - FAST)                      - ExperimentalY already set
REM  9 = V5 - VBR_RH(Old)                               - ExperimentalY already set
REM 10 = V5 - VBR_MTRH(New - FAST)                      - ExperimentalY already set
REM 11 = V4 - VBR_RH(Old)          - Preset MEDIUM      - ExperimentalY already set
REM 12 = V4 - VBR_MTRH(New - FAST) - Preset MEDIUM FAST - ExperimentalY already set
REM 13 = V3 - VBR_RH(Old)                               - ExperimentalY already set
REM 14 = V3 - VBR_MTRH(New - FAST) - R3MIX              - ExperimentalY already set
REM 15 = V2 - VBR_RH(Old)          - Preset STANDARD
REM 16 = V2 - VBR_MTRH(New - FAST) - Preset STANDARD FAST
REM 17 = V1 - VBR_RH(Old)
REM 18 = V1 - VBR_MTRH(New - FAST)
REM 19 = V0 - VBR_RH(Old)          - Preset EXTREME
REM 20 = V0 - VBR_MTRH(New - FAST) - Preset EXTREME FAST
REM 21 = 320                       - Preset INSANE
REM
REM To change the preset used, edit the number following 'LamePreset='.
REM NOTE: Invalid numbers will be ignored, default is 'V2 VBR_RH - preset STANDARD'.
REM
REM Scale can be used to apply the ReplayGain factor to scale the samples
REM as floating point numbers within LAME before encoding.
REM Valid values are > 0.0 and less than 1.0, default = 0.0.
REM
REM ExperimentalY is used to toggle the switch ON or OFF. Set to 1 if you want
REM it changed to ON or OFF, depending whether it is already set.
REM If set to anything other than 1,it will be ignored.
REM NOTE: ONLY the FIRST 4 lines of this file are read and used.
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-2009 Invision Power Services, Inc.