Archive for November 26th, 2008

iTunes ratings

Wednesday, November 26th, 2008

Warning: fopen(/var/www/dactyl/wordpress//wp-content/cache/tex_47d98d010ac56bebbc3dbca5491399a4.png) [function.fopen]: failed to open stream: No such file or directory in /var/www/dactyl/wordpress/wp-content/plugins/latex/latex.php on line 100

Warning: fputs(): supplied argument is not a valid stream resource in /var/www/dactyl/wordpress/wp-content/plugins/latex/latex.php on line 101

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/dactyl/wordpress/wp-content/plugins/latex/latex.php on line 102

Warning: fopen(/var/www/dactyl/wordpress//wp-content/cache/tex_212a00f46a97d1a2132e75dc2ceb4e7a.png) [function.fopen]: failed to open stream: No such file or directory in /var/www/dactyl/wordpress/wp-content/plugins/latex/latex.php on line 100

Warning: fputs(): supplied argument is not a valid stream resource in /var/www/dactyl/wordpress/wp-content/plugins/latex/latex.php on line 101

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/dactyl/wordpress/wp-content/plugins/latex/latex.php on line 102

Warning: fopen(/var/www/dactyl/wordpress//wp-content/cache/tex_cba00c7e75fea618274897741d9b74b5.png) [function.fopen]: failed to open stream: No such file or directory in /var/www/dactyl/wordpress/wp-content/plugins/latex/latex.php on line 100

Warning: fputs(): supplied argument is not a valid stream resource in /var/www/dactyl/wordpress/wp-content/plugins/latex/latex.php on line 101

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/dactyl/wordpress/wp-content/plugins/latex/latex.php on line 102

Warning: fopen(/var/www/dactyl/wordpress//wp-content/cache/tex_d17e5008b4805df1d46871e139b3fa8b.png) [function.fopen]: failed to open stream: No such file or directory in /var/www/dactyl/wordpress/wp-content/plugins/latex/latex.php on line 100

Warning: fputs(): supplied argument is not a valid stream resource in /var/www/dactyl/wordpress/wp-content/plugins/latex/latex.php on line 101

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/dactyl/wordpress/wp-content/plugins/latex/latex.php on line 102

Warning: fopen(/var/www/dactyl/wordpress//wp-content/cache/tex_92e4da341fe8f4cd46192f21b6ff3aa7.png) [function.fopen]: failed to open stream: No such file or directory in /var/www/dactyl/wordpress/wp-content/plugins/latex/latex.php on line 100

Warning: fputs(): supplied argument is not a valid stream resource in /var/www/dactyl/wordpress/wp-content/plugins/latex/latex.php on line 101

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/dactyl/wordpress/wp-content/plugins/latex/latex.php on line 102

Warning: fopen(/var/www/dactyl/wordpress//wp-content/cache/tex_92e4da341fe8f4cd46192f21b6ff3aa7.png) [function.fopen]: failed to open stream: No such file or directory in /var/www/dactyl/wordpress/wp-content/plugins/latex/latex.php on line 100

Warning: fputs(): supplied argument is not a valid stream resource in /var/www/dactyl/wordpress/wp-content/plugins/latex/latex.php on line 101

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/dactyl/wordpress/wp-content/plugins/latex/latex.php on line 102

Warning: fopen(/var/www/dactyl/wordpress//wp-content/cache/tex_ed71a4c9c6c8430501c353b1b2d878c8.png) [function.fopen]: failed to open stream: No such file or directory in /var/www/dactyl/wordpress/wp-content/plugins/latex/latex.php on line 100

Warning: fputs(): supplied argument is not a valid stream resource in /var/www/dactyl/wordpress/wp-content/plugins/latex/latex.php on line 101

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/dactyl/wordpress/wp-content/plugins/latex/latex.php on line 102

I have always wanted to do a better job of music labeling and tagging, but with a many-gig library it’s just too daunting… maybe if I had another summer of being an REU student at a linear accelerator it might get done, but that’s about it. But I do enjoy my “4- or 5-star music” playlist, and it would be nice if magically all my songs could be rated. I’m sure that it’s an applescript waiting to be written, but I’m lazy, so instead I did a google and found AutoRate. This little app is assigns each song in your library a rating R given by:
R = 100 (\nu_{play} - \sigma_{-}) / (\sigma_{+} - \sigma_{-} ) - \epsilon S
where \nu_{play} is the main play frequency, \sigma_{\pm} is \nu_{play} +/- 2 standard deviations, S is the number of skips per month, and \epsilon is the skip penalty coefficient.

In practice, however, this results in many of my favorite songs receiving ratings in the 0.5 to 1.5 stars range, I think as a result of excessively punishing ’skips’ (\epsilon too large, I think the program defaults to \epsilon = 5. So, back to Applescript I suppose. The question really is what algorithm to use? The older and simpler iRate just used something along the lines of (play count/days in library) * user rating, but I also don’t want to overly penalize those gems that I’ve had forever. Any suggestions on a formula to use?