Hacker News new | past | comments | ask | show | jobs | submit login

- TDOR: original date

- TDRL: release date

https://wiki.hydrogenaud.io/index.php?title=Tag_Mapping

Unfortunately ID3 doesn't define a VERSION tag like Vorbis does, which can be used to store the "Remastered", "Japanese Version", etc. metadata.




Thanks! I'm highly suspicious that any of my mp3 players or player software can actually sort by these fields, though.


I found that MusicBee supports it, but yeah, generally support for that tag seems to remain pretty exotic, and I've got no idea either whether any Android music players support it.

Compilation albums pose similar issues, by the way. If I tag the release year of the compilation album, then the individual songs won't be filtered correctly if I want to do something like "play 60s music" or "play 70s music" etc. (and the same issue also applies to your "remastered album" scenario), and if I tag the original release years of the individual songs, then the positioning of the album will be a bit wonky (and I've found that some software uses the earliest date found for the whole album, whereas other software uses the perhaps somewhat more sensible latest date. I'm sure some software exists out there that simply uses the date of the first/last track [1], as well).

Next problem is that support for timestamps more fine-grained than a year is equally spotty, so if an artist has released multiple albums in one year that don't happen to sort alphabetically, you also run into problems. To some extent you can override it by setting a custom sort order album name, but that can cause other issues elsewhere (i.e. when you do want to actually sort the albums alphabetically) and isn't supported by all players, either.

Curiously enough, I've found that files bought from the iTunes store often come with a full timestamp in their tags, even though iTunes itself only supports years, i.e. you can only view and enter a year within the UI and the full timestamp doesn't even appear to be used internally behind the scenes, because multiple albums released within the same year are still only sorted alphabetically even if they have full timestamp tags with the proper dates set.

[1] In fact iTunes does that for displaying the genre of an album – it just uses the genre of the first track, regardless of how representative that might be (or not).


This is the crux of it. All software chooses what elements of the "spec" it supports. There are ways to do what you want, but whether those are useful depends on your use cases and specifically the other software (and hardware) you use.


Then also some of this stuff has not been touched in years. So you can end up with quirky bugs. Like if you use picard in a particular way then give it over to windows media player, WMP sometimes will corrupt the file. However, if you tag it in the particular way it likes then it is OK. All of those fields are 100% left up to the interpretation of the program.

Then you have fun things like should you use "; " or " / " or ";" or "/" to do multi item fields. Or should the tagger put the same tag in more than once? What happens if the band/artist has that char in its name? What will the player do? Do you want utf-8 or 16? It is a quirky mess. Then lord help you if you mix in 2 or 3 different programs that have their own interpretations of all of that.

Oh then you can have all flavors of an id3 tag in one file, plus ape, etc. That may or may not be synced between each other.

Then there is the generic TXXX tag. Oh boy that thing is an interesting one. Random things are stored in them. Is it necessary? Some is, some isnt. I have seen anything from picard NVP bits, random binary data, XML purchasing data, volume leveling, etc. Then if your editor of choice does not recognize the particular NVP they usually just ignore it. So removing them is interesting.

Oh then the data in the tags themselves can be fun. Depending on your source data. You can end up with "Random Person" "Random Q. Person" "R. Person" "R. 'coolnick' Person" "Random P." and so on. Musicbrainz uuid tag for that sort of fixes it. But only if the player supports it.

There is a tool out there that does a sanity check of some of this. Unfortunately the name eludes me at the moment. I usually use it to remove extra padding. Some of the editors like to leave 2-4k extra padding in each file for if you make another update. It speeds up updating. But once you are done...




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: