Just for completeness sake I'll post here a summary of changes made since 1.4.2
New in Version 1.5:
- Rating scale for each of the play/skip frequency and play/skip count algorithms now determined by one of two optional methods:
- Rated on a scale of (Average - 2 standard deviations) to (Average + 2 standard deviations)
This is the same as version 1.4.2
- Rated on a scale of the 0.025 percentile value to 0.975 percentile value. This is now the default.
These limits are adjustable, but the middle 95% of values is the recommended scale. Note that this method is (in my opinion) better at representing the distribution of play counts/frequencies in a music library in which these values are NOT normally distributed, which I think, is virtually always.
- Ratings now make [better] use of skip counting.
Skips are applied against plays to negate them towards the result. The relative weight of a skip versus a play is adjustable. For instance I like to use a weight of about 3, meaning that 1 skip cancels out 3 plays. Note that this is incorporated into the statistics calculated (the "Cache") to come up with the rating scales. As an example, with the weight set to 2.5, a track with a play count of 101 and a skip count of 40 would end up with a lower rating (via the count method) than a track in the same library with a play count of 2 and no skips (101-40*2.5 < 2-2.5*0)
- Added an adjustable level of optimism of the results
, separately for each of the play/skip count and play/skip frequency methods of rating.
There are 2 3 numbers to adjust for each method:
- Skew Coefficient 0
This value is a global shift of the results up (or down), in "stars" from -2 to +2 @ 1/2 star increments. This is most useful for offsetting some of the potent low-end skewing effect of the Skew Coefficient 2 or the high-end increases resulting from scaling with Skew Coefficient 1 . See below.
1st order optimism factor. Skew Coefficient 1
This is a linear scale factor that scales up (or down), in "stars" from -2 to +2 @ 1/2 star increments. This scales about the minimum rating value.
2nd order optimism factor. Skew Coefficient 2
This is a non-linear function parameter that tends to skew low ratings upward toward the middle of the scale, in "stars" from 0 to +2 @ 1/2 star increments. I tried to get it so that each half star increment had roughly the same effect but it isn't quite so. A setting of 1 is more than twice as potent as a setting of 0.5 whilst a setting of 2 is not that much more potent than 1.5. This may get corrected in the future but for now live with it.
If you are only going to use only one of these two values, which is probable but not necessary, than this is the the one that will likely better give you the results you want. I blatently assume this because it does for me, which is exactly why I created it. Essentially this increases the number of mid-range ratings without drastically increasing the number of highly rated songs. Basically it makes it easier for a track to get to a medium rating from a low rating without making it easier to get to a high rating. This lends large benifit to libraries with lots of songs played only a few times and a relatively smaller number that have been played substantially more.
Of course you can use it in the opposite sense as well: to lower the number of mid-rated results.
Frankly I find this works so much better than the linear scale factor that I considered replacing the linear one with this. Instead both are in use and can be used jointly. Think of it like the brightness and gamma settings on a monitor, where brightness is analogous to the linear scale and gamma to the second order scale. This is probably a poor analogy because most people aren't as big of a loser as I am (or you are if you truely understood that).
With the latest changes, this value only skews ratings upward toward the mid range from the lowest, particularly from very low ratings to middle ratings. Being hyperbolic in nature, the start and end points of the function (at the min and max rating values) always fall on the result of the linearly scale.
- Added the ability to log a list of all the play counts and frequencies, adjusted for skips, that were used in the generation of the rating scale statistics. This is only useful for those who are ridiculous enough to want to plot the distribution of these values, for any reason... Like me. This may not get a GUI switch but is adjustable in the preference file.
- Added the ability to adjust the maximum and minimum assigned rating (and therefore the scale used in between).
- Added the option to reserve 1/2 star ratings for tracks that have a greater weighted skip count than play count and therefore are tracks you probably really don't care for in that extra special sense.
- Added a stipulation that all (and only) tracks that have a play count of 0 AND a skip count of 0 get a rating of zero regardless of any scaling or the library min and max values as determined form the analysis.
- Percentile based analysis and rating will only work on OS X installations that have the unix "sort" command. That should be pretty much everyone. Call me ignorant but I don't know if that is everyone or if those who opt out of installing the BSD subsystem on an OS reinstall mightn't have this command available.
For additional details, to look at the code, visit
http://autorate.googlecode.com