How to sync ratings with Musicbee?

Hi guys, I’m trying to sync my Musicbee ratings with MusicBrainz. The ratings are visible in Windows Media Player and Explorer but not in Picard.

I tried changing the e-mail address to Windows Media Player 9 Series as suggested here https://tickets.metabrainz.org/browse/PICARD-457 but it didn’t do the trick.

I then rated a song in Picard and when I open it in Notepad++ (I couldn’t find any program that would display all ID3 tags) I see that the tag POPM is duplicated, one entry is with the e-mail address I set in Picard’s preferences, the other with MusicBee.

I tried setting this string as the e-mail address in Picard, but it also didn’t work. How can I proceed?

What value does MusicBee set, could you see that?

The exact value? No, unless you know a decent ID3 tag viewer or know how to find it using hex editor. The closest I got was by using exiftool, it says: “MusicBee Rating=186 Count=0”. I also tried setting e-mail to MusicBee Rating but it also didn’t work.

Just some additional infos:

According to this MusicBee forum entry, the values are
in MP3s / POPM field:
1, 64, 128, 196, 255

Flac on the other hand gets the following values:
0, 20, 40, 60, 80, 100

If you see “186” it could be that this is some kind of “a half star rating”.

Maybe Mp3tag can help you change this values?

Yes, that is indeed half star rating.

It has three fields to display rating: wmp, mm and winamp. Unfortunately they are all empty.

[quote=“karaluh, post:5, topic:292243”]
It has three fields to display rating: wmp, mm and winamp. Unfortunately they are all empty.[/quote]What do you mean with “fields to display”?
Ratings should be saved in the tag called POPM.
Could you please make a screenshot from Mp3tag window if you press ALT+T on a selected track with rating?

OK, now we’re getting somewhere. It says MusicBee|186|0

This value is the one you set in Picard?
What do you want to do now?

No, this is set by MusicBee.

I want Picard to recognize this rating so I can sync it with MB.

1 Like

I know I’m commiting a major sin here by resurrecting a post from 2017, but instead of making a new thread I have actually managed to get Picard to read ratings set by you in MusicBrainz, apply to your local music file in a tag that MusicBee reads.

:drum:

$set(RATING,$mul(%_rating%,20))

That’s it.

Explain:

  • MusicBee stores ratings as a tag named RATING. Assuming you have MusicBee set to store ratings in the file it will read/store the rating from this tag.
  • The star ratings in MusicBee are in amounts of 20. 20 = 1 star, 40 = 2 star, 60 = 3 star, 80 = four star and 100 = five star (I haven’t done half stars because I simply don’t use them, and you can’t vote half stars in MB)
  • MusicBrainz stores ratings as the variable %_rating% - this data is pulled in as picard refreshes the data from the MB servers.
  • MusicBrainz star system are in amounts of 1. 1 = 1 star, 2 = 2 star, 3 = 3 star, 4 = 4 star, 5 = 5 star.
  • Using math we can work out that the MusicBrainz values simply need to be multiplied by a factor of 20 for them to be at the standard that MusicBee likes.
  • Once the calculation has been done, it then writes your MusicBrainz rating to the MusicBee tag in the local file, then either re-importing or removing and entering the local file into your MusicBee library should show the correct file.

If I have time later i might even make a little video tutorial.

Pre-requisits (or what you MUST have set before this will work)

  1. A MusicBrainz account
  2. Your local files are linked with an element in MusicBrainz (i.e. a recording)
  3. You have put a rating on the recordings in MusicBrainz
  4. In Picard, under Options > Metadata > Ratings > Enable track ratings = YES/checked
  5. In Picard, under Options > Metadata > Ratings > E-mail = the same e-mail address your MusicBrainz account uses
  6. In Picard, under Options > Tags > Write tags to files = YES/checked
  7. In Picard, under Options > Tags > Clear existing tags = YES/checked (this is my preference)
  8. In Picard, under Options > Scripting > Tagger Script(s) = YES/checked
  9. In Picard, under Options > Scripting > Add New Script = set name to GetRating
  10. In Picard, under Options > Scripting > GetRating = paste the script from above into the right window and click Make It So!
  11. In MusicBee, under Edit Preferences > Tags (1) > Store ratings in the music file = YES/checked
  12. In MusicBee, under Edit Preferences > Tags (1) > Disable Half Ratings = YES/checked

Edit - I understand this is only one way of doing this, how you get the local ratings already set by MusicBee to be sent to Picard is another kettle of fish.

4 Likes

FWIW, this is not a major sin here, and in fact is a practice I would encourage. :slight_smile: Better to keep related discussion together than split out over multiple topics only because of time – decreases the chance of xkcd #979‐like situations. :slight_smile:

4 Likes

I doubt that works. All it does is writing a custom tag called RATING, but it doesn’t necessarily reflect the ratings of MusicBee.

If you read the ratings from ID3 tags it’s actually a value in the range between 0 and 255, for WMA it is a range between 0 and 99 and for Vorbis it is a float value between 0.0 and 1.0.

Now the core issue is that different tools have different ways to map their rating system onto this range, and Picard has it’s own scheme of linearly distributing the 5 stars.

What’s really needed here is that Picard gains the ability to use rating scales that are compatible with existing tools. Kind of multiple presets the user can choose from.

2 Likes

Well it does work because I’m using it right now :thinking: - if you read the Explain part the first bullet reads:

What file format is this for?

My library is all in FLAC format - which is what I have tested this against :slight_smile:

Yeah, that explains it. I think it’s true you’d have a hard time doing that with MP3/ID3, which uses the POPM tag.

2 Likes

Aah, yeah I don’t think I have any MP3’s in my collection anymore

now, I want to find this kettle of fish… :bubbles: :fish:

…or rather, I want to submit my local ratings to MusicBrainz, and I wonder if that’s even possible without a plugin

I thought the Submit ratings to MusicBrainz option would do it, went to settings, and it turns out it was already on and doesn’t seem to do what I’m looking for. perhaps it’s only for the stars here in the context menu?

image

…because if that’s the case, it might almost be easier to just rate stuff in MusicBrainz… then again, I’d lose the ability to do half-star ratings, which I’ve grown to like since I’ve started using MusicBee

On Quod Libet, there’s a plugin that syncs ratings up with MusicBrainz. It should be possible in MusicBee as well with a separate plugin. I might have a look at this in the future, as a MusicBee user. Wanna do the folksonomy tag submission stuff in there as well.

FWIW, MusicBrainz does allow an integer between 0-100 and it does work with half-star ratings (which MusicBee uses)

1 Like