View Single Post
Old Jan 12, 2019, 07:20 AM
dancey's Avatar
dancey dancey is offline
Trusted Editor
Join Date: Dec 2007
Location: New Jersey
Posts: 1,277

I don't know if there is an official rule and this is by no means an official statement, but this is my ideology around that:

Track times should only ever be added from physical source, unless the release is digital-only and then it can be taken from the digital files. One of my biggest pet peeves is people adding track times from a publisher/retailers web site or their digital files and it not being correct and the disc not querying correctly with vgmdbs freedb implementation. Publisher/retailers are usually correct but not always. Digital files as a track time source can vary wildly and should never be used unless you ripped it yourself and are confident in your ripping process (i.e., know what you're doing). There are way, way, way too many people who I can tell just download an album from some random source and use those times as source. When something is incorrectly ripped with leading/trailing offset and no gap detection, that is when problems will happen.

In EAC, all you have to do is press Ctrl-D to copy the tracklist with track times, then go to the album page in vgmdb, edit the tracklist, select "Transfer length only" before pasting the tracklist, paste the tracklist in, remove the top 2 lines (CD Artist - CD Title\r\n) and the last line (\r\n), then select something on the left hand side (the existing tracklist) to propagate only the times to the tracklist and submit it.

vgmdbs freedb implementation is a fuzzy implementation because vgmdb only stores times, it doesn't store frames or offsets, so when you query freedb it looks for a disc that has matching number of tracks with the same track times +/- 3 seconds (which is why it's a fuzzy search) and will return all results that match, which is why sometimes you can get many unrelated results back for a single disc. You can read all about it over the years here:

The best and most accurate way is to get the DISCID from the CD and add it to the Album Info for that specific disc. DISCID is a hash string of all of the tracks, their frames and offsets, across the entire disc, and is the most accurate way to query. I believe the implementation looks first for any matching DISCIDs and returns those, and if it doesn't find any, fuzzy queries by track times. There are some rare situations where you can't pull up a disc via freedb even when times are correct in the database and adding a DISCID will solve it.

Given that you generally shouldn't be pulling track times from digital files, this part isn't that relevant, but different players round track times differently. Some players truncate (Winamp), some players round (foobar). Neither is incorrect and just a matter of preference, really. It also won't significantly matter if something is +/- 1 second based on the freedb fuzzy query implementation anyway. If for whatever reason you need to manually update the database with track times and you have milliseconds or frames, I prefer round-up, so 2:30.5 (through 2:30.999~) --> 2:31 and 2:30.0 (through 2:30.499~) --> 2:30. But manual rounding should be such a rare occurrence this shouldn't come up that much.

tldr: physical source only, unless digital-only release, then use digital. Never add track times from digital source that you randomly downloaded from the internet. Never update the database with track times just to make your digital download freedb query match so you can tag something.
Reply With Quote