Freedb discid translation

Tags: #<Tag:0x00007f2a569d98b0> #<Tag:0x00007f2a569d96a8> #<Tag:0x00007f2a569d94f0>

Hi all,

Does know how to translate a freedb discid to the equivalent MB resource?

Thanks in advance

1 Like

If you mean how to convert from a freedb disc ID to a MusicBainz disc ID, that’s not totally possible. The MusicBrainz disc ID contains the the lead-out track offset (end of last track), and the freedb one doesn’t.

Compare e.g. the following equivalent disc IDs:

https://musicbrainz.org/cdtoc/lSOVc5h6IXSuzcamJS1Gp4_tRuA-
http://www.freedb.org/freedb/rock/b40c9e0b

The lead out sector is 242457, but this info is not present in the freedb entry. Hence you cannot convert the freedb reliable into a MB disc ID. But you can do it the other way around, MB disc IDs can be converted to their freedb counterpart.

4 Likes

Thank you for your reply @outsidecontext.

I have ripped several hundred CD’s with the help of freedb. What I am trying to do is refresh the metadata, mainly genre, from MB.

When I ripped these CDs I also captured the DiscId. So, as well as the album, artist, and titles, I have the total number of tracks, track lengths and the Disc ID.

My thinking now is - if I can reconstruct the TOC (programmatically) from the info above, construct a query to MB, then filter the reply by correlation of existing data…

In this case you probably will get some good results by doing a fuzzy TOC lookup, see https://musicbrainz.org/doc/XMLWebService%23Looking_up_a_Specific_Artist#Non-MBID_Lookups

You just have to calculate the lead out track sector from the disc length. Since freedb only has the length in seconds this will not give exact sector, but probably with all the other exact sectors this will be enough for a fuzzy lookup.

2 Likes

What did you rip with? EAC logs can be copy\pasted into this page and a discID lookup then can be done at MB.

http://eac-log-lookup.blogspot.com/

I assume it handles a few other log variations.

That page will take something as simple as this (chopped from an EAC log):


TOC of the extracted CD

     Track |   Start  |  Length  | Start sector | End sector 
    ---------------------------------------------------------
        1  |  0:00.00 |  1:08.26 |         0    |     5125   
        2  |  1:08.26 |  2:48.54 |      5126    |    17779   
        3  |  3:57.05 |  3:50.45 |     17780    |    35074   
        4  |  7:47.50 |  6:49.45 |     35075    |    65794   
        5  | 14:37.20 |  4:44.10 |     65795    |    87104   
        6  | 19:21.30 |  6:22.56 |     87105    |   115810   
        7  | 25:44.11 |  7:49.64 |    115811    |   151049   
        8  | 33:34.00 |  3:26.16 |    151050    |   166515   
        9  | 37:00.16 |  3:46.70 |    166516    |   183535   
       10  | 40:47.11 |  2:11.41 |    183536    |   193401   

This has been very handy for me. Especially when I can’t be bothered to get the disk back from the shelf…

4 Likes

Thanks @IvanDobsky ! I just tried it out. So cool, so easy. :ok_man:

A thread where I found it links to other details about it.

I find it works great with EAC logs. Saves getting the CD off of the shelf.

1 Like

Thanks again @outsidecontext for your reply. I am away from my development computer for a little while - a few different algorithms are coming to mind. I will post back here which works best…

PS: I have used several different ripping software packages over the years. I don’t recall using EAC. I used the package that came with Creative Sound Blaster for a while (it was the fastest by far - early versions used freedb, later versions used Gracenote). I have used my own software (PoQStacker) in recent years - which I am transitioning from freedb to MB.

1 Like