<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: KarperScore Redux</title>
	<atom:link href="http://karper.wordpress.com/2007/09/04/karperscore-redux/feed/" rel="self" type="application/rss+xml" />
	<link>http://karper.wordpress.com/2007/09/04/karperscore-redux/</link>
	<description>Konvoluted Konversations in KarperWorld</description>
	<lastBuildDate>Fri, 16 Oct 2009 06:54:50 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Michael Mortimore</title>
		<link>http://karper.wordpress.com/2007/09/04/karperscore-redux/#comment-90</link>
		<dc:creator>Michael Mortimore</dc:creator>
		<pubDate>Thu, 06 Nov 2008 19:44:34 +0000</pubDate>
		<guid isPermaLink="false">http://karper.wordpress.com/2007/09/04/karperscore-redux/#comment-90</guid>
		<description>Hi,

I tried your method and it seemed to be working well. I made some changes which I thought you or other readers may find useful.

I often leave my music playing over night or walk away from the computer forgetting to pause it, so I found that with the default script, most of my songs had high scores, whether I liked them or not.  While your method would have resiliance to this effect, it&#039;d still happen over time.  To counter it, I added the following:

sleepmax=10.to_f
# count how many tracks haven&#039;t been skipped
sleepcount = sleepcount + 1

#see if track was skipped early
if( percentage &lt; 99 )
	sleepcount = 0
end

#average of previous score and new score, weighted according to the
#sleepcount. The longer it is since i skipped a track, the more likely
#i&#039;m asleep so the less we&#039;ll change the score.
guess4 = (guess3 * (sleepmax-sleepcount) + prevscore*sleepcount) / sleepmax

#only change the score if sleepcount is within limits
if( sleepcount &lt;= sleepmax )
	system( &quot;dcop&quot;, &quot;amarok&quot;, &quot;player&quot;, &quot;setScoreByPath&quot;, URI::decode( url ), guess4.to_s )
end


Of course it doesn&#039;t stop the playcount incrementing, but i&#039;m hoping it&#039;s close enough.</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>I tried your method and it seemed to be working well. I made some changes which I thought you or other readers may find useful.</p>
<p>I often leave my music playing over night or walk away from the computer forgetting to pause it, so I found that with the default script, most of my songs had high scores, whether I liked them or not.  While your method would have resiliance to this effect, it&#8217;d still happen over time.  To counter it, I added the following:</p>
<p>sleepmax=10.to_f<br />
# count how many tracks haven&#8217;t been skipped<br />
sleepcount = sleepcount + 1</p>
<p>#see if track was skipped early<br />
if( percentage &lt; 99 )<br />
	sleepcount = 0<br />
end</p>
<p>#average of previous score and new score, weighted according to the<br />
#sleepcount. The longer it is since i skipped a track, the more likely<br />
#i&#8217;m asleep so the less we&#8217;ll change the score.<br />
guess4 = (guess3 * (sleepmax-sleepcount) + prevscore*sleepcount) / sleepmax</p>
<p>#only change the score if sleepcount is within limits<br />
if( sleepcount &lt;= sleepmax )<br />
	system( &#8220;dcop&#8221;, &#8220;amarok&#8221;, &#8220;player&#8221;, &#8220;setScoreByPath&#8221;, URI::decode( url ), guess4.to_s )<br />
end</p>
<p>Of course it doesn&#8217;t stop the playcount incrementing, but i&#8217;m hoping it&#8217;s close enough.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: elyk</title>
		<link>http://karper.wordpress.com/2007/09/04/karperscore-redux/#comment-64</link>
		<dc:creator>elyk</dc:creator>
		<pubDate>Thu, 06 Mar 2008 19:53:03 +0000</pubDate>
		<guid isPermaLink="false">http://karper.wordpress.com/2007/09/04/karperscore-redux/#comment-64</guid>
		<description>One suggestion for a future version (if you&#039;re planning on making one) would be to factor in the playcount as a percentage of the total number of songs played, rather than as an absolute value - 100 plays out of 1000 total has a different meaning than 100 plays out of 1000 total. Ideally, I&#039;d also like to see a songs score gradually fade after not being listened to for a while (which would likely indicate that the listener doesn&#039;t enjoy it as much as they used to), but I&#039;m not sure how that would work as score processing occurs when a song is played, and a periodic update (loop through all songs and update their scores based on their playcount percentage) would be impractical with a large collection.</description>
		<content:encoded><![CDATA[<p>One suggestion for a future version (if you&#8217;re planning on making one) would be to factor in the playcount as a percentage of the total number of songs played, rather than as an absolute value &#8211; 100 plays out of 1000 total has a different meaning than 100 plays out of 1000 total. Ideally, I&#8217;d also like to see a songs score gradually fade after not being listened to for a while (which would likely indicate that the listener doesn&#8217;t enjoy it as much as they used to), but I&#8217;m not sure how that would work as score processing occurs when a song is played, and a periodic update (loop through all songs and update their scores based on their playcount percentage) would be impractical with a large collection.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fabian</title>
		<link>http://karper.wordpress.com/2007/09/04/karperscore-redux/#comment-63</link>
		<dc:creator>Fabian</dc:creator>
		<pubDate>Thu, 28 Feb 2008 14:41:06 +0000</pubDate>
		<guid isPermaLink="false">http://karper.wordpress.com/2007/09/04/karperscore-redux/#comment-63</guid>
		<description>Another comment: The database field is called percentage, but it&#039;s apparently the score, since my command worked and I think the last play-percentage of the song isn&#039;t saved in the database.</description>
		<content:encoded><![CDATA[<p>Another comment: The database field is called percentage, but it&#8217;s apparently the score, since my command worked and I think the last play-percentage of the song isn&#8217;t saved in the database.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fabian</title>
		<link>http://karper.wordpress.com/2007/09/04/karperscore-redux/#comment-62</link>
		<dc:creator>Fabian</dc:creator>
		<pubDate>Thu, 28 Feb 2008 14:35:27 +0000</pubDate>
		<guid isPermaLink="false">http://karper.wordpress.com/2007/09/04/karperscore-redux/#comment-62</guid>
		<description>HowTo reset amarok&#039;s scores (backup your collection.db first):

1) close amarok
2) sqlite3 ~/.kde/share/apps/amarok/collection.db
3) type &quot;UPDATE statistics SET percentage=0;&quot;
4) quit and launch amaroK

This worked for me.</description>
		<content:encoded><![CDATA[<p>HowTo reset amarok&#8217;s scores (backup your collection.db first):</p>
<p>1) close amarok<br />
2) sqlite3 ~/.kde/share/apps/amarok/collection.db<br />
3) type &#8220;UPDATE statistics SET percentage=0;&#8221;<br />
4) quit and launch amaroK</p>
<p>This worked for me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: KarPer</title>
		<link>http://karper.wordpress.com/2007/09/04/karperscore-redux/#comment-61</link>
		<dc:creator>KarPer</dc:creator>
		<pubDate>Sat, 16 Feb 2008 03:33:02 +0000</pubDate>
		<guid isPermaLink="false">http://karper.wordpress.com/2007/09/04/karperscore-redux/#comment-61</guid>
		<description>Oh, but it&#039;s not an elegant solution!

Setting the score to 1 isn&#039;t what I want (I know, I&#039;m being finicky, but indulge me!). Also, with more than 4000 songs in my collection presently, that&#039;s a lot of waiting!

So, since all my tag info is saved with the file itself, the best thing for me to do was to nuke the db file that Amarok uses to store its data. Then, rescanning the collection effectively reinitialized the library.

But, yes, for those with smaller collections who don&#039;t mind a small, but non-zero score, this method is perfectly okay.

One final concern, though. Messing with the track information applet often writes an ID3v1 tag in addition to an ID3v2 tag. Since I obsessively delete my v1 tags, I am scared to change anything, lest it writes in new v1 tags with their limited support for long song titles etc. Yeah, I&#039;m that finicky about my music collection. :)</description>
		<content:encoded><![CDATA[<p>Oh, but it&#8217;s not an elegant solution!</p>
<p>Setting the score to 1 isn&#8217;t what I want (I know, I&#8217;m being finicky, but indulge me!). Also, with more than 4000 songs in my collection presently, that&#8217;s a lot of waiting!</p>
<p>So, since all my tag info is saved with the file itself, the best thing for me to do was to nuke the db file that Amarok uses to store its data. Then, rescanning the collection effectively reinitialized the library.</p>
<p>But, yes, for those with smaller collections who don&#8217;t mind a small, but non-zero score, this method is perfectly okay.</p>
<p>One final concern, though. Messing with the track information applet often writes an ID3v1 tag in addition to an ID3v2 tag. Since I obsessively delete my v1 tags, I am scared to change anything, lest it writes in new v1 tags with their limited support for long song titles etc. Yeah, I&#8217;m that finicky about my music collection. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Texoft</title>
		<link>http://karper.wordpress.com/2007/09/04/karperscore-redux/#comment-59</link>
		<dc:creator>Texoft</dc:creator>
		<pubDate>Fri, 15 Feb 2008 22:52:10 +0000</pubDate>
		<guid isPermaLink="false">http://karper.wordpress.com/2007/09/04/karperscore-redux/#comment-59</guid>
		<description>FYI: How I reset score for all songs from within Amarok

1. insert your songs into playlist
2. right click &quot;edit track information&quot;
3. go to statistics tabs, set score (don&#039;t change anything else or you&#039;ll break your tags!). I had to use score 1, strangely zero didn&#039;t work for me.
4. click on save
5. wait a lot</description>
		<content:encoded><![CDATA[<p>FYI: How I reset score for all songs from within Amarok</p>
<p>1. insert your songs into playlist<br />
2. right click &#8220;edit track information&#8221;<br />
3. go to statistics tabs, set score (don&#8217;t change anything else or you&#8217;ll break your tags!). I had to use score 1, strangely zero didn&#8217;t work for me.<br />
4. click on save<br />
5. wait a lot</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Linux: Tweak Amarok score algorithm &#62;&#62; Scott Klarr</title>
		<link>http://karper.wordpress.com/2007/09/04/karperscore-redux/#comment-47</link>
		<dc:creator>Linux: Tweak Amarok score algorithm &#62;&#62; Scott Klarr</dc:creator>
		<pubDate>Wed, 26 Dec 2007 18:35:35 +0000</pubDate>
		<guid isPermaLink="false">http://karper.wordpress.com/2007/09/04/karperscore-redux/#comment-47</guid>
		<description>[...] was about to come up with my own algorithm when I came across This KarperWorld Post where he came up with a very nice scoring algorithm. I modified the scoring script with his [...]</description>
		<content:encoded><![CDATA[<p>[...] was about to come up with my own algorithm when I came across This KarperWorld Post where he came up with a very nice scoring algorithm. I modified the scoring script with his [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Markus</title>
		<link>http://karper.wordpress.com/2007/09/04/karperscore-redux/#comment-42</link>
		<dc:creator>Markus</dc:creator>
		<pubDate>Fri, 09 Nov 2007 16:36:46 +0000</pubDate>
		<guid isPermaLink="false">http://karper.wordpress.com/2007/09/04/karperscore-redux/#comment-42</guid>
		<description>You are absolutely right. 0.003 of the score is probably lost during typecasting. I was totally obsessed with the score. Screw it. I&#039;ll just listen to the songs and check out the scores later. That way they will be objective.

I&#039;ll just listen to whatever I&#039;m in the mood for!</description>
		<content:encoded><![CDATA[<p>You are absolutely right. 0.003 of the score is probably lost during typecasting. I was totally obsessed with the score. Screw it. I&#8217;ll just listen to the songs and check out the scores later. That way they will be objective.</p>
<p>I&#8217;ll just listen to whatever I&#8217;m in the mood for!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: KarPer</title>
		<link>http://karper.wordpress.com/2007/09/04/karperscore-redux/#comment-40</link>
		<dc:creator>KarPer</dc:creator>
		<pubDate>Fri, 09 Nov 2007 06:49:03 +0000</pubDate>
		<guid isPermaLink="false">http://karper.wordpress.com/2007/09/04/karperscore-redux/#comment-40</guid>
		<description>The last 97% of a song leaves out 3% of the 10% of the score it can impact, which is less than or equal to 0.3. It is so small, it&#039;s probably not going to make that much of a difference! :) Remember, the percentage variable is on a leash now. It can&#039;t do too much damage. So, feel free to skip or stop songs whenever you feel like.

Rediscover your music, as Amarok says, and let the script worry about the score of the songs!</description>
		<content:encoded><![CDATA[<p>The last 97% of a song leaves out 3% of the 10% of the score it can impact, which is less than or equal to 0.3. It is so small, it&#8217;s probably not going to make that much of a difference! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Remember, the percentage variable is on a leash now. It can&#8217;t do too much damage. So, feel free to skip or stop songs whenever you feel like.</p>
<p>Rediscover your music, as Amarok says, and let the script worry about the score of the songs!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Markus</title>
		<link>http://karper.wordpress.com/2007/09/04/karperscore-redux/#comment-39</link>
		<dc:creator>Markus</dc:creator>
		<pubDate>Tue, 06 Nov 2007 21:22:48 +0000</pubDate>
		<guid isPermaLink="false">http://karper.wordpress.com/2007/09/04/karperscore-redux/#comment-39</guid>
		<description>Oh, I&#039;ve made another slight alteration to your script. (Seems like I can&#039;t stop fiddling with it.) You might even find it useful (or at least some of your readers).

Quite a lot of tracks have a silent part at the end. Being rather impatient, I tend to just skip to the next song. Practically, the song has been played in its entirety but Amarok doesn&#039;t know this and will assign a lower score to it on account of me having skipped those last silent 5, 7 or 10 seconds.

So I did the same thing I&#039;ve done for the incipient section of the song, but &quot;in reverse&quot;, so to speak. If one has played 97% of the song, the percentage variable is artificially upped to 100 and the rest of the calculations are done with this value.

Just thought I&#039;d mention it, so that this minuscule tweak doesn&#039;t forever rot in the bowels of my PC forever.</description>
		<content:encoded><![CDATA[<p>Oh, I&#8217;ve made another slight alteration to your script. (Seems like I can&#8217;t stop fiddling with it.) You might even find it useful (or at least some of your readers).</p>
<p>Quite a lot of tracks have a silent part at the end. Being rather impatient, I tend to just skip to the next song. Practically, the song has been played in its entirety but Amarok doesn&#8217;t know this and will assign a lower score to it on account of me having skipped those last silent 5, 7 or 10 seconds.</p>
<p>So I did the same thing I&#8217;ve done for the incipient section of the song, but &#8220;in reverse&#8221;, so to speak. If one has played 97% of the song, the percentage variable is artificially upped to 100 and the rest of the calculations are done with this value.</p>
<p>Just thought I&#8217;d mention it, so that this minuscule tweak doesn&#8217;t forever rot in the bowels of my PC forever.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
