Hi.

As my music collection grows, I've begun to recognize the
usefulness of playlists and other types of song list data...

So, instead of my usual "put the entire collection on random
play", I had a few ideas about how to organize and manage
playlists better.

It seems that it's always enjoyable to hear songs you haven't
heard in a while, and also hear songs that you like.  But it's
not so nice to hear things you don't like much, or songs which
have been playing a lot lately.

For the bit about hearing songs which haven't played recently,
I found a solution.  It just sorts songs by access date, and
plays the oldest ones first:

/bin/ls --color=none -utr `find $HOME/mp3/songs -type f` | \
xargs -n 256 freeamp


But it seems it would also be good if songs could be
automatically rated so that the favorite songs would be played
more often than less-liked songs.  I have done this before by
placing songs in various directories that indicate "how many
stars" the song deserves.  But this is not very practical when
trying to keep songs grouped by artist and album.

So, what if Freeamp kept a song database which stored
information such as "karma", and used this database to decide
what to play?  Every time you hear a song you like, bump up its
karma, and every time you hear a song which you're not too fond
of, decrease its karma.  This would essentially keep track of
what you like, and be able to let you hear what you want.

To keep "karma points" fair between new and old songs, and to
take care of things which you get sick of after a while, the
actual karma value could take other factors into account too.
Say, something which balances the total karma points a song has
received with its average points-per-play and its most recent
point history.  This would give high ratings to songs you have
liked for a long time and also to new songs which are also good.


:)

 _  _ _  _ ___ ___  ------------"Use the source, Luke!"---------
( \/ ( \/ (__ (__ ) |     Scott Scriven (Toy Keeper / XYZZ)    |
 \  / \  /  //  //  |       mailto:[EMAIL PROTECTED]      |
 /  \ / /  //_ //_  |     irc:serdevian.dyn.omnipotent.net     |
(_/\_(_/  (___(___) |  http://www.vis.colostate.edu/~scriven/  |

Reply via email to