SongKong Jaikoz

SongKong and Jaikoz Music Tagger Community Forum

Correcting Genre for Android Phone

The Android Hero (and all releases prior to Foyo) have a nasty bug in Genre that breaks every player I tried on the android.

Basically, if I understand properly I need to:

  • Remove all IDv1 tags and replace with IDv2.2 BUT Genre must be empty!
  • Then re-scan and fill Genre into Idv1 BUT only Genre …

It is discussed in in detail:

http://www.google.com/support/forum/p/android/thread?tid=7012409cb6606d66&hl=en

I looked at the various options and it looks like Jaikoz can do this, but I haven’t quite thrown the proper combination. With all the options was was almost surprised there wasn’t a "Fix buggy Android genre’ check box :slight_smile:

Any help, steps, procedure would be greatly appreciated.

I have recently purchased an Android phone, but havent used it much yet but as I understand it you are using the Music application, and then if you select Search Music and search for a genre it doesnt always find songs with that genre ?

The post contradicts itself a number of times wrt to solution, I cant see how having a genre field in the v23tag will stop a match on genre if there is a genre for the v1 tag. I think it should work if you write both ID3v2.3 and IDv1.1 tags which you can do by setting

Preferences/Save/ID3Tag V1 to Always Write tag

and

Preferences/Save/ID3Tag V2 to v23

and then loading your files, then when you save them they will automatically be saved to the correct version.

Note that only genres is the dropdown genre list can be displayed in v1 tags, with Jaikoz you can easily find out which songs have none standard genres using

Filters/Filter Non-standard genres/Non-standard Genres

Yes, there is some confusion there. From other posts it seems that Android can ONLY use V1 Genres BUT can use 2.2 other tags. My guess is that the list of genres is hard coded wrong. My guess is limited by not understanding the internal tag structure of MP3.

But I can verify that if you upload tracks ONLY a few show up properly on genre search. In multiple music applications. Some programs allow an on-board edit of the genre and the list seems quite different from what I expected. Who knows the bug truly is, but multiple people report the fix does work, although I suspect the fix and the reasoning may be sub-optimal.

It is a nasty problem for for me when I try to play all songs in a genre, which is my most common way of doing things.

I am afraid your recommendation does not make sense to me on first glance, I will play with it in a bit.

Thanks

Well to clear up some mistakes in the Google Posts, there is no such thing as v2.1 tags,and v2.2 tags are rarely used so I’m pretty sure that when people mention 2.1 or 2.2 tags they really mean 2.3 tags, but if they do mean 2.2 tags then you can write this instead of 2.3 tag if you want.

It would help if you could list some examples of which ones are showing and which are not.

Some quick ones. Not all of these were Jaikoz corrected. I am still on the demo while I try to resolve this issue.

Some forum posts confuse the Android version with the ID3v one. Android 2.1 (and before) has the bug, Android 2.2 and greater may have this fixed. Unfortunately my Hero is locked to 2.1 since HTC has stated they will not upgrade it which is a downside of Google’s strategy. I may rootkit it later, but not for some time.

** Not detected (harder to find)
“Rock/Pop”
“Piano Blues”
“Pop Rock”

** Detected:
“Classical”
“electronica”
“Electronica & Dance”
“Hip Hop/Rap”
“New Age”
“Rock”

** Appear in the Genre edit for my music app: mixzing (demo avail on market)
SEARCH on POP:
Acoustic Pop
Ambient/Dream Pop
Brit Pop
Christian Pop
European Pop
Latin Pop
Pop

SEARCH on Rock (seems a short list)
Art Rock
Avant Rock

None of these are in the list of genres defined in ID3v1, there are 128 standard ones and an extended Winamp list of 255 genres. ID3v1 stores genres as a number in one byte so it can never store more than 255 genres. So the question is does Android read genres from v23 tags at all or not ?

Classical, Rock, New Age are all standard tags BUT the other are not, although they are super strings of the genre for example ‘electronica’ and ‘electronica & dance’ are super string of electronic, ‘Hip Hop/Rap’ is a super string of Hip-Hop (assuming punctuation chars are removed). So if these tags are being found that implies Android is reading the genre in the v23tags because v1 tags could not possibly store values such as 'Electronica & Dance.

Now in v23 tags can either be stored as number representing the v1 genre (e.g 17 represents ‘Rock’) or the text itself (e.g ‘Rock’) so I think the problem maybe that Android only recognises genres stored as text.

Try loading the files describe above back into Jaikoz, in preferences enable Save/Compatability/Save genres in an iTunes-friendly format and
Save/ID3v2Tag/Save Existing Fields using these Encoding Preferences and run Force Save and see what effect that has on the files in Android.

Is this an app your using or you wrote, Im not really sure what you are trying to tell me here with this list ?

The music application I mentioned has an edit mode. That edit mode has a Genre field that oddly enough shows the Id3v2 tag properly. It also has a drop down so that as I type a Genre a drop down list shows entries that match.

A quick glance of the Id3 specification seems to indicate that v1 used a byte (as you mentioned) and v2 uses free form. So, my wild guess is that the muxzing editor CAN edit the v2 tag BUT when querying the Android for genres the Android is limited to a list of genres from some internal V1 tag list (extended or otherwise)? OK, that is going out on a limb.

IF I set the MP3 tag to one of the items in the drop down list, then it works.

BUT there are tracks that came with the phone (and ONLY those) that have Genres not in the list (Electronica/Dance) and those appear in the Genre index perfectly. If I edit a tag in another track to match those, no go. Totally weird. I looked at the MP3 tag data via Jaikoz and do not see anything unusual on these UNIQUE WORKING tracks (except that the tag included & or /).

Tried your suggestion and thank you so much for the very clear instructions. But no go.

The Android Genre issue is a pain in the neck, for me and others. The bug may be some weird internal table lookup issue that defies analysis from the outside. Or maybe I just do not have the time to deduce the trick while preparing for my trip.

Either way, it is most disappointing.

Any other ideas?