Seed your database – part 2 – fix mismatches

This step shows how to handle scrobbles which are unable to be automatically matched against your MediaMonkey database. Mismatches can be due to any of the various causes discussed in an earlier section of this Users’ Guide.

GOOGLE PLAY USERS: the tools and techniques discussed here may also be used when importing and matching the hidden track IDs from a Google Play library. … ie. where the following text discusses “imported scrobbles” you can substitute “tracks imported from Google

It can be too exhausting to attempt to address every single mismatch, so the general aim is to handle at least the low hanging fruit, and the most impacted tracks or albums. By default AlbumPlays makes a lot of auto-corrections for you. For the problems which remain, AlbumPlays attempts to do most of the leg work for you, and presents the issues for you in a sequence where the most important items can be attended to first.

Status Report

The Status report reminds us of our current situation. We downloaded 525 fresh scrobbles; 67 of them were unmatched, and a further 56 were assumed to be streamed and unmatchable, since nothing similar was found in the MediaMonkey database.

Both unmatched and streamed scrobbles will be ignored and lost, unless we provide rules enabling them to become successfully matched against the current MediaMonkey database.

The Details buttons will list these scrobbles, but that may not be of great interest while we are in the seeding phase, as there may be many mismatches.

Mismatch Options

With mismatches you have four basic options:

  • either use MediaMonkey to re-tag your track to conform to the tags imported from (or Google Play); a match will be achieved when you retry the Approve action
  • or use the AlbumPlays action lists to generate, or accept, rules enabling the imported tags to be translated back to your current track tags
  • or tell AlbumPlays that you do not own the track (or album), ie. that it was played from a streamed service; AlbumPlays will discard it, and also silently discard any future problem from that track or album, so that you are not bothered by it again
  • or force close the Get batch, without fixing remaining mismatches; remaining items will be discarded

The term matching refers to the process of identifying each import against the correct track in your MediaMonkey database. This is achieved by matching the imported Artist, Album & track name tags against those in MediaMonkey.

If you installed the fuzzy logic extension to Python, small tag differences may be automatically resolved for you. Where a track cannot be fully matched, AlbumPlays will look for a closely matching track tag set in your music collection, and if found will silently accept this as an actual match. … In order to be considered a close enough match, one or more tags have to be an exact match, and the problem tag(s) have to be a close match. .. Examples:

Artist Album
Grateful Dead Europe ’72 [Bonus Tracks]

It is close enough if the album tag is only “Europe ’72”, as long as the Artist tag is a correct match.

Artist Album
The MG’s Time Is Tight

It is close enough if the artist tag is “Booker T. & The MG’s”, as long as the Album tag is a correct match.

Artist Album Track
The Flaming Lips Yoshimi Battles the Pink Robots Do You Realize??

It is close enough if the track tag is only “Do You Realize”, without the two question marks, as long as the Artist and Album tags are a correct match.

AlbumPlays’ fuzzy logic can automatically repair mismatches like these for you.

  • you can downgrade fuzzy logic assistance to just suggestions, rather than corrections; you do this as described here … if you do this the fuzzy logic suggestions will only act as described by the following section, ie. they are detected, and pre-selected for you, but not enacted until you approve them with the Update button, and then rerun the Approve action.

By default, AlbumPlays is also configured with an option aimed at making quicker work of the seeding process. Where a match cannot be found using the full tag set, nor by fuzzy logic, AlbumPlays will try to find a match using only the artist and track name tags, ie. entirely ignore the album tag. I have found that this makes a dramatic difference if your tracks contained a lot of blank album tags, or you have significantly re-tagged many of your album titles.

**Warning: If the same artist & track name tag combination exists in several albums, this shortcut may match the scrobble to the incorrect track version. However this can only occur where the track is unable to be matched using the full artist|ALBUM|track tag set, so is unlikely to cause too great a problem. … You may want to turn this feature off once you have completed seeding, and you progress onto handling your current scrobbles.

you can turn off the above option as described here

One final productivity feature I want to mention at this point regards tracks or albums that you listened to using a streamed music service, such as Google Play. If these items are not in your MediaMonkey database, they can never be matched, and are are just clutter, making it difficult to identify and fix unmatched scrobbles, from the tracks which you do own.

By default AlbumPlays will flag, as being streamed, any scrobble where neither the album artist, nor the album, was found in your MediaMonkey database. It initially hides these flagged items from your action lists, as once flagged, they require no further action from yourself. .. According to the status report, there were 55 of these in the current batch. … More about these later … for the time being they are hidden from view, allowing you to focus upon problems requiring your attention.

you can turn off the above option as described here … nb: this feature is always off when you are importing track ID’s from your Google Play library, rather than importing scrobbles from LFM

match breakdown from 1st Approve action
breakdown of matches

The Run Summary shows the effectiveness of AlbumPlays’ various matching aids and strategies, with this first batch of imports.

This first batch of scrobbles is pretty much a worst case situation, as I had just created my account, and was streaming music I didn’t own, whilst ripping my own collection,. Even so AlbumPlays has automatically handled all but 13% of the imported scrobbles.

Now to fix the remaining problems, which in this case required just two updates to the Action List.

Action Lists

An action list of new rule templates will have been automatically created for unmatched albums and tracks found in your current batch of fresh scrobbles, or Google library imports.

If you installed the fuzzy logic extension to Python, and if a closely matching track has been identified, AlbumPlays may have already fleshed out some templates with its guess of the correct tags. Templates are awaiting your approval, or adjustment. nb: these fuzzy suggestions, are additional to fuzzy logic corrections, discussed above, which have already been automatically applied, and silently resolved whatever problems they could.

Important: If you exit an Action List via any other means other than the F3 key, or the Update bottom at the bottom of the list (ie. you just close the window, or press F4 to cancel) your actions, and all of the pre-selections will be ignored.

Provided that you exited via the Update button or F3 key, for each template where you supply, or accept, corrected tag information, and that change enables a match, there are two outcomes:

  • the related scrobble(s) will be become matched when the Approve action is rerun against the current batch of imported scrobbles
  • and the rule template will be promoted to become a permanent rule; it will be automatically and silently re-used whenever the same track(s), or album, are played in the future, where those scrobbles cannot be matched naturally against your MediaMonkey database of the time.

Templates may also be used to advise AlbumPlays that you don’t own a track or album. This will:

  • have no impact upon the current scrobble; it will remain unmatched and rejected
  • but it will create an ongoing rule, so that if the track or album is re-encountered, and remains unmatched against the MediaMonkey database of the time, the play will be automatically suppressed, so that it doesn’t re-appear in your action list

Firstly we should work with whole albums (ie. issues at the album level; an apparently incorrect album artist name, or album title).

Use menu option Edit|ActionListAlbumBasedRules.

Edit menu

The Template Editing facility will display only action items which it thinks that you may own, ie. those where it has found either the album artist or album in your MediaMonkey database.

The templates are sorted so that you are firstly presented with the albums having the largest number of plays within the fresh batch of scrobbles (in a Google Play situation the largest albums are presented first).

first action list
(NB: remember you can zoom into any illustration by clicking on it)

As I am a whole-album listener I can immediately see that I have next to nothing to do here. The action list starts with a album containing 11 tracks, and then falls way, to a long list of of “albums” which seems to have just one or two tracks. … A quick review of the list shows me that these are just streamed tracks which I listened to while I was ripping my own collection to disk. … AlbumPlays has been unable to handle these plays automatically, because even though the tracks are not in MediaMonkey, their artists were found there. So AlbumPlays cannot be sure whether it is a streamed album, or just a mangled album tag.

I flag the whole list as Streamed by clicking the single checkbox above the Streamed column (action #1).

I do own one album at the top of the list. Fuzzy logic hasn’t been able to correct this scrobble. The reason is because considers that this is a album by Egberto Gismonti, but I have it tagged as belonging to Charlie Haden. … Actually it is a collaboration from both of these artists; in MediaMonkey I have both names in the AlbumArtist tag, but only Charlie Haden in the Artist tag.

AlbumPlays needs to match the imported artist tag to a track with the same artist tag in MediaMonkey. … Scrobble submissions to are sent using the artist tag, so in this case either “corrected” the tag to Egberto Gismonti, or I originally had my album tracks tagged to him, and in the years since have re-tagged them to Charlie Haden. … Whatever the reason, fuzzy logic has found no close match, so I need to make a correction to my track tags, or a manual correction to this rule template. I can either:

  • use MediaMonkey to add Egberto Gismonti to the track tag for this album, and then rerun the Approve action, the problem will go away.

  • or I can fix the problem using the action list. AlbumPlays has found Charlie Haden’s name in the album’s AlbumArtist tag, and has loaded him into the template’s artist combo-box for the row. I can select Charlie from the combo-box (action #2 in the above illustration). This action will automatically reset the row’s “streamed” checkbox off, and queue the scrobble tag correction ….. (your adjustments are not restricted to just combo-box entries … you can copy and paste a tag from MM, or use the keyboard to type your own entries)

Having completed either action, and setting the other items to Streamed, I press F3 (or use the Update button at the bottom of the screen), and then rerun the Approve action.

In this case these two actions fixed all remaining problems with the batch. AlbumPlays imported the track plays (or Google library IDs) into MediaMonkey, auto-closed the batch, and positioned itself ready for my next Get action.

I am now going to make a configuration change, and then rerun the Get action, to import a larger batch of scrobbles, so that I have a more diverse set of problems, where I can illustrate a few more of AlbumPlays’ matching tools.

2nd Run Summary; a bigger batch

This new batch has 6,000 scrobbles. It is from the same period, so I was still listening to a lot of streamed tracks. This means there will still be rather a lot of mismatches.

I ran the Approve action. There were 520 mismatches (9%). This time there are also a number of matches (142), which were achieved “after action list”, ie. fixed by the persistent rules which we previously created. These corrections will have been as a result of the rules created by my first batch.

If this new batch included plays from that same Charlie Haden album, it would have been amongst those auto-fixed without troubling us again. … Since we haven’t created too many rules yet, most of the rules were auto-created from the fuzzy logic corrections during the first batch, but the main point is that work done to resolve matches is an investment, as it also resolves future problems.

album level action list
Action List: album level fixes .. click to zoom in

Again I ran the Action List menu item for whole-album level fixes.

If you look at group #1, you can see that these album had less problems, than there were plays. For example the top album, by Ralph Towner, has 31 plays in this batch of scrobbles, but only has 2 tag mismatch problems. … This indicates that the mismatch is at track level, and is not an album-wide issue. … We can ignore these errors here, as we are working at whole-album level in this Action List.

Group #2 have the same number of problems as there were plays, so this is likely to be an album tag issue. They are similar problems to the Charlie Haden album, ie. differences in the artist tag too great for the fuzzy logic. … I have selected the correct artists from the combo-boxes, and these albums will be successfully matched by the next Approve action.

The album marked as #3 is a whole album issue which is well messed up. I don’t know what went wrong with these scrobbles, as that is not the album that the underlying tracks come from. … The “?” button in the Lookup column allowed me to see the names of the tracks scrobbled with these album-level tags. This allowed me to identify the album, and I was able to select its name from the combo-box.

Once I handle the other album-level issues with the batch that I care about, I re-run the Approve action to remove the clutter, and then move to the track level issues. This second Action List is produced by the Edit| Action List: track based rules menu item.

track level action list

This is similar to the album-based action list, excepting that here we can alter artist and track name tags for the single track, rather than artist and album name for the album as a whole.

I can see that Ralph Towners track name tag wasn’t close enough for fuzzy logic to be confident about, so I select the correct entry from the combo-box.

Fuzzy logic has already made many corrections, just as it did at the whole-album level. Both action lists contain a hidden list of new successful tag corrections. You can see these by pressing the F5 key to change the list’s filter. … The “Fixed” filter will list your own successful tag corrections, as well as all of the successful fuzzy logic corrections made automatically without requiring action from you.

fuzzy logic track tag fixes

Tracks assumed to be Streamed

As mentioned above, AlbumPlays hides any batch items that it assumes that you don’t own. This is done where:

  • you have already created a “streamed” rule for the track or album during some previous batch
  • or where AlbumPlays can find neither the album, nor the album, in your MediaMonkey database.

You can review this list, and override any unhelpful AlbumPlays assumptions. The Streamed Lists are embedded within the Action Lists.

Open either the album-level or track-level Action List, and then press the F5 key to navigate to the ‘Streamed or Suppressed” display. The list now displays batch entries that are assumed to be streamed, as well as any tracks or albums that you manually marked as being streamed.

Streamed list

If you recognise any items that you own, uncheck the row’s Streamed checkbox for those items, and then exit via the F3 key, or use the Update button at the bottom of the list.

If you re-open the Action List you will see that the items are now visible in the main section, where you can correct the tag situation causing the mismatch.

Any Streamed rule template which is still standing, when the batch is closed, will become a persistent rule. This means that similar scrobbles that will also be hidden and ignored, in any future batch, provided that they continue to be unmatched against your MediaMonkey database of that time.

If you subsequently purchase the tracks, the rule will be ignored provided that the scrobble tags match. Otherwise you can delete unhelpful rules via the Edit|StreamedRules menu item.

Force closing the batch

.. and when you feel that you have done enough

Scrobble batches are auto-closed once all scrobbles are successfully matched, otherwise we can force close a batch.

Once we have completed all template adjustments we care about, we check the “ignore unmatched scrobbles” check-box, and re-run the Approve action one last time for the current batch. This will:

  • force close the editing cycle, and junk any fresh scrobbles which remain unmatched
  • import all of the matched scrobbles, and update MediaMonkey play count and date last played data
  • set the AlbumPlays UI ready for your next “Get” action
Increase the number of fresh scrobbles obtained from LFM

Once you are happy that the communications with, and the application is updating your MediaMonkey play counts OK, you may increase the number of scrobbles that are downloaded from with each “Get” action The section of the FAQ explains how

The next section provides some tips, and also describes a few further features and tools within the UI. At the bottom of that page there is a Suggested Workflow illustrating how to best use these facilities.

Previous step: Seed your database – part 1 – getting historic scrobbles.

Next step: Seed your database – part 3 – tips and advice.