Recommended LAME
Introduction
This article is meant to explain to the users what are the Hydrogenaudio recommended settings to be used with LAME for highest quality MP3 encoding.
These settings require Lame 3.94 or later. Lame 3.97beta found on this website is the recommended version (check here to download).
Avoid using alpha (a) versions of LAME. More often than not those are exclusively for testing purposes, if you want to help developers with feedback.
Note: At a given bitrate range, the quality scale is following: VBR is higher quality than ABR which is higher quality than CBR (VBR > ABR > CBR in terms of quality). The exception to this is when you choose the highest possible CBR bitrate, which is 320 kbps (-b 320 = --alt-preset insane).
Note: all modes and settings mentioned in this topic belong to the specifications of the MP3 standard, and the resulting MP3s should be played by every standard-conform MP3-Decoder. If this shouldn't be the case, blame the manufacturer or developer of your MP3-Decoder/device.
VBR (Variable bitrate) settings
VBR: variable bitrate mode, the goal is to keep a constant quality and saving bits where possible without lowering the quality.
VBR can be useful to get good quality from a specific quality level. Size is less predictable than with ABR, but the quality is usually better.
-V(number) where number is 0-9, 0 being highest quality, 9 being the lowest.
Switch | Preset | Target Kbit/s | Bitrate range kbit/s |
-b 320 | --preset insane | 320CBR | 320 |
-V 0 --vbr-new | --preset fast extreme | 245 | 220...260 |
-V 0 | --preset extreme | 245 | 220...260 |
-V 1 --vbr-new | 225 | 200...250 | |
-V 1 | 225 | 200...250 | |
-V 2 --vbr-new | --preset fast standard | 190 | 170...210 |
-V 2 | --preset standard | 190 | 170...210 |
-V 3 --vbr-new | 175 | 155...195 | |
-V 3 | 175 | 155...195 | |
-V 4 --vbr-new | --preset fast medium | 165 | 145...185 |
-V 4 | --preset medium | 165 | 145...185 |
-V 5 --vbr-new | 130 | 110...150 | |
-V 5 | 130 | 110...150 | |
-V 6 --vbr-new | 115 | 95...135 | |
-V 6 | 150 | 95...135 | |
-V 7 --vbr-new | 100 | 80...120 | |
-V 7 | 100 | 80...120 | |
-V 8 --vbr-new | 85 | 65...105 | |
-V 8 | 85 | 65...105 | |
-V 9 --vbr-new | 65 | 45...85 | |
-V 9 | 65 | 45...85 |
See also Technical data for recommended LAME settings
If the target is eg. streaming, where you need MP3 in ABR or even CBR mode, there are still the ABR and CBR modes.
ABR (average bitrate) settings
ABR: average bitrate mode varies bits around a specified target bitrate
(128 kbit/s ABR: roughly the same filesize as 128 kbit/s CBR)
- ABR Setting tuned from 320 kbit/s down to 80 kbit/s
- --preset <bitrate>
<bitrate> (desired averaged bitrate in kbit/s) can be any value between 8 - 320 , like eg. 9, 17, 80, 128, 133, 200 etc.
- Example: --preset 200
CBR (constant bitrate) settings
CBR: constant bitrate mode is not efficient regarding distributing bitrate to more complex music parts and saving bits where it would be possible without lowering the quality of those music parts. Only recommended for usage in streaming situations where the upper bitrate margin must be strictly enforced.
- CBR Setting tuned from 320 kbit/s down to 80 kbit/s
- -b <bitrate>
<bitrate> (bitrate in kbit/s) can be only: 8 , 16 , 24 , 32 , 40 , 48 , 64 , 80 , 96 , 112 , 128 , 160 , 192 , 256 or 320.
Additional reading
- More information on LAME
- Configuring EAC and LAME with recommended settings
- Forum discussion of the recommended settings
- Forum discussion of the recommended settings (older)
- Previous recommendations (outdated)
Credits
A big thanks to all LAME developers for making one kickass MP3 codec.
People who took part in suggesting the different settings:
Dibrom, r3mix, ff123, Hans Heijden, kjempen, Benjamin Lebsanft, GeSomeone, Wombat & GuruBoolez for his immense testing.
Creation of the alt preset system and related special code level quality enhancements:
Dibrom, with technical assistance from Robert Hegemann and Naoki Shibata, Gabriel and extensive tuning help and quality verification via listening tests from JohnV and also initial help (--dm-preset era) from Hans Heijden, ff123, Wombat, and others. Test clips, bitrate information, and further listening tests provided by TheBashar, zbutsam, Pio2001, BadDuDeX, r3mix, h, TarX, Hans Heijden, ff123, Wombat, Filburt, Volcano, Garf, MrDrew, TrNSZ, nyaochi, Amadeus93, in no particular order, and many, many others we (Dibrom, user) probably forgot to mention.
Idea (also exposing the need for a unified preset system), Original post and list of original settings collected by: user
Layout and additional work by: dev0, CiTay, SNYder, Dibrom.
And finally...
Thank you ALL in the community for making it what it is, providing interest and discussion and helping to work towards the most concise, well tuned, and most thought out MP3 quality "paradigm" seen yet! biggrin.gif -- Dibrom
Setting up EAC for lame.exe with tagging
Configuration | |
---|---|
| |
Compression | |
Other | |
Important note
From EAC 1.0 beta 2, the replacement strings changed. For example:
- "%s" is now "%source%"
- "%d" is now "%dest%"
- "%a" is now "%artist%"
- "%l" is now "%islow%"
- "%h" is now "%ishigh%"
See the full list in the EAC Placeholders page, the EAC Compression Options guide or in the original EAC FAQ.
Software Needed
Note: This guide has now been amended to reflect changes made to LAME as of 3.98. --vbr-new is now the default setting and is no longer explicitly required. In addition, non-standard genres are now handled more elegantly.
Installation
Note: This guide assumes that EAC has been configured for secure ripping, if not please follow this guide.
- Unzip the chosen LAME version into the same directory as EAC.
- If you would like to tag with APEv2 tags please download wapet.zip and unzip it into the same folder.
General Configuration
- Open EAC and insert a CD into the drive.
- Click the EAC menu and select Compression Options.
- Click the External Compression Tab, and put a check box in Use external program for compression.
- Change Parameter passing scheme to User Defined Encoder (see this thread for reasoning).
- Change Use file extension to .mp3.
- Click the Browse button and locate the lame.exe that you unzipped into the EAC directory earlier.
Note: If you want to tag with APEv2 tags using Wapet please locate wapet.exe, not lame.exe.
- Don't worry which bit rate is shown in the Bit rate drop-down box, as this will not have any effect on the resultant MP3 file unless the %bitrate% placeholder is used (see end of the Advanced Command Line Usage section).
- Don't worry about the Use CRC check setting; it won't affect the resultant MP3 file either.
- It's a good idea to tick Check for external programs return code.
Configuring the Additional command line options
- The green portion in the examples following this section is where you configure the LAME preset.
- The %source% (formerly %s) and %dest% (formerly %d) in the examples following this section are placeholders for EAC. %source% means source filename and %dest% means destination filename. These are absolutely necessary!
- For specifics see the LAME usage instructions.
Adding Tags
Note: Always use the [Test Encoder] Button to check your Command Line string. With EAC V1.0 beta 3 if you get a message: "Invalid replacement tag found !" try replacing
each occurence of "%" with "%%" since you need to use double percent so one can be escaped and allow the second one to be passed to Lame.
Let EAC create tags (Recommended)
To have EAC tag your files, tick Add ID3 tag; and in the Additional command line options box, copy and paste the following string:
-V2 %source% %dest%
Create files with no tags
If you do not wish to have tags, untick Add ID3 tag; and in the Additional command line options box, copy and paste the following string:
-V2 %source% %dest%
Let Lame create tags
If you prefer to have Lame tag the files based on information shown in the EAC GUI, untick the checkbox next to Add ID3 tag. This is recommended in the article about EAC Compression Options.
Here are some examples providing different tag types:
- ID3v1 only:
-V2 --id3v1-only --ta "%artist%" --tt "%title%" --tg "%genre%" --tl "%albumtitle%" --ty "%year%" --tn "%tracknr%/%numtracks%" %source% %dest%
- ID3v2 only :
-V2 --id3v2-only --pad-id3v2 --ta "%artist%" --tt "%title%" --tg "%genre%" --tl "%albumtitle%" --ty "%year%" --tn "%tracknr%/%numtracks%" %source% %dest%
- ID3v2 only (before EAC version 1.0b2 - for comparison):
-V2 --id3v2-only --pad-id3v2 --ta "%a" --tt "%t" --tg "%m" --tl "%g" --ty "%y" --tn "%n" %s %d
- ID3v1 and ID3v2:
-V2 --add-id3v2 --pad-id3v2 --ta "%artist%" --tt "%title%" --tg "%genre%" --tl "%albumtitle%" --ty "%year%" --tn "%tracknr%/%numtracks%" %source% %dest%
- Automatic:
-V2 --ta "%artist%" --tt "%title%" --tg "%genre%" --tl "%albumtitle%" --ty "%year%" --tn "%tracknr%/%numtracks%" %source% %dest%
With Automatic, ID3v1 will always be created. If any ID3v1 field exceeds the length allowed by the ID3v1 specification then a complete ID3v2 tag will also be added.
Use Wapet to create APEv2 tags
If you prefer instead to have APEv2 tags based on information shown in the EAC GUI, untick the checkbox next to Add ID3 tag
Note: Creating APE tags requires wapet.exe. Remember to browse for wapet.exe instead of lame.exe as the external encoding program. Also, lame.exe needs to be in the same directory as wapet.exe.
Use the following string:
%dest% -t "Artist=%artist%" -t "Title=%title%" -t "Album=%albumtitle%" -t "Year=%year%" -t "Track=%tracknr%/%numtracks%" -t "Genre=%genre%" LAME.exe -V2 %source% %dest%
Advanced Command Line Usage
- The %islow%...%islow% and '%ishigh%...%ishigh% placeholders are used to add text according to whether the High quality or Low quality radio button is selected, as shown below:
%islow%-V5%islow%%ishigh%-V0%ishigh% %source% %dest%
Therefore, if you select Low quality, EAC will invoke the LAME encoder with the following command line parameters:
-V5 %source% %dest%
..and if you select High quality EAC will invoke LAME with these command line parameters:
-V0 %source% %dest%
- You can access the bitrate value in the drop-down list using the %bitrate% placeholder, for example:
-b%bitrate% %source% %dest%
So, if you selected 192 kBit/s in the Bit Rate drop-down list, the command line would be:
-b192 %source% %dest%
It is a generally accepted fact that the bitrate selected in the drop-down list doesn't affect the command line. In essence this is true, as it will not affect the command line unless you use the %bitrate% (formerly %r) placeholder. However, the bitrate needs only be set when using ABR or CBR over VBR, which is not recommended for better quality audio.