majohn-r / mp3repair

An MP3 file repair command-line utility
MIT License
0 stars 0 forks source link

Need to sync up id3v1 tag as well as id3v2 #115

Closed majohn-r closed 2 years ago

majohn-r commented 2 years ago

Go code Doc Genre list

Discovered when using Winamp - it shows both id3v1 and id3v2 tags (and allows you to sync one to the other, in either direction)

majohn-r commented 2 years ago

Regarding the difficulties translating between the two schemas' treatment of genre (freeform text in id3v2, indices into an array of pre-defined genres in id3v1), it appears that FreeRip uses the indexed genre name in the id3v2 tag, whereas Windows Media Player seems to take the genre from the cloud source (where it gets its artist/album/track names, etc) and, when it does not translate precisely into one of the pre-defined id3v1 genres, it chooses 12 ("Other") for the index.

majohn-r commented 2 years ago

Unused characters: When a text string does not use its full allotment of characters in its id3v1 tag, FreeRip fills the empty space with spaces (0x20); Windows Media Player fills with nulls (0x00).

Comments seem to be universally unused, and consist of 28 spaces.

majohn-r commented 2 years ago

For the purposes of this program, the example library is insufficient: it does not provide a means to write an edited tag back out. I'll need to develop my own version, but the example library is a good starting point, and will get full credit in docs and code comments.