Value of ID3v2 POPM field and MM's Rating

To get bugs in the current release fixed, please report them here.

Moderator: Gurus

Guest

Value of ID3v2 POPM field and MM's Rating

Post by Guest » Mon Jun 15, 2009 7:36 pm

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 » Tue Jul 14, 2009 11:48 am

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: 4933
Joined: Wed Feb 14, 2007 5:14 pm
Location: UK

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

Post by chrisjj » Tue Jul 14, 2009 12:01 pm

> 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 » Mon Aug 10, 2009 11:06 pm

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: 4933
Joined: Wed Feb 14, 2007 5:14 pm
Location: UK

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

Post by chrisjj » Tue Aug 11, 2009 7:13 am

> 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 » Tue Aug 11, 2009 7:23 pm

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 » Tue Aug 11, 2009 11:13 pm

[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: 4933
Joined: Wed Feb 14, 2007 5:14 pm
Location: UK

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

Post by chrisjj » Wed Aug 12, 2009 6:40 am

> 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 » Wed Aug 12, 2009 2:17 pm

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 » Mon Oct 12, 2009 6:55 pm

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: 5368
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 » Tue Oct 13, 2009 2:03 am

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: 4933
Joined: Wed Feb 14, 2007 5:14 pm
Location: UK

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

Post by chrisjj » Tue Oct 13, 2009 4:12 am

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: 41
Joined: Fri Dec 14, 2012 9:21 pm

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

Post by MrSinatra » Fri Dec 14, 2012 9:31 pm

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: 41
Joined: Fri Dec 14, 2012 9:21 pm

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

Post by MrSinatra » Thu Jan 24, 2013 12:12 pm

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: 4933
Joined: Wed Feb 14, 2007 5:14 pm
Location: UK

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

Post by chrisjj » Thu Jan 24, 2013 2:09 pm

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