IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
EAC: how to properly set up for LAME so that metadata are added to MP3, [was “mp3 contains no album artist” in MP3 - General]
crodgers
post Jul 7 2012, 05:04
Post #1





Group: Members
Posts: 16
Joined: 22-June 12
From: USA
Member No.: 100885



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.
Go to the top of the page
+Quote Post
mjb2006
post Jul 7 2012, 06:22
Post #2





Group: Members
Posts: 766
Joined: 12-May 06
From: Colorado, USA
Member No.: 30694



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.
Go to the top of the page
+Quote Post
crodgers
post Jul 7 2012, 10:03
Post #3





Group: Members
Posts: 16
Joined: 22-June 12
From: USA
Member No.: 100885



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...
Go to the top of the page
+Quote Post
crodgers
post Jul 7 2012, 10:18
Post #4





Group: Members
Posts: 16
Joined: 22-June 12
From: USA
Member No.: 100885



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).
Go to the top of the page
+Quote Post
db1989
post Jul 7 2012, 10:27
Post #5





Group: Super Moderator
Posts: 5275
Joined: 23-June 06
Member No.: 32180



QUOTE (crodgers @ Jul 7 2012, 10:03) *
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. wink.gif 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.

This post has been edited by db1989: Jul 7 2012, 10:28
Go to the top of the page
+Quote Post
crodgers
post Jul 7 2012, 10:35
Post #6





Group: Members
Posts: 16
Joined: 22-June 12
From: USA
Member No.: 100885



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
Go to the top of the page
+Quote Post
db1989
post Jul 7 2012, 10:39
Post #7





Group: Super Moderator
Posts: 5275
Joined: 23-June 06
Member No.: 32180



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:
QUOTE (crodgers @ Jul 7 2012, 10:35) *
Parameter passing scheme: LAME MP3 Encoder
See:
QUOTE (db1989 @ Jul 7 2012, 10:27) *
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.

This post has been edited by db1989: Jul 7 2012, 10:44
Go to the top of the page
+Quote Post
crodgers
post Jul 7 2012, 10:42
Post #8





Group: Members
Posts: 16
Joined: 22-June 12
From: USA
Member No.: 100885



QUOTE (db1989 @ Jul 7 2012, 05:27) *
QUOTE (crodgers @ Jul 7 2012, 10:03) *
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. wink.gif 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).
Go to the top of the page
+Quote Post
crodgers
post Jul 7 2012, 10:49
Post #9





Group: Members
Posts: 16
Joined: 22-June 12
From: USA
Member No.: 100885



QUOTE (db1989 @ Jul 7 2012, 05:39) *
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:
QUOTE (crodgers @ Jul 7 2012, 10:35) *
Parameter passing scheme: LAME MP3 Encoder
See:
QUOTE (db1989 @ Jul 7 2012, 10:27) *
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...
Go to the top of the page
+Quote Post
crodgers
post Jul 7 2012, 11:25
Post #10





Group: Members
Posts: 16
Joined: 22-June 12
From: USA
Member No.: 100885



QUOTE (crodgers @ Jul 7 2012, 05:49) *
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)?
Go to the top of the page
+Quote Post
crodgers
post Jul 7 2012, 11:38
Post #11





Group: Members
Posts: 16
Joined: 22-June 12
From: USA
Member No.: 100885



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?
Go to the top of the page
+Quote Post
mjb2006
post Jul 7 2012, 14:02
Post #12





Group: Members
Posts: 766
Joined: 12-May 06
From: Colorado, USA
Member No.: 30694



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.

This post has been edited by mjb2006: Jul 7 2012, 14:58
Go to the top of the page
+Quote Post
crodgers
post Jul 7 2012, 15:28
Post #13





Group: Members
Posts: 16
Joined: 22-June 12
From: USA
Member No.: 100885



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?
Go to the top of the page
+Quote Post
db1989
post Jul 7 2012, 17:29
Post #14





Group: Super Moderator
Posts: 5275
Joined: 23-June 06
Member No.: 32180



QUOTE (crodgers @ Jul 7 2012, 15:28) *
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.
Go to the top of the page
+Quote Post
[JAZ]
post Jul 7 2012, 18:11
Post #15





Group: Members
Posts: 1767
Joined: 24-June 02
From: Catalunya(Spain)
Member No.: 2383



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.
Go to the top of the page
+Quote Post
mjb2006
post Jul 8 2012, 05:54
Post #16





Group: Members
Posts: 766
Joined: 12-May 06
From: Colorado, USA
Member No.: 30694



QUOTE (crodgers @ Jul 7 2012, 08:28) *
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).
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 2nd August 2014 - 07:49