The WSP (Weighted Song Playing) music system is based on iTunes smart playlists and performs two main functions: it weights the frequency with which songs are played based on their ratings, and it learns a song's rating over time while also detecting inaccurate manual ratings. It is free.

Who should use this?

Anyone who has a large music library that the weak selection methods iTunes provides are inadequate for. Manually trying to create lists of songs to yield the right combination of variety is extremely difficult, and rating large numbers of songs is a chore. This system can help ease both of these tasks. Streaming services like Pandora can be useful, but aren't mobile enough for many situations. There are a few smart phone apps, but not everyone uses a smart phone (or app capable PMP) for their music.

Who shouldn't use this?

  • Anyone who doesn't have a lot of music
  • Anyone who doesn't mind all their music playing with equal frequency
  • Anyone who can use a streaming service like Pandora or Slacker for their needs
  • Anyone who uses a smart phone for their music and is satisfied with one of the intelligent music playing apps available
  • Anyone who is uncomfortable installing non-trivial programs (and has no friend who can do it for them)


  • A computer running a modern version of iTunes (versions 8 and lower will not work, and 10 and above will, but I'm not sure about 9).
  • Playing music with either an iPod or iTunes itself (non-Apple music players will not, to my knowledge, provide the necessary play and skip data). The best iPod models are the Shuffle, Nano, and Classic. The Touch and iPhone can run custom apps which will probably suit your needs better.
State of development:
  • Extensively tested by the creator through actual use (limited by how much music I listen to, of course)
  • Additional testing with a purpose written simulator (things look good, even after decades of listening)
  • Full documentation with screen captures for each step
  • Testers welcome and feedback appreciated on features, bugs, installation process, algorithms, and documentation
  • Free
  • Implements a smart random shuffle, weighted by the time since last played or skipped as well as by song rating.
  • Automatically suggests ratings for unrated songs over time based on user listening behavior
  • Identifies songs that should probably be deleted
  • Detects ratings that aren't accurate and suggests whether to raise or lower it
  • Accounts for widely varying rates of music playing relative to library size (no manual tuning required).
  • Works on any computer running iTunes (Windows and OS X).
  • Did I mention it's free?


  • This system cannot adequately handle very small music libraries, but managing those manually isn't difficult
  • Owing to limitations in iTunes smart playlist exporting/importing, some hand editing of a few of the smart playlists during installation is necessary. This is a one time inconvenience, which will be eliminated in the future should Apple correct said problems.
  • Existing play and skip data should not be used, as it was not collected under controlled conditions. Third party rating estimators can of course be used prior to installation, and if they're wrong the system will detect it over time. The best method would be a recommendation system, but the iTunes Genius mechanism does not estimate ratings at this time.
  • Multiple users with differing tastes should not use the system simultaneously as it will skew the rating estimates.
  • There is no way to disable learning of ratings, short of using a non-Apple device or erasing the iPod before syncing. This means that loaning your iPod to your friend is a bad idea.
  • The system can only detect relative success in playing, not absolute success. This means it must define ratings by the success rates they produce, rather than in terms of average play rate over time. So while a song may be successfully played a high percentage of the time, the rating may not be accurate in absolute terms. For example, if you have so much music that it takes an extremely long time for all the songs to show up again no matter what the system does, then they will all tend to have high ratings, as it will push them up looking for failures which never come. This effect may be minor in the end result, but still qualifies as a limitation.