It’s not uncommon for SACDs to come with both a stereo and a multi-channel layer. I have a few of those, and run into issues importing them with beets. As both layers have the exact same tracks, I often time end up with directories that contain a fix of both layers.
When importing both the stereo and the multi-channel tracks, they import is matched against the release above. It does all the metadata magic it’s supposed to be doing, however, I end up with my Disc 01 directory containing all the stereo tracks - except for track 2&3, which are from the multi-channel layer. On Disc 02, it the exact opposite of course - track 2&3 are from the stereo layer.
Few questions:
a) I can’t determine from the output upon import that such a thing is happening. Or can I?
b) Is there an easy way to fix this? Especially since the title of the tracks will differ after import?
c) Are there any other ways to influence the import?
Interesting corner case! No, I believe if your existing metadata doesn’t contain an indication about which medium (disc) a track belongs too, the beets output won’t be able to indicate that the swapping is occurring either.
Perhaps a way to resolve this would be to set the disc field for the tracks: put 1 in the field for the first set of audio files, and 2 in the field for the second. I believe beets should be able to sort out the order from that.
When odd matches come up like this, sometimes it’s because of embedded MBIDs in the tags or because of Acoustid fingerprinting. Might either be the case here?
If not, is there some way you can share a representative example so we can try to reproduce the problem?
Obviously, I cannot provide those files, but I can say this:
Fingerprinting of DSF files does not work.
I tried with a clean copy that definitely does not include MBIDs. Worse, I tried to manually add the correct MBIDs for the tracks, but it still mixes them up.
Is there any way to enable logging for the track matching algorithm?
That’s the problem; we don’t have any more verbose logging than the -vv level—which is why I may need to dig into the matching algorithm to add a little more to help expose what’s going on.
One strategy, which is tricky but possible, is to tag a few silence tracks (e.g., copies of test/rsrc/full.mp3 from the beets distribution) with the right metadata so the problem gets triggered.
Good news. I found a way to fix the import: the 5.1 tracks in MusicBrainz contain ‘(5.1 mix)’ as part of the track title. If I add that to the metadata before starting the import, beets doesn’t mix up anything.