IPB

Welcome Guest ( Log In | Register )

> foobar2000 General Forum Rules

This is NOT a tech support forum.
Tech support questions go to foobar2000 Tech Support forum instead.

See also: Hydrogenaudio Terms of Service.

 
Reply to this topicStart new topic
how does FB2K do ratings?, under the hood, how is it handled?
MrSinatra
post Nov 30 2010, 21:16
Post #1





Group: Members
Posts: 39
Joined: 11-June 10
Member No.: 81386



sorry for these questions, i am not a fb2k user (yet) but if someone could help me i'd appreciate it.

first, does fb2k natively support ratings? if so, how does it display them in the app? i am guessing based on other posts, it uses 0-5 stars, is that correct?

how does it support id3 files? does it use the POPM frame? what data range? winamp/WMP/windows all use 0-255 to do the 5 stars.

how about FLAC/ogg/vorbis? is "RATING" used for the field name? what data range? 0-5? 0-10? 0-100? 0-255?

is an email addy used in either POPM or vorbis for ratings by fb2k? how does mp3tag show the data written by fb2k for these fields?

for example, POPM by winamp looks like this for four stars in winamp: rating@winamp.com|196|0

thx for the help!
Go to the top of the page
+Quote Post
shakey_snake
post Nov 30 2010, 21:26
Post #2





Group: FB2K Moderator
Posts: 4322
Joined: 1-November 06
From: Cincinnati
Member No.: 37036



Rating is just another, arbitrary tagging field in a standard fb2k.
In MP3 ID3v2 tagging, the POPM frame is not supported. A tag named %rating% would just be stored to the TXXX frame and could have any textual value. Other tagging standards for other formats use a similar generic "rating: value" pairing.

With the seperately downloaded, first-party component foo_playcount installed, %rating% is a special field that has a value of 1-5 that is edited by a special context menu entry and is stored in a local database, not a file's tags--thus being multi-user friendly, for modern multi-user windows operating systems.

This post has been edited by shakey_snake: Nov 30 2010, 21:32


--------------------
elevatorladylevitateme
Go to the top of the page
+Quote Post
Snowknight26
post Nov 30 2010, 22:38
Post #3





Group: Members
Posts: 48
Joined: 21-November 09
Member No.: 75135



I'm not sure how the tag is stored in the file, but the playcount component stores it (63.75 + 42.5*(rating-1)) rounded to nearest integer, -1 for unrated... or at least it did.
Go to the top of the page
+Quote Post
MrSinatra
post Dec 1 2010, 07:02
Post #4





Group: Members
Posts: 39
Joined: 11-June 10
Member No.: 81386



ok, so let me get this straight, b/c these answers confuse me.

fb2k does DISPLAY ratings, using 0-5 stars, correct?

fb2k does natively write ratings to a tag, but even when it does write to a tag, it doesn't use POPM for id3, correct? it uses a TXXX frame.

and for flac, it natively writes to the tag, using RATING as the field, correct?

in either case, how does the user tell fb2k what data range to then use for these tags?

furthermore...

if one uses the foo playcount plugin, it will use a 1-5 range for all filetypes, but ONLY in a DB, not the tag, correct?
Go to the top of the page
+Quote Post
shakey_snake
post Dec 1 2010, 15:09
Post #5





Group: FB2K Moderator
Posts: 4322
Joined: 1-November 06
From: Cincinnati
Member No.: 37036



QUOTE (MrSinatra @ Dec 1 2010, 01:02) *
fb2k does DISPLAY ratings, using 0-5 stars, correct?
It can, but title formatting can manipulate the display to show a rating in whatever manner you want. The stored RATING value doesn't even have to be numerical. RATING IS JUST ANOTHER FIELD.

That said, it seems most users seem to prefer to use a numeric 1-5 system and displaying them as stars. foo_playcount was designed with this in mind.

QUOTE (MrSinatra @ Dec 1 2010, 01:02) *
fb2k does natively write ratings to a tag, but even when it does write to a tag, it doesn't use POPM for id3, correct? it uses a TXXX frame.
Correct.

QUOTE (MrSinatra @ Dec 1 2010, 01:02) *
and for flac, it natively writes to the tag, using RATING as the field, correct?
Correct.

QUOTE (MrSinatra @ Dec 1 2010, 01:02) *
in either case, how does the user tell fb2k what data range to then use for these tags?
It doesn't; the users pick. I don't understand how I didn't communicate this clearly last post.

QUOTE (MrSinatra @ Dec 1 2010, 01:02) *
if one uses the foo playcount plugin, it will use a 1-5 range for all filetypes, but ONLY in a DB, not the tag, correct?
Correct. However, there is an advanced option to also turn on tag writing if the user really wants it.

This post has been edited by shakey_snake: Dec 1 2010, 15:10


--------------------
elevatorladylevitateme
Go to the top of the page
+Quote Post
Sandrine
post Dec 1 2010, 17:05
Post #6





Group: Members
Posts: 319
Joined: 2-July 10
Member No.: 81991



QUOTE (shakey_snake @ Dec 1 2010, 15:09) *
That said, it seems most users seem to prefer to use a numeric 1-5 system and displaying them as stars. foo_playcount was designed with this in mind.

Not sure if that is an informed decision everybody's making since using 1-5 makes foobar incompatible with other software. Most other programs use 1-10 (translates to 1-5 and using half stars). Since rating of objects in Explorer was introduced with Win Vista, rating has become more popular and it's high time some kind of standard was agreed upon so files can easily be transferred between different devices and players.
Go to the top of the page
+Quote Post
MrSinatra
post Dec 1 2010, 19:48
Post #7





Group: Members
Posts: 39
Joined: 11-June 10
Member No.: 81386



QUOTE (shakey_snake @ Dec 1 2010, 09:09) *
QUOTE (MrSinatra @ Dec 1 2010, 01:02) *
in either case, how does the user tell fb2k what data range to then use for these tags?
It doesn't; the users pick. I don't understand how I didn't communicate this clearly last post.


i'll gladly take the blame for being thick. so just to be clear, the user can, in the options, set the data range that it wants foobar to natively use, (which presumably includes how to translate that user specified data rangle into 0-5 stars), correct?

if they use foo_playcount however, it will be 0-5, normally in a DB, but by option they can write to a tag with that, but still as 0-5, correct?

QUOTE (Sandrine @ Dec 1 2010, 11:05) *
QUOTE (shakey_snake @ Dec 1 2010, 15:09) *
That said, it seems most users seem to prefer to use a numeric 1-5 system and displaying them as stars. foo_playcount was designed with this in mind.

Not sure if that is an informed decision everybody's making since using 1-5 makes foobar incompatible with other software. Most other programs use 1-10 (translates to 1-5 and using half stars). Since rating of objects in Explorer was introduced with Win Vista, rating has become more popular and it's high time some kind of standard was agreed upon so files can easily be transferred between different devices and players.


ratings are problematic. for id3, there is a standard, POPM, with a data range of 0-255. windows/wmp/winamp all do this. i consider that a de facto standard others should conform to, imo.

for vorbis, ratings aren't even in the spec. there does seem to be a de facto standard of using RATING as the field name, but the data range is not agreed upon. however, i can say that a 0-100 scale is what SBS (slim) and MM (media monkey) use. winamp just yesterday introduced writing tags to vorbis, but is using 0-5. i am trying to convince people that 0-100 is more whats used out there, and likely to be the implementation that windows will use when it gets around to it.

also, both ways can use an email addy to support multiple users/ratings, and this is in the id3 spec. here is SBS/MM scale:

QUOTE
100 = 5 stars
90 = 4.5 stars
80 = 4 stars
70 = 3.5 stars
60 = 3 stars
50 = 2.5 stars
40 = 2 stars
30 = 1.5 stars
20 = 1 star
10 = 0.5 star
0 = 0 stars


i think the worst data range to use is 0-5, b/c it doesn't allow for granularity, and likely will not be compatible with windows future implementation.

so when you say, "most programs use 0-10" which programs are you talking about?
Go to the top of the page
+Quote Post
dhromed
post Dec 1 2010, 20:49
Post #8





Group: Members
Posts: 1244
Joined: 16-February 08
From: NL
Member No.: 51347



QUOTE (MrSinatra @ Dec 1 2010, 19:48) *
i think the worst data range to use is 0-5, b/c it doesn't allow for granularity


It's probably just me, but I wonder why granularity is needed. What value is had by pseudo-objectively pinning down that one purely subjective item is a tiny bit better than another purely subjective item?

I personally don't use any ratings, because it would break down into a 2-star system, namely "like" and "awesome". Last.fm's Love feature covers that.

I do agree, however, that it's odd that there's no commonly accepted standard.

QUOTE
also, both ways can use an email addy to support multiple users/ratings,


I strongly disagree with this. Multi-user data should use the OS's native method, instead of having the application perform hackish strings operations on some non-standard field.
Go to the top of the page
+Quote Post
Sandrine
post Dec 1 2010, 20:56
Post #9





Group: Members
Posts: 319
Joined: 2-July 10
Member No.: 81991



I was under the impression that winamp uses 1-10, and dbpoweramp does, too. One thing all scales seem to have in common, though, is that they translate to 1-5 stars, only through different mathematical expressions. If I had to choose a scale I'd probably prefer 1-10 because it is intuitive and allows for half stars, followed by 1-5 because 5 steps are usually more than sufficient, followed by 1-100 with 0-255 at the bottom (seems the most convoluted). The most important thing is to agree on something, though. I saw your post in another forum, and I use ratings in exactly the same way:

5=awesome/classic
4=good/solid
3=indifferent/avg/unmemorable/no strong feelings or impressions either way
2=dislike
1=hate

Those people who only listen to radio, please keep out of the conversation.

This post has been edited by Sandrine: Dec 1 2010, 20:58
Go to the top of the page
+Quote Post
MrSinatra
post Dec 1 2010, 21:33
Post #10





Group: Members
Posts: 39
Joined: 11-June 10
Member No.: 81386



QUOTE (dhromed @ Dec 1 2010, 14:49) *
QUOTE (MrSinatra @ Dec 1 2010, 19:48) *
i think the worst data range to use is 0-5, b/c it doesn't allow for granularity


It's probably just me, but I wonder why granularity is needed. What value is had by pseudo-objectively pinning down that one purely subjective item is a tiny bit better than another purely subjective item?

I personally don't use any ratings, because it would break down into a 2-star system, namely "like" and "awesome". Last.fm's Love feature covers that.

I do agree, however, that it's odd that there's no commonly accepted standard.


to answer your question, the reason high granularity is needed is mostly for supporting community based ratings. think "rotten tomatoes." but even moderate granulaity is needed to support half stars, or other fractions. a "one to one" match of 0-5 does not allow for that in whole numbers.

such "small" distinctions may not be useful to you, but that shouldn't stop others from enjoying them if they choose.

furthermore, it isn't just granularity, but compatibility. if other apps use 0-100, and create a de facto standard, than obvioulsy its best to conform with that standard.

i have no beef with your scale, but its not useful to any serious collector, ergo why i've never seen it presented that way anywhere, ever.

QUOTE (dhromed @ Dec 1 2010, 14:49) *
QUOTE
also, both ways can use an email addy to support multiple users/ratings,


I strongly disagree with this. Multi-user data should use the OS's native method, instead of having the application perform hackish strings operations on some non-standard field.


the id3 spec lays it out. to not use it is to be out of spec. but you don't have to use it anyway, one can use it or not, and the OS can do its own thing or not, they aren't mutually exclusive propositions.

however, its important to note that if you want the rating to travel with the file, (ie. be independent of whatever machine it happens to be at), and you want multiple ratings supported, you need to do SOMETHING in the tag to distinguish multiple users ratings.

btw, with win7/wmp12, if you rate an item in the OS, it ruins your RG tags. (bug)

QUOTE (Sandrine @ Dec 1 2010, 14:56) *
I was under the impression that winamp uses 1-10,


no. for id3 it uses POPM 0-255 exactly like windows.

for vorbis, as of yesterday, it is using 0-5, which i think is a big mistake. no granularity, and likely to be incompatible with windows when widows gets around to doing vorbis, not to mention currently incompatible with MM and SBS.

QUOTE (Sandrine @ Dec 1 2010, 14:56) *
and dbpoweramp does, too.


is dbpoweramp a media manager now? i thought it was basically just a ripper. so it does 0-5 stars using a 0-10 data range in a media library component? does it have options to set the data range you want to use for Vorbis?

it sounds like you can set the range in foobar, so that means a foobar user could do vorbis with 0-100. it would be nice to get options in winamp/dbpoweramp, to allow for the same thing.

QUOTE (Sandrine @ Dec 1 2010, 14:56) *
One thing all scales seem to have in common, though, is that they translate to 1-5 stars, only through different mathematical expressions. If I had to choose a scale I'd probably prefer 1-10 because it is intuitive and allows for half stars, followed by 1-5 because 5 steps are usually more than sufficient, followed by 1-100 with 0-255 at the bottom (seems the most convoluted). The most important thing is to agree on something, though. I saw your post in another forum, and I use ratings in exactly the same way:

5=awesome/classic
4=good/solid
3=indifferent/avg/unmemorable/no strong feelings or impressions either way
2=dislike
1=hate

Those people who only listen to radio, please keep out of the conversation.


i also would go 0-10, but the reason i support 0-100 is b/c i think it will eventually be the de facto standard, and b/c it is somewhat supported right now, and b/c it does allow for community based granularity a la rotten tomatoes.
Go to the top of the page
+Quote Post
MrSinatra
post Dec 3 2010, 19:18
Post #11





Group: Members
Posts: 39
Joined: 11-June 10
Member No.: 81386



QUOTE
QUOTE (dhromed @ Dec 1 2010, 14:49) *
QUOTE
also, both ways can use an email addy to support multiple users/ratings,


I strongly disagree with this. Multi-user data should use the OS's native method, instead of having the application perform hackish strings operations on some non-standard field.


the id3 spec lays it out. to not use it is to be out of spec. but you don't have to use it anyway, one can use it or not, and the OS can do its own thing or not, they aren't mutually exclusive propositions.

however, its important to note that if you want the rating to travel with the file, (ie. be independent of whatever machine it happens to be at), and you want multiple ratings supported, you need to do SOMETHING in the tag to distinguish multiple users ratings.

btw, with win7/wmp12, if you rate an item in the OS, it ruins your RG tags. (bug)


i meant to add to that that windows only does id3 in the OS natively anyway, so you need to consider that as well.

Shakey, i was hoping you would still respond to my last response to you... i realize these posts kinda obscured it.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 20th April 2014 - 11:57