aadsm / JavaScript-ID3-Reader

ID3 tags reader in JavaScript (ID3v1, ID3v2 and AAC)

Home Page:http://www.aadsm.net/libraries/id3/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Comparison itunes metadata & JS ID3 reader metadata

Roland1975 opened this issue · comments

Hi Antonio,

I'm facing a problem with some songs.
Here is what your parser returns for a song called Neurotron - On a Journey (http://web.ist.utl.pt/antonio.afonso/www.aadsm.net/libraries/id3/)

Artist: Various Artists
Title: On a Journey
Album: The Force, Vol. 2 - EP

Here is what iTunes returns:

Name: On a Journey
Artist: Neurotron
Album Artist: Various Artist
Album: The Force, Vol. 2 - EP

iTunes makes a distinction between Artist and Album Artist.

It I edit the tags manually and remove the value of Album Artist, then your parser returns Neurotron as Artist, which is expected. As a consequence, Album Artisttakes precedence over Artist.

Do you have any idea how to solve that issue?

Can you tell me what are the tags that it's able to find? You should be able to output each frameID here: https://github.com/aadsm/JavaScript-ID3-Reader/blob/master/src/id3v2.js#L250

But were you able to pinpoint which tag it uses for the Album Artist ("Various Artist") and which one for the Artist ("Neurotron")?

By using the shortcut Artist ID3.getAllTags("02 On a Journey.M4a").artist.
Take a look back at my first comment for a more detailed explanation. If I edit the tags manually and I remove the tags Album Artist, therefore I get the expected tag Artist (Neurotron).
That problem only appears if both tags Artist and Album Artist (as seen in iTunes) are filled in.

I did a few tests with iTunes and I found that Album Artist is stored under the TPE2 tag (the internet seems to agree too [1]).

TPE2 Album Artist
TPE1 Artist 

The Artist field is always under the TPE1 tag no matter if I set the Album Artist or not on iTunes.
Basically I'm not able to reproduce your issue.

[1] http://stackoverflow.com/questions/5922622/whats-this-album-artist-tag-itunes-uses-any-way-to-set-it-using-java