Disc IDs from Hybrid SACDs

Just confirmed this. Release not yet in DB. Will add it later. Done
TOC

1 Like

Hi there, yes, I used foobar2000 (1.5 b2) + foo_musicbrainz (0.3.9) + foo_input_sacd (1.1.3-2).
Sorry for the mess, Iā€™m just feeling my way into all the possibilities of editing a release.

Edit: If there is a problem with calculating the hash, I could open a bug report on the SACD plugin authorā€™s sourceforge page. Iā€™d need some detailed info, though.

6 Likes

I should be able to prevent foo_musicbrainz from making these erroneous submissions. Iā€™ll let you guys know when Iā€™ve done it.

1 Like

@marc2k3 What component is actually responsible for calculating the disc ID here? Is it foobar2000 itself, foo_musicbrainz, foo_input_sacd or something else? Could whatever does the calculation be changed to make use of actual libdiscid?

1 Like

foo_musicbrainz does the DiscID calculation.

But Iā€™m not even touching the code that does that. Iā€™m just updating the code that wonā€™t even let you open the menu option unless all tracks meet certain criteria. For example, this selection of tracks is OKā€¦

and this selection is notā€¦

2 Likes

But probably based on (in the case of @Jorgosch, erroneous) data provided by foo_input_sacd?

Well itā€™s just the exponentially larger number of samples per track that is the problem. Theyā€™re far too large to be from a normal audio CD rip.

Hereā€™s an updated version which ensures the sample rate of all selected tracks is 44100 Hz for TOC submissions.

edit: there were already checks in place to make sure that samples % 588 == 0.

4 Likes

Ok, now I get it. So the disc ID calculation is not actually done by directly reading the CD TOC, but by relying on the metadata foobar is passing along with the tracks for playback, right? I guess this could lead to other wrong calculations. E.g. there might be no info on the pregap. Is this taken care of?

I didnā€™t write the code but you can poke around at it hereā€¦

IMO we could remove the Add Disc ID to MusicBrainz feature completely from foo_musicbrainz.
Itā€™s always better to submit from Picard which uses the official lib.

3 Likes

I have lots of reasons why Iā€™m not doing that.

The original developer released the component over 10 years ago and most people will be using that as itā€™s still available for download.
Most people are lazy and use it to fetch tags only.
Hardly anyone will be aware that Iā€™m updating it.
It correctly reads the PREGAP when you add a CD to a playlist like thisā€¦

It correctly reads the PREGAP when you use a CUESHEET generated by EAC like thisā€¦

It correctly generates the TOC for most CDs in my collection that are ripped to single files.

Yes there are instances where it wonā€™t account for non-standard PREGAPs but if you look at this exampleā€¦

That is not caused by foo_musicbrainz!!

2 Likes

I think a better solution would be for foo_musicbrainz to use libdiscid rather than to remove its feature altogether. We want it to be easier for people to add data (incl. Disc IDs) to MusicBrainz, not harderā€”but we also want them to submit correct data. So either any bugs in foo_musicbrainz should be fixed (itā€™s good to have multiple implementations of a standard!) or they should switch to use libdiscid for Disc ID calculation (itā€™s the official and canonical implementation and itā€™s good to support the upstream of that!).

Either way, as long as the lineage is observed via edit notes or some such, Iā€™m fine with any outcome, as we can go back and determine ā€œbad clientsā€ later. Only issue with that is that itā€™s most often not given in edit notes what was used to calculate the Disc ID. :confused:

2 Likes

It would be nice that Add ISRCs edits could include Client parameter, like Add ISRCs edits do.

3 Likes

The reason why it canā€™t is that Disc ID adds canā€™t be done via the web service. You can only add a Disc ID by looking up a Disc ID and the editor then has to go from there to either add a new release or add the ID to an existing release. Any data submitted from the client generating the ID will have been long lost during this process before you actually get to the edit. Maybe there are ways of passing an URL parameter or something around until the edit, but it seems a bit hackish. But maybe. :slight_smile: @Bitmap/@yvanzo/@reosarevok?

2 Likes

Oh yes youā€™re right!
I didnā€™t think of that.

I will just add that I really really donā€™t want anything to generate disc IDs based on anything other than a real TOC. They are supposed to be a source of truth.

3 Likes

I generally agree, but Iā€™m OK with a few other generally-good sources too: ripper logs (such as EAC or whipper) and cue files come to mind.

Iā€™d also love to see the TOC idea extended to DVD title/chaptering patternsā€¦

4 Likes

It looks like mark2k3 has deleted his github repository along with the foobar2000 component, so I guess thatā€™s that.

2 Likes

The development of foo_musicbrainz2 os being continued by @MordredKLB, see

Other code by marc actually seems to be lost, though :frowning:

3 Likes