Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: EAC: how to properly set up for LAME so that metadata are added to MP3 (Read 31842 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

EAC: how to properly set up for LAME so that metadata are added to MP3

I am using EAC (V1.0b3) configured with lame.3.97.b2.exe using the additional command line parameters of " -V0 --vbr-new" to rip my CDs.

When I look at a resulting file in Windows (file properties), I see:
  Contributing artists: <the artist's name>
  Album artist: <blank>

When I look in foobar2000 (v1.1.6), I see:
  Artist Name: <the artist's name>
  Album Artist: <blank>

When I look in Mp3tag (v2.51), I see:
  Artist: <the artist's name>
  Album Artist: <blank>

I can set it in Mp3tag after the fact, but why doesn't EAC populate the tag?  In EAC, I fill in CD Artist at the top and EAC automatically populates the Artist on each track with the same thing.  Once I generate mp3's, it looks like EAC (or lame) is only setting Artist.  The cd/album artist is left out of the tagging process.  Am I just missing a configuration somewhere?  In my configuration, who is doing the actual tagging?  EAC or LAME?  Let me know if you need more info to help me.

EAC: how to properly set up for LAME so that metadata are added to MP3

Reply #1
If you update to LAME 3.98 or newer (3.99.5 is current), you won't need --vbr-new.

EAC's ID3 tag writer does not populate an album artist field. I don't know why.

If there's an unsupported ID3 tag field you want to be written at rip time, you need to make the external compressor write the tags, rather than having EAC do it.

In the External Compression options, you will have to uncheck "Add ID3 tag" and tell LAME to add the tags, so the command line options will look more like this:

-V0 --vbr-new --id3v2-only --ignore-tag-errors --ta "%artist%" --tt "%title%" --tl "%albumtitle%" --ty "%year%" --tc "%comment%" --tn "%tracknr%" --tg "%genre%" --tv "TPE2=%albumartist%" --tv "TPOS=%cdnumber%" --ti "%coverfile%" %source% %dest%

Of course you can get more fancy if you want, as long as the command line doesn't get too long.

EAC: how to properly set up for LAME so that metadata are added to MP3

Reply #2
Had to upgrade LAME to get --tv option.  Now I get a message window that says:

=====================
Warning
=====================

The external compressor returned an error!

Options: -h -b 256 -V0 --id3v2-only --ignore-tag-errors --ta "%artist%"
--tt "%title%" --tl "%albumtitle%" --ty "%year%" --tc "%comment%"
--tn "%tracknr%" --tg "%genre%" --tv "TPE2-%albumartist%" --tv
"TPOS=%cdnumber%" --ti "%coverfile%" %source% %dest%
"0tmp-!)!3.wav" "0tmp-!)!3.mp3"

File: J:\cd_conversion_work\Jane's Addiction\Jane's Addiction - 1987 -
Jane's Addiction\09 - Sympathy.wav

=====================

I get this warning window for each execution of LAME.  When I click OK, the window goes away and I am left with just the .wav file.

In EAC, if I go to EAC -> Compression Options, click on the External Compression Tab and then click the [Test encoder] button, I get the following error message:

Could not find: '%coverfile%'.
G:\Program Files\Exact Audio Copy\lame.3.99.5.exe: excess arg etmp42660.wav

I initially thought that it might be expected as a test, since there might not be an image in the test scenario, but then I wondered about the times I can not find cover art and have to scan in my cover and apply it later in Mp3tag... needs to work for that.

Ideas?  I see in lame --longhelp that --ti <file> is a valid option.  When I hover my mouse over the Additional command-line options text box, I see %coverfile% as a valid option for the filename of CD cover image.  Not sure why it is not working...

EAC: how to properly set up for LAME so that metadata are added to MP3

Reply #3
I got excessive arguments until I removed %source% and %dest%.  Now it runs LAME, but all of the tags in the mp3 are the hard-coded "%artist%", etc, strings (instead of the actual values).  I will try again without the double quotes around each %% variable.

I noticed that I end up with 0 for the year, 0 for the track number, and I am now missing the Encoded by string.  I do see %albumartist% in the album artist field, so that is progress (just needs to be a real value, not the variable name).

EAC: how to properly set up for LAME so that metadata are added to MP3

Reply #4
Options: -h -b 256 -V0 […]
Why is that “-b 256” there? Either you have LAME configured as something other than a user-defined encoder, or you have added a pointlessly high minimum bitrate on purpose, neither of which is a good idea.  Plus, -h is generally advised against due to either producing insignificant gains in quality or sometimes even being detrimental; then again, its presence might be due to the use of a non user-defined preset.

I acknowledge that EAC’s having a built-in preset for LAME is confusing when we then go and tell people not to use it, but that’s how it is if you want full flexibility of command-line options and no interference from parameters invoked by other controls in the dialog box.

Edit: That might also explain your just-posted issues with tags.

EAC: how to properly set up for LAME so that metadata are added to MP3

Reply #5
Taking out the double quotes did not fix it.  Still ended up with the variable strings as tag values (like artist set to %artist%).

I did notice that the first line in the dos window as LAME was running says:
Could not find: '%coverfile%'
Probably because it is looking for a file called '%coverfile%', not the actual jpg file name.

Why are the values not being substituted in the command line to LAME?  Is there another config that I missed?

Here are my settings on the External Compression tab:
[Y] Use external program for compression
Parameter passing scheme:  LAME MP3 Encoder
(greyed out) Use file extension: .mp3
Program, including path, used for compression
  G:\Program Files\Exact Audio Copy\lame.3.99.5.exe
Additional command-line options:  -V0 --vbr-new --id3v2-only --ignore-tag-errors --ta "%artist%" --tt "%title%" --tl "%albumtitle%" --ty "%year%" --tc "%comment%" --tn "%tracknr%" --tg "%genre%" --tv "TPE2=%albumartist%" --tv "TPOS=%cdnumber%" --ti "%coverfile%"
Bit rate: 256kBit/s
[Y] Delete WAV after compression  (*) High quality
[_] Use CRC check                        (_) Low quality
[_] Add ID3 tag
[Y] Check for external programs return code

EAC: how to properly set up for LAME so that metadata are added to MP3

Reply #6
I guess you missed my post due to being busy writing yours when I made it, but I’ll rephrase to be clearer just in case:
Parameter passing scheme:  LAME MP3 Encoder
See:
Either you have LAME configured as something other than a user-defined encoder, or you have added a pointlessly high minimum bitrate on purpose, neither of which is a good idea. […] I acknowledge that EAC’s having a built-in preset for LAME is confusing when we then go and tell people not to use it, but that’s how it is if you want full flexibility of command-line options and no interference from parameters invoked by other controls in the dialog box.
That is: please try configuring LAME as a “User defined encoder”, and let us know whether that solves any of your problems.

Edit: As per the below, it seems I was somehow not clear enough in my previous post. I hope this one is.

EAC: how to properly set up for LAME so that metadata are added to MP3

Reply #7
Options: -h -b 256 -V0 […]
Why is that “-b 256” there? Either you have LAME configured as something other than a user-defined encoder, or you have added a pointlessly high minimum bitrate on purpose, neither of which is a good idea.  Plus, -h is generally advised against due to either producing insignificant gains in quality or sometimes even being detrimental; then again, its presence might be due to the use of a non user-defined preset.

I acknowledge that EAC’s having a built-in preset for LAME is confusing when we then go and tell people not to use it, but that’s how it is if you want full flexibility of command-line options and no interference from parameters invoked by other controls in the dialog box.

Edit: That might also explain your just-posted issues with tags.


The -h and -b 256 are execution results.  I think EAC is adding it to the "Additional command-line options"  I do not see where it is configured to pass or not pass the -h (High quality radio button) and -b 256 (Bit rate drop down).

EAC: how to properly set up for LAME so that metadata are added to MP3

Reply #8
I guess you missed my post due to being busy writing yours when I made it, but I’ll rephrase to be clearer just in case:
Parameter passing scheme:  LAME MP3 Encoder
See:
Either you have LAME configured as something other than a user-defined encoder, or you have added a pointlessly high minimum bitrate on purpose, neither of which is a good idea. […] I acknowledge that EAC’s having a built-in preset for LAME is confusing when we then go and tell people not to use it, but that’s how it is if you want full flexibility of command-line options and no interference from parameters invoked by other controls in the dialog box.
That is: please try configuring LAME as a “User defined encoder”, and let us know whether that solves any of your problems.

Edit: As per the below, it seems I was somehow not clear enough in my previous post. I hope this one is.

Got it - I changed the "Parameter passing scheme" to "User Defined Encoder" and added %source% and %dest% back to the end of the string.

Now I am only missing the "Encoded by" field.  When EAC was writing tags, it contained:
    Exact Audio Copy  (Secure mode)

Also the "Part of set" (disc number) is "1" instead of "1/1"

Any ideas on those 2?  I do now have the album artists being populated...

EAC: how to properly set up for LAME so that metadata are added to MP3

Reply #9
Now I am only missing the "Encoded by" field.  When EAC was writing tags, it contained:
    Exact Audio Copy  (Secure mode)

Also the "Part of set" (disc number) is "1" instead of "1/1"

Any ideas on those 2?  I do now have the album artists being populated...


I got the disc number thing fixed by changing
--tv "TPOS=%cdnumber%"
to
--tv "TPOS=%cdnumber%/%totalcds%"

When I look at the Properties (Metadata tab) of the mp3 in foobar2000, I see the following difference:
EAC tagging produced:
Comment :            Exact Audio Copy
<ENCODED BY> :        Exact Audio Copy  (Secure mode)
<ENCODING SETTINGS> : lame.3.97.b2.exe -h -b 256 -V0 --vbr-new

LAME tagging produces:
Comment :            Exact Audio Copy
<ENCODING SETTINGS> : LAME 32bits version 3.99.5 (http://lame.sf.net)

Is there a way to have LAME tag the EAC Mode (sometimes I have to drop down modes due to scratched disks, etc) and LAME parameters (at least the -V0 option)?

EAC: how to properly set up for LAME so that metadata are added to MP3

Reply #10
I found the following mappings in researching:
ID3v2 / WMA tag fields
Name in Mp3tag    ID3v2.3    ID3v2.4    WMA    iTunes    WMP 10    Winamp
ENCODEDBY    TENC    "    WM/EncodedBy              Encoded by
ENCODERSETTINGS    TSSE    "    WM/EncodingSettings              

if I use the format of --tv "TENC=%????%", what do I pass from EAC for Encoded By? I am hoping to pass the current extraction mode like EAC tags it: "Exact Audio Copy (Secure mode)"

if I use the format of --tv "TSSE=%????%", what do I pass from EAC for Encoder Settings? Currently it is already putting in "LAME 32bits version 3.99.5 (http://lame.sf.net)" automatically.  How can I reflect the -V0 option?

EAC: how to properly set up for LAME so that metadata are added to MP3

Reply #11
There's no placeholder for encoding settings. Just hard-code them. Remember you can use profiles (bottom of main EAC window) to save all your configuration settings. So if you have a profile for secure mode and using LAME with -V0, it will include your command-line options, so just make them say what you want them to say:

--tv "TSSE=Exact Audio Copy (Secure Mode)" --tv "TENC=-V0"

The LAME tag in the VBR header of the output file will have your LAME encoding settings in it (not the exact command-line option string, but the highlights, like V0), so you don't really need to duplicate this info in ID3 tags.

EAC: how to properly set up for LAME so that metadata are added to MP3

Reply #12
Thanks.  I see the VBR headers in the Properties tab in foobar2000.  You make an excellent point with the profiles.

I swapped the codes you posted (TSSE are settings and TENC is encoded by).  So my final settings for Secure Mode are:

Parameter passing scheme: User Defined Encoder
uncheck Add ID3 tag
Additional command-line options:  -V0 --id3v2-only --ignore-tag-errors --ta "%artist%" --tt "%title%" --tl "%albumtitle%" --ty "%year%" --tc "%comment%" --tn "%tracknr%/%numtracks%" --tg "%genre%" --tv "TPE2=%albumartist%" --tv "TPOS=%cdnumber%/%totalcds%" --tv "TENC=EAC v1.0b3 (Secure Mode) with LAME 32bit v3.99.5" --tv "TSSE=lame.3.99.5.exe -V0" --ti "%coverfile%" %source% %dest%

That gives me what I want to see.  I will have that as one profile, then simply change the mode and TENC description for other modes and save those as other profiles.

Switching from lame 3.97 to 3.99 (still with -v0) has created a slightly smaller file.  I wonder if the --id3v2-only option has anything to do with it?

EAC: how to properly set up for LAME so that metadata are added to MP3

Reply #13
Switching from lame 3.97 to 3.99 (still with -v0) has created a slightly smaller file.  I wonder if the --id3v2-only option has anything to do with it?
How much smaller? The omission of an ID3v1 tag only spares a mere 128 bytes. I imagine that comparing the mean bitrates of the two files will be more informative about the reason for the difference.

EAC: how to properly set up for LAME so that metadata are added to MP3

Reply #14
No. The reason the files are smaller is the "-b 256" that EAC was adding to the commandline. That forced the file to use, at least , 256kbps.

 

EAC: how to properly set up for LAME so that metadata are added to MP3

Reply #15
I see the VBR headers in the Properties tab in foobar2000.

I forgot about that. If you want a more complete summary of the LAME tag's contents, use LameTag.

You might want to do the cover art tag like this: %hascover%--ti "%coverfile%"%hascover%
...so when there's no cover art file, there's no error (even though --ignore-tag-errors probably compensates).