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: Lame options for "Album Artist" (Read 6995 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Lame options for "Album Artist"

I wish to use Lame to encode MP3s with an Album Artist tag that Foobar2000 will recognize.

First thing's first: I know there's no "official" Album Artist tag in ID3. I know that WMP, ITunes, and some other applications use the TPE2 tag, and that Foobar2000 uses a "TXXX=ALBUM ARTIST" tag.

I tried using this command-line:
Code: [Select]
lame --ignore-tag-errors --tv "TXXX=ALBUM ARTIST=String1" file.wav

Lame didn't print any errors or warnings (even if I left off "--ignore-tag-errors"), but Foobar didn't show any tags on the file. I then set the "Album Artist" tag manually to "String2" within Foobar, and then opened the MP3 file in a hex editor. I was surprised to see two instances of the tag present within the ID3 header.

Here's the relevant part of the ID3 header, copied from my hex editor (it copies all ascii characters directly, and leaves all others in hex form):
Code: [Select]
ID3<bh:04><bh:00><bh:80><bh:00><bh:00><bh:11><bh:0e>TXXX<bh:00><bh:00><bh:00><bh:16><bh:00><bh:00><bh:03>ALBUM ARTIST<bh:00>String2<bh:00>TSSE<bh:00>
<bh:00><bh:00>4<bh:00><bh:00><bh:00>LAME 32bits version 3.98.3 (http://www.mp3dev.org/)TXXX<bh:00><bh:00><bh:00><bh:15><bh:00><bh:00><bh:00>ALBUM ARTIST=String1TLEN<bh:00>
<bh:00><bh:00><bh:07><bh:00><bh:00><bh:00>328810

As you can see, there are two ALBUM ARTIST fields, and they have different sets of bytes between the TXXX and the ALBUM ARTIST strings. I also see that Foobar put a null byte in between the ALBUM ARTIST string and the value, while Lame put an equals sign.

Is either Lame or Foobar doing something in violation of the ID3 spec?



(Edited to fix the long textbox caused by the hex dump)

Lame options for "Album Artist"

Reply #1
Foobar does it right, it's a bug in LAME. Thanks for reporting it.
Btw, should LAME write unicode or latin-1 tags by default?

Lame options for "Album Artist"

Reply #2
If you're looking for opinions, my vote would be UTF-16 for ID3v2 (but keep latin-1 for ID3v1), but that's because my musical tastes expand into countries that don't use the Latin alphabet.

Lame options for "Album Artist"

Reply #3
I would recommend the use of ISO 8859-1 use as the default behaviour, as Unicode support is still less widespread. When attempting to play an MP3 CD in my car that had, as I recall, UTF-16 tags, it would display:

S_O_N_G  T_I_T_L_E

instead of

SONG TITLE

the way it does with ISO 8859-1 tags. Unicode should certainly be possible for those who need it to represent their language's characters, but I would recommend sticking with ISO 8859-1 as the default for the time being.

Lame options for "Album Artist"

Reply #4
Is it ok to "vote" for an external tagging application similar to metaflac.exe or neroAacTag.exe that does ISO by default with the ability to do UTF-16 via a switch?  I haven't figured out whether default should write both v1.1 and v2.3 or do what the majority of people here seem to want which is to write just v2.(hopefully)3.

Hope our expounding on Robert's BTW isn't bothering the OP.  We can split this off if it turns into a big discussion.


Lame options for "Album Artist"

Reply #6
Is it ok to "vote" for an external tagging application similar to metaflac.exe or neroAacTag.exe that does ISO by default with the ability to do UTF-16 via a switch?  I haven't figured out whether default should write both v1.1 and v2.3 or do what the majority of people here seem to want which is to write just v2.(hopefully)3.

Hope our expounding on Robert's BTW isn't bothering the OP.  We can split this off if it turns into a big discussion.

I use MP3Tag for all my tagging. I've never used LAME's built-in tagging abilities, but it seems like it should have a similar behaviour. Write ISO 8859-1 by default, and use UTF-16 if you add a switch to that effect.

Lame options for "Album Artist"

Reply #7
Yes...don't change the default...it is what is expected. You may have many unsuspecting users that later play the file in an UTF-16 incompatible player and wonder WTF. Make it an easy to use new option (--UTFTags or whatever but not something like --Use_The_New_Lame_UTF-16_Tag_Format). Once that becomes widely used or expected then perhaps switch the default

BTW, Lame's tagging feature is very handy when using Exact Audio Copy's External Compression feature. EAC supplies data such as artist name & track title and others via command-line substitution.

Lame options for "Album Artist"

Reply #8
Is it ok to "vote" for an external tagging application similar to metaflac.exe or neroAacTag.exe that does ISO by default with the ability to do UTF-16 via a switch?  I haven't figured out whether default should write both v1.1 and v2.3 or do what the majority of people here seem to want which is to write just v2.(hopefully)3.

Hope our expounding on Robert's BTW isn't bothering the OP.  We can split this off if it turns into a big discussion.


I vote for just v2.3 in ISO-8859-1 format.  That seems to be the most compatible.

Some devices (like the Sansa e200 series DAP) flake out if you have any tags other than v2.3 ISO-8859-1 in a file.  Even ID3V1 + ID3V2.3 will cause the Sansa device to display the files as "Unknown" and not read the tags.