Help - Search - Members - Calendar
Full Version: EAC and CDex with LAME v3.97 and VBR and MP3 file sizes
Hydrogenaudio Forums > Lossy Audio Compression > MP3 > MP3 - Tech
mjpartyboy
I've only recently taken the time to understand how to use the overwhelming and highly recommended EAC after favouring CDex's simplicity for quite a while now, but I've noticed something between the two when doing MP3 rips: I get a bigger file size from EAC's rips.

For example, I've used the following command with EAC using lame.exe:

CODE
-V4 -b 32 -m j --vbr-new --add-id3v2 --pad-id3v2 --ta "%a" --tt "%t" --tl "%g" --ty "%y" --tn "%n" --tg "%m" %s %d


And set up CDex with the equivalent quality and minimum and maximum bit rate settings, joint stereo, etc using its options GUI and lame.dll and end up getting considerably bigger file sizes from EAC. In fact an EAC rip at -V5 has a bigger file size than a CDex rip at quality=4.

Is one doing a better encoding job than the other?

Please can someone explain to me what's going on?

Am I better off with the EAC and LAME combination or the CDex and LAME one?

Your help is greatly appreciated. smile.gif
sketchy_c
Assuming these are from the same CD. I don't know CDex or its .dll interface at all, so I can't say if/how all the GUI options translate to command line options. Have you tried ripping a CD to WAV in both apps and comparing them?

For the "better off" question, it may be worth checking out the AccurateRip plug-in for EAC.
mjpartyboy
With my new found knowledge I've just realised why there was a discrepancy and I've done another test to register an identical bit rate average and as good as the same file size (EAC's MP3 rip was one byte smaller). biggrin.gif
twostar
i think it definitely has something to do with cdex interface and the options it gives to the lame dll. try using this modified dll instead: http://www.rarewares.org/files/mp3/lameDll3.97_MOD.zip
mjpartyboy
I like things about both. I like the simplicity and compactness of CDex, but I like the comprehensive quality of EAC.

The thing I don't like about the EAC and LAME.exe combination is when I'm using it to rip and encode I can't do anything else on my notebook because it keeps bringing EAC and the LAME encoder to the front while it's doing the work, I can't even browse the net to pass the time.
kornchild2002
Well, you shouldn't do anything else while your computer is ripping anyways. The CD ripping process shouldn't need all of your computer's resources but the Lame encoding (whether with the Lame.dll or Lame.exe files) process should be completed with minimal programs running in the background. I have found that, while using the Lame.exe file (also tested the Lame.dll file) to encode, my computer would input small audible gaps into my music while I was surfing the internet.

Granted, this was on my desktop which is running a very old Pentium 4 2GHz processor, 256MB of RAM, and Windows XP Pro. My notebook does not do this but I don't want to tempt it. My notebook is a little newer (Pentium M 2GHz, 2GB of RAM, and Windows Vista Business) but I still don't want to chance it. There is nothing more I hate than to be listening to my music and hear a small gap right in the middle of a song.
psycho
You could use lame_enc.dll with EAC, that way you can rip on-the-fly and without lame poping up all the time. Also there is an option in EAC to disable showing the lame.exe "dos" window.
mjpartyboy
QUOTE(psycho @ Feb 16 2007, 19:12) *

You could use lame_enc.dll with EAC, that way you can rip on-the-fly and without lame poping up all the time. Also there is an option in EAC to disable showing the lame.exe "dos" window.

Is one better than the other or is the final result the same?

I haven't noticed that option, please can you tell me where it is. EDIT: Found it. Is it safe to use, I assume hiding it doesn't affect the quality of the encoding?
Light-Fire
I use EAC only when I have a deffective CD to try to get the most out of it. Otherwise CDx is more than good enough.
psycho
QUOTE(mjpartyboy @ Feb 16 2007, 21:34) *

QUOTE(psycho @ Feb 16 2007, 19:12) *

You could use lame_enc.dll with EAC, that way you can rip on-the-fly and without lame poping up all the time. Also there is an option in EAC to disable showing the lame.exe "dos" window.

Is one better than the other or is the final result the same?

I haven't noticed that option, please can you tell me where it is. EDIT: Found it. Is it safe to use, I assume hiding it doesn't affect the quality of the encoding?


Close EAC if you have it running. Download this and extract it to your EAC folder. Then rename the lame_enc_mod.dll to lame_enc.dll, after that edit the lame_enc.ini file and change the line that reads 'LamePreset=15' to 'LamePreset=12'. After that run EAC and press F11. From dropdown menu 'Wave format' choose 'LAME MPEG Layer-3 Encoder v3.97 DLL v1.32', Sample format doesn't make any difference, since you will be using ini-file-version of lame. Under the 'External Compression' tab deselect 'Use external program for compression' and the 'LAME DLL' tab is there only if you would be using the non-ini-version of the dll. So that's it. Good luck. wink.gif
mjpartyboy
QUOTE(psycho @ Feb 16 2007, 19:54) *

Close EAC if you have it running. Download this and extract it to your EAC folder. Then rename the lame_enc_mod.dll to lame_enc.dll, after that edit the lame_enc.ini file and change the line that reads 'LamePreset=15' to 'LamePreset=12'. After that run EAC and press F11. From dropdown menu 'Wave format' choose 'LAME MPEG Layer-3 Encoder v3.97 DLL v1.32', Sample format doesn't make any difference, since you will be using ini-file-version of lame. Under the 'External Compression' tab deselect 'Use external program for compression' and the 'LAME DLL' tab is there only if you would be using the non-ini-version of the dll. So that's it. Good luck. wink.gif

Thanks!

So I'll get exactly the same end result and quality, but without the need for it to rip to WAV before encoding to MP3?

What about the ID3 commands I'm using or are these redundant anyway due to EAC getting information from Freedb?
mjpartyboy
Is it worth using the Normalize feature?

If so, any recommended settings for both EAC and CDex?
psycho
QUOTE(mjpartyboy @ Feb 16 2007, 22:15) *

So I'll get exactly the same end result and quality, but without the need for it to rip to WAV before encoding to MP3?


Exactly!

QUOTE(mjpartyboy @ Feb 16 2007, 22:15) *

What about the ID3 commands I'm using or are these redundant anyway due to EAC getting information from Freedb?


EAC will take care of ID3 tags if you have the option 'Add ID3 tag' set under the 'Waveform' tab of 'Compression options' window.

Anyway... why don't you try one track and compare? wink.gif
mjpartyboy
QUOTE(psycho @ Feb 16 2007, 19:54) *

Close EAC if you have it running. Download this and extract it to your EAC folder. Then rename the lame_enc_mod.dll to lame_enc.dll, after that edit the lame_enc.ini file and change the line that reads 'LamePreset=15' to 'LamePreset=12'. After that run EAC and press F11. From dropdown menu 'Wave format' choose 'LAME MPEG Layer-3 Encoder v3.97 DLL v1.32', Sample format doesn't make any difference, since you will be using ini-file-version of lame. Under the 'External Compression' tab deselect 'Use external program for compression' and the 'LAME DLL' tab is there only if you would be using the non-ini-version of the dll. So that's it. Good luck. wink.gif

What's ExerimentalY?

QUOTE
12 = V4 - VBR_MTRH(New - FAST) - Preset MEDIUM FAST - ExperimentalY already set
Dynamic
QUOTE(mjpartyboy @ Feb 22 2007, 20:17) *

What's ExperimentalY?


It's probably a remnant of previous versions of the modified DLL from before the -V n system for VBR quality settings was introduced and --alt-preset switches were used instead.

You needed be concerned as the -Y switch (incorporated into -V 3 and higher n values) is now well tested and no longer considered experimental. If you really want to know the lengthy details, search the forums for "sfb21 bloat" or "sfb21 problem".
mjpartyboy
I did a couple of tests last night with the modded DLL and the EXE, which has been my preferred choice, and with both set to V4 the DLL encodes were producing a bigger file each time.
Dynamic
QUOTE(mjpartyboy @ Feb 23 2007, 09:41) *

I did a couple of tests last night with the modded DLL and the EXE, which has been my preferred choice, and with both set to V4 the DLL encodes were producing a bigger file each time.


Just a thought. You might want to be sure that the --vbr-new flag is set in the commandline for the EXE. According to the snippet you posted above (about ExperimentalY) 12 means -V 4 --vbr-new.

--vbr-new is, I understand, the VBR model for which LAME 3.97 was tuned (it was previously known as "fast" and as "vbr-mtrh", I believe, and is quite different, in some ways improved and due to be the default mode in Lame 3.98, I understand. However, the slower mode always used to produce marginally smaller bitrates than "fast" (or vbr-new). Lame 3.97 is now tuned to aim for constant quality with --vbr-new and might not be quite as optimally tuned with the old/slow mode.
Diow
QUOTE(Dynamic @ Feb 23 2007, 20:09) *

Lame 3.97 is now tuned to aim for constant quality with --vbr-new and might not be quite as optimally tuned with the old/slow mode.

The --vbr-new is highly recommended above --vbr-old, in very rarely cases it have worse quality than --vbr-old, if you see in the lists of recommended settings of LAME --vb-new always is above --vbr-new some sugests?
And about "experimental settings" experiment them but NEVER NEVER use them to rip all your CD's, the recomended settings was highly-tested and configurated for LAME to give you the better quality possible in all kind of music at the given bitrate....
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.