SongKong Jaikoz

SongKong and Jaikoz Music Tagger Community Forum

Match selected songs to one Musicbrainz Release

I’m working on a new task that lets you select some songs and say please find the best Musicbrainz release for these songs, so that every song gets a decent match and update metadata accordingly.

This is the first attempt at release based matching (whereby all the selected tracks are considered rather than processing one track at a time) and it draws on some of the ideas discussed in
http://www.jthink.net/jaikozforum/posts/list/1136.page

But the problem is simpler because we are only working on one album and the user has told us they believe all these songs come from one album rather than Jaikoz having to work that out. If this goes well I will extend the logic to the AutoCoorect from Musicbrainz and Manual Correct from Musicbrainz but in the first instance it provides an easy way to fix a group of songs that have been incorrectly split over a number of releases.

But I would appreciate your ideas on the algorithm, which so far is as follows.

  1. Find all Candidate Releases which match any of the following.
    The selected songs release metadata matches release name
    The selected songs subfolder field contains the release name
    The selected songs have puids that link to a release.

  2. Discard any releases that have less tracks than we are trying to match.

  3. For each Candidate Release compare every song to every track and score based on matching songname, song length, song track no (Score 0 -100)

  4. For each Release discard any release which could not get some kind of match for every song to a track.

  5. Score the remaining releases with their best track mapping. So for example user has selected ten songs and each one perfectly matches a different track on a release on title,trackno and durartion would score 1000.

  6. For each remaining release calculate release score for additional release attributes:
    Release Type
    ReleaseCountry.
    Total Tracks on Release

  7. Then combine the track level and release score to decide what release to use.

  8. Update track with selected Release metadata

Problems
a. What weighting to decide on when combining track and release level scores.
b.If we check every track puid for releases could take some time, but if we don’t would struggle to match tracks with little metadata.
c. Musicbrainz releases without track times are problematic
d. What the minimum score that gives us confidence to accept the release as the correct one.

YES! This is probably #1 missing feature in Jaikoz imho.

Your thoughts on algorithm seems very good to me, and I probably wouldn’t be in a position to correct it anyway :wink: So I’ll jump straight to the “problems”, and give you my $0.02:

b:
How long time it takes is almost irrelevant, especially if you compare it to how consuming and boring it is to do this manually. Accuracy and correctness is top priority. Please do check every track puid for releases!

c:
Then the problem is pointed to Musicbrainz database, which should be updated accordingly. I don’t mind spending some extra time to add tracktimes (or other missing info) to the Musicbrainz database, neither should anyone else. Would be nice if one could be informed that a possible match could exist, maybe with a very low score/weight.

d:
What about letting the user decide this in the config? Some people would probably be happy with a 30% score, others require 100%
Could you let the users have a “check other release alternatives” button, pretty much equal to the “manually correct metadata” option for single songs?

a:
This is a tough question to ask us simple users :slight_smile: As I said, I’m not a candidate to improve your thoughts on this, you’re the man for this! All I can add is that from my point of view, the one and only top priority concern is correctness. Meaning: if it’s quite obvious that you have the 12 first tracks from a remastered album that should contain 15 tracks - you don’t have the original release, but an incomplete remastered album :slight_smile:

Thumbs up for this improvement to Jaikoz, will save mountains of time for music freaks worldwide :slight_smile:

Even though there’s no one else replying to this thread (!!!) - I certainly hope this idea will make it to production some day…

Hi Paul.

Sorry for the belated reply. I tried the new version and here were my initial impressions. The new algorithm works better than the old one but there are still a number of problems:

  1. You have to manually select all the songs in each album. This is not feasible if you have thousands of albums. The algorithm still doesn’t seem to have an option to treat each collection of songs found in a leaf-node sub-directory as a potential album. This means that I have to manually select all the tracks that are in the same album which is way to slow to be practical.
    2)The release matching algorithm still picks the wrong release in many instances. By looking at a few examples, I believe that the accuracy could be greatly improved if you incorporated the following:
    a) Treat song durations that differ by 3 seconds or less as being a 100% match for the duration field. It would also be useful to be able to add the duration field as a column on the first tab since I find this field (together with track number and title) is very useful when trying to choose which MusicBrainz release is the best match
    b) Prefer releases from a particular country (for example, many of my songs were taken from CD’s bought in the UK, but there is no way of giving Jaikoz this hint, so instead it seems to pick releases from Germany most of the time!)
  2. The new version of Jaikoz seems to have lost the feature for customizing the Auto-correcting workflow (or maybe I just can’t find that feature any more).
  3. Jaikoz now highlights the metadata fields that it has changed. I may be wrong, but I don’t think there is any indication for the artwork that has been changed.

Hi, thanks for your comments, but are you taking about Manual Correct here, because that hasn’t be updated the new feature is 'Match all songs to one Release

1> The good news is that we have moved on quite a bit from this and should have a new version of Correct Metadata from Musicbrainz out as beta within the next two weeks that will let you correct all your albums with one click, much like the algorithm we discussed a while ago.

2a> Songs must be within 10 seconds , but better score the closer they are. in the beta Ive increased this to 15 seconds either way. Are you just saying that if 3secs away got the same boost as same seconds that would match things better ?

2b> Preferred Country can be selected in Preferences/Remote Correct and this affects scoring

3> Its still in Preferences/Manipulators/Autocorrecter

4> Jaikoz always highlighted changes if you had the Preferences/Table/Preferences/Table/Synchronisation/Highlight Changes enabled but I’ll check the artwork problem.