Jump to content

Artist field parsing fail

Recommended Posts

  • build 957-bundle-play
  • M2102J20SG
  • 13 TKG1.221013.002



I recently noticed a parsing bug on the app, which causes me to have messy scrobbles on lastfm.

On tracks that have multiple artists (separated by semicolons) like the one I linked, only the first artist appears in Poweramp. I wouldn't mind if it was just a graphic bug, but it has an impact on lastfm and messes up my stats (the heresy! :D).

It doesn't do it on all of my tracks with multiple artists though, so I suspect there's something I don't understand about this bug.




Link to comment
Share on other sites

The sample file that you have uploaded does not actually contain a real semicolon in the Artist field. It actually contains two individual Artist names, "REDALiCE" and "従井ノラ", separated by a null symbol (zero byte/s) which the Poweramp interface should display using a semicolon to separate the two names - as otherwise they'd just run into each other. I'm not sure why the second name is not appearing though, unless maybe you don't have the Multiple Artist mode enabled in PA Settings=>Library=>Scanner ?

MP3Tag for example indicates this sort of multiple-item field using the notation "\\":


Hmm, the Artist tag is UTF-8 encoded, but there is no special "FF FE" marker code at the beginning of the second name, so that could perhaps be the issue?

  | Artist = REDALiCE/............
  | - Tag 'TPE1' (29 bytes):
  |     0024: 01 ff fe 52 00 45 00 44 00 41 00 4c 00 69 00 43 [...R.E.D.A.L.i.C]
  |     0034: 00 45 00 00 00 93 5f 95 4e ce 30 e9 30          [.E...._.N.0.0]

[Edit] I just re-saved the file in MP3Tag, and that has inserted the correct marker bytes (the "FF FE" after the three zero bytes) and the tag then works as expected in Poweramp. Try simply loading the file into MP3Tag and re-saving it:

  | Artist = REDALiCE/............
  | - Tag 'TPE1' (33 bytes):
  |     002d: 01 ff fe 52 00 45 00 44 00 41 00 4c 00 69 00 43 [...R.E.D.A.L.i.C]
  |     003d: 00 45 00 00 00 ff fe 93 5f 95 4e ce 30 e9 30 00 [.E......_.N.0.0.]
  |     004d: 00                                              [.]



Link to comment
Share on other sites

1 minute ago, Oyama Rilves said:

Oh okay thanks a lot! So this is simply a tag problem from me?

More of a problem from whatever software created the tag in the first place. Technically each individual artist name could use a different encoding method (one part as plain old western ASCII, and the other as international Unicode/UTF-8 for example) so there ought to be a UTF-8 header code at the start of each individual item. PA correctly interpreted the first half as UTF-8 because there was a header at the start saying so, but the second half had no header and thus it seems to have failed to read it as valid ASCII. Just load any problem files into MP3Tag on a computer and resave them (which could be done as a batch process if there are a lot). 

@maxmp would it maybe be a good idea to assume that if the first half of a tag is UTF-8 encoded, the second half (after a null-separator) is most likely to be the same? Of course that would break tags that are genuinely encoded using two different methods though... Not sure how common that would be in the wild though.


Link to comment
Share on other sites

I don't think mp3tag exists for linux but surely I can find a software that works the same


edit: found one that works fine, Kid3 (for KDE env). To fix the tagging, you have to edit the artist field to force save it. The artist separator in Kid3 is "|", that gets translated into a null symbol

Edited by Oyama Rilves
add further informaion to fix the problem
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...