Value of ID3v2 POPM field and MM's Rating

This forum is for reporting bugs in MediaMonkey for Windows 4. Note that version 4 is no longer actively maintained as it has been replaced by version 5.

Moderator: Gurus

Guest

Value of ID3v2 POPM field and MM's Rating

Post by Guest »

Correspondency of POPM's value and MM's Rating seems to be changed in MM3.1.
As a result, there is the case that the rating of some tracks turns into by update of MM.

In the case of me,
0.5 star (POPM=26) → 1.0 star
1.0 star (POPM=51) → 1.5 stars
2.5 stars (POPM=128) → 3.0 stars

Is this a Bug or change of specifications?
Risser
Posts: 184
Joined: Thu Mar 03, 2005 11:28 am

Re: Value of ID3v2 POPM field and MM's Rating

Post by Risser »

I noticed this too.
I was copying files between my laptop (3.1) and my desktop (3.0) and found that they were misrated once they hit the desktop.

It boggled my mind for a while, but now I see what the problem is.

In any case, it is weird, and I wonder why it changed.
Peter
chrisjj
Posts: 5007
Joined: Wed Feb 14, 2007 5:14 pm
Location: UK

Re: Value of ID3v2 POPM field and MM's Rating

Post by chrisjj »

> Is this a Bug or change of specifications?

Not the latter for sure, since there is no specification: "About Track Properties" says only

Code: Select all

               MP3 (ID3v2)
Rating      Non-Standard (POPM)
It sounds like this is damage caused by the following recent code change: http://www.ventismedia.com/mantis/view.php?id=3143
Chris
billfor
Posts: 4
Joined: Sun Jun 08, 2008 10:53 pm

Re: Value of ID3v2 POPM field and MM's Rating

Post by billfor »

Bump. Can somebody explain the reason that the POPM values media monkey is setting for the stars changed?

I had a script that copied the POPM values into itunes ratings. The old ratings mapping (which had minor variations) is shown below. However with version 3.1 some of these values have changed drastically on the lower end such that they are incompatible with the range/scale of the old ratings.

Is it just me or have other people noticed this? I would think a person that had saved a 1 star value of 51 in the old media monkey would now be seeing 1.5 stars? The new scale doesn't even fill the entire 0-255 range and it isn't linear (huge gap between 4 and 4.5 ratings)

I have tried uninstalling and clearing out the media monkey directory. The only thing I haven't done is remove the registry entries.

MM POPM value is on the left and the itunes star rating value is right.

my %old_mm_to_itunes_ratings = (
"0" => 0, # 0 star
"26" => 10, # 0.5 star
"28" => 10, # 0.5 star
"51" => 20, # 1 star
"53" => 20, # 1 star
"76" => 30, # 1.5 star
"78" => 30, # 1.5 star
"102" => 40, # 2 star
"104" => 40, # 2 star
"128" => 50, # 2.5 star
"129" => 50, # 2.5 star
"153" => 60, # 3 star
"154" => 60, # 3 star
"178" => 70, # 3.5 star
"179" => 70, # 3.5 star
"204" => 80, # 4 star
"205" => 80, # 4 star
"230" => 90, # 4.5 star
"255" => 100 # 5 star
);


my %mm_to_itunes_rating_NEW = (
"0" => 0, # 0 star
"13" => 10, # 0.5 star
"23" => 20, # 1 star
"54" => 30, # 1.5 star
"64" => 40, # 2 star
"118" => 50, # 2.5 star
"128" => 60, # 3 star
"186" => 70, # 3.5 star
"196" => 80, # 4 star # why the 46 point jump here?
"242" => 90, # 4.5 star
"252" => 100 # 5 star, why is 5 stars not 255 when 0 stars is 0?
);
chrisjj
Posts: 5007
Joined: Wed Feb 14, 2007 5:14 pm
Location: UK

Re: Value of ID3v2 POPM field and MM's Rating

Post by chrisjj »

> Can somebody explain the reason that the POPM values media monkey is setting for the stars changed?
In http://www.mediamonkey.com/forum/viewto ... =7&t=40532
Jiri explained:
I modified mp3 rating storage so that it's as compatible as possible with WMP and Explorer (and thus probably also some other applications).
> some of these values have changed drastically on the lower end such that they are incompatible with the range/scale of the old ratings.

Sympathies. I think it is sad that a compatibility mode was not retained, but perhaps someone can write a script to convert ratings to the new representation.
Chris
billfor
Posts: 4
Joined: Sun Jun 08, 2008 10:53 pm

Re: Value of ID3v2 POPM field and MM's Rating

Post by billfor »

Thanks. As far as converting I think the problem is going to be with the 128 value, which used to map directly to 2.5 stars but now maps to 3. I don't see anyway to tell which version of MM might have set the POPM from the tags. I guess it might be possible to go based on the file modification/creation date (that's how I've been doing it).

It seems strange that other people haven't noticed that their ratings have changed a bit. You would think this would affect general users by decreasing their star values slightly when the upgraded to the recent version that has this change. Maybe I'm the only person using ratings :(


--- Bill
Guest

Re: Value of ID3v2 POPM field and MM's Rating

Post by Guest »

[MM3.1.0.1256's POPM and Rating]

POPM=0 → Rating=0
POPM=1 → Rating=1
POPM=2-8 → Rating=0
POPM=9-18 → Rating=0.5
POPM=19-28 → Rating=1 (MM2.5:Rating=0.5 → POPM=28) (MM3.0:Rating=0.5 → POPM=26)
POPM=29 → Rating=1.5
POPM=30-39 → Rating=0.5
POPM=40-49 → Rating=1
POPM=50-59 → Rating=1.5 (MM2.5:Rating=1 → POPM=53) (MM3.0:Rating=1 → POPM=51)
POPM=60-69 → Rating=2
POPM=70-90 → Rating=1.5
POPM=91-113 → Rating=2
POPM=114-123 → Rating=2.5
POPM=124-133 → Rating=3 (MM2.5:Rating=2.5 → POPM=129) (MM3.0:Rating=2.5 → POPM=128)
POPM=134-141 → Rating=2.5
POPM=142-167 → Rating=3
POPM=168-191 → Rating=3.5
POPM=192-218 → Rating=4
POPM=219-247 → Rating=4.5
POPM=248-255 → Rating=5


[WMP11's Rating and POPM]

Raing=0 → POPM=0
Raing=1 → POPM=1
Raing=2 → POPM=64
Raing=3 → POPM=128
Raing=4 → POPM=196
Raing=5 → POPM=255
chrisjj
Posts: 5007
Joined: Wed Feb 14, 2007 5:14 pm
Location: UK

Re: Value of ID3v2 POPM field and MM's Rating

Post by chrisjj »

> I don't see anyway to tell which version of MM might have set the POPM from the tags.

Nor I. The right time for a script to workaround this would have been at the time of the MM release that caused the problem.
Chris
billfor
Posts: 4
Joined: Sun Jun 08, 2008 10:53 pm

Re: Value of ID3v2 POPM field and MM's Rating

Post by billfor »

Yes that list of MM ratings from version 2.5 to current might be used to convert the ratings had the older versions consistently set unique POPM values for a star relative to the new values. Unfortunately the old versions didn't set a range of values, they set a single value which changed over time. If you were unlucky enough to own a older version of MM that wrote 128 into the POPM for 2.5, it now shows as 3 stars and looking at the file individually you don't appear to have any way to tell which version of MM created the rating.

So you gained WMP compatability but you changed everyone's MM ratings higher then 2.5 stars in certain cases. I would have told those WMP people they should be using MM :-)

btw from the WMP rating table it seems like it will take POPM 255 and show it as 5 stars. If that is true, a suggestion would be to have MM write 255 for the 5 stars. It would make it easier to translate and remember what is what; and 252 just seems weird :-)
Guest

Re: Value of ID3v2 POPM field and MM's Rating

Post by Guest »

Hi there,

I'm a developer on XBMC, and we're trying to make some sane lookup for POPM ratings.

We do not (currently at least) write tags. We are, however, interested in confirming what MM does on READ of tags in order to stay as compatible as possible.

Is the above posted mapping what you actually use on read? It seems insane that intervals are interleaved on the 0.255 scale, but I guess that's what you get for trying to be compatible, huh?

Cheers,
Jonathan
jiri
Posts: 5417
Joined: Tue Aug 14, 2001 7:00 pm
Location: Czech Republic
Contact:

Re: Value of ID3v2 POPM field and MM's Rating

Post by jiri »

To answer all the questions here - yes, we had to modify the mapping of internal ratings storage (which is on the scale 0-100, but visually represented by stars) in order to be compatible with WMP and Windows Explorer. It uses the available scale in id3v2 (0-255) in a very weird way - perhaps MS developers didn't attend math classes too often... ;-) We were not happy to make such a change, but it's hard to do anything else about it, if we hadn't made the change, MM would be perceived as buggy... :-(

To clarify the algorithm:
1. The internal 0-100 range is mapped to 0,0.5,1,1.5,...5 stars representation by formula (rating+4) div 10
2. The internal 0-100 range is mapped to the 0-255 range of id3v2 POPM by:

Code: Select all

        if value<=0 then
          mp3value := 0
        else
        if value<=25 then
          mp3value := value + 3
        else
        if value<=45 then
          mp3value := value + 24
        else
        if value<=65 then
          mp3value := value + 68
        else
        if value<=85 then
          mp3value := value + 116
        else
          mp3value := value + 152;
Jiri
chrisjj
Posts: 5007
Joined: Wed Feb 14, 2007 5:14 pm
Location: UK

Re: Value of ID3v2 POPM field and MM's Rating

Post by chrisjj »

jiri wrote:To clarify the algorithm:
It is nice to see that info published. Thanks. I don't see it in the Help - I suggest add it there, e.g. in About Track Properties. Also good would be to there detail the compatibility with WMP and Explorer.
Chris
MrSinatra
Posts: 42
Joined: Fri Dec 14, 2012 9:21 pm

Re: Value of ID3v2 POPM field and MM's Rating

Post by MrSinatra »

i do not use MM, but here is what windows explorer uses:

>>
224-255 = 5 stars when READ with windows explorer, writes 255
160-223 = 4 stars when READ with windows explorer, writes 196
096-159 = 3 stars when READ with windows explorer, writes 128
032-095 = 2 stars when READ with windows explorer, writes 64
001-031 = 1 stars when READ with windows explorer, writes 1

windows explorer uses this syntax:

Windows Media Player 9 Series | 255 | 0

(the 0 is playcounts as per POPM id3 spec. note the ID string isn't even an email addy)
>>

windows explorer does not support granularity for DISPLAY. it does support the ranges above though.

i can not say exactly how WMP reads and writes, or to what degree it supports granularity for display, (like if its just half stars, or more fractions beyond that), but i am fairly sure that it complies with what windows explorer does, and doesn't contradict it. (its a bit more complicated then that, but essentially true. but WMP will only see 255 as 5 stars. 254 would be "less," like 4.99 stars or something like that, but i don't know to what degree WMP supports granularity on display)

does MM provide star granularity for display beyond half stars? does it write 252 or 255 for 5 full stars?
MrSinatra
Posts: 42
Joined: Fri Dec 14, 2012 9:21 pm

Re: Value of ID3v2 POPM field and MM's Rating

Post by MrSinatra »

any response?

it seems to me MM writing 252 for 5 stars is demonstrably incorrect, and writing 21 (or 26 or whatever MM writes) for 1 star is also, at the least, weird.

252 = 5 is demonstrably incorrect, b/c what are 253, 254, and 255 then? (these speakers go to 11! ;) only the highest value, 255, should equal the highest "full" 5 stars. 252 is closer to 4.9 stars.

31 would be a better choice for MM to write to display one full star. 1-30 would then be the granular points under 1 star.

does anyone know of a similar 0-255 chart as above for WMP11/12? and also how much granularity WMP11/12 supports for display? (meaning, how fractional the 5 stars get?)
chrisjj
Posts: 5007
Joined: Wed Feb 14, 2007 5:14 pm
Location: UK

Re: Value of ID3v2 POPM field and MM's Rating

Post by chrisjj »

MrSinatra wrote:252 = 5 is demonstrably incorrect, b/c what are 253, 254, and 255 then? (these speakers go to 11! ;) only the highest value, 255, should equal the highest "full" 5 stars.
This would indeed be incorrect if MM claimed to be compliant with the ID3 standard:

http://id3.org/id3v2.3.0
The rating is 1-255 where 1 is worst and 255 is best.

But MM does not so claim. It claims to be compliant with:

http://www.mediamonkey.com/sw/webhelp/f ... erties.htm
Defacto-Standard (POPM - WMP implementation)

Since I see no basis for the claim WMP implementation is a defacto standard, I suggest we read this to mean only that MM is compliant with the WMP implementation (and not compliant with the true standard).

On this, MM Dev jiri writes:
we had to modify the mapping of internal ratings storage (which is on the scale 0-100, but visually represented by stars) in order to be compatible with WMP and Windows Explorer. It uses the available scale in id3v2 (0-255) in a very weird way
WMPs use of the available scale in ID3v2 (0-255) is entirely compliant with the ID3v2 standard e.g. max (5 stars) -> 255. MMs "WMP implementation" use of the available scale is NON-compliant with the ID3v2 standard e.g. max (5 stars) -> 252.

I see no evidence that this MM non-compatibility was necessary "in order to be compatible with WMP and Windows Explorer". I have to say the more likely cause seems to be ill-designed programming.

ISTM this could be fixed i.e. MM could be amended to be compliant with the ID3v2 standard AND foe compatible with WMP and Windows Explorer.

(The above is tested on WMP V11 and I believe V12 behaves the same.)
Chris
Post Reply