EAC and Lame

From Hydrogenaudio Knowledgebase

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.


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!

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.

LAME configured with ID3v1 tagging (and replacement strings used before EAC version 1.0 beta 2)