For a very long time (since when iTunes was cool) I have been trying to find a way to make a smart playlist which includes the most played songs within a certain period of time, for instance:
- Most played songs in the last week
- Most played songs in the last month
- Most played songs in the last 3 months
- Most played songs in the last year
You get the gist. The problem is that iTunes —and for that matter, every other music player I know— only keeps track of total of times you have played a track and cannot differentiate between plays last week or last year or ever.
What you are going to need
Ready? Follow these 5 steps
The solution lies in the data tracking capabilities of social music platforms such as Last.fm and Libre.fm. Using one of these services, you are able to produce lists (though not playlists) of top tracks for a determinate period of time.
- Sign up for Last.fm, Libre.fm or a similar service if you haven't.
- Once you have enough data, go to the list of your choosing (top tracks in the last 180 days, for instance) and copy the tracks using a plugin such as ColumnCopy for Chrome.
- Cleanup your list a little using a text editor, remove white space and make sure each song takes one line. You can do this very quickly and painlessly using find and replace.
- Save your list as M3U.
- Import your M3U list of songs into MediaMonkey using the script. It will look for the songs in your library that match the songs on the list.
iTunes and other players
If you don't use MediaMonkey, do not fret (although you probably should consider switching). You can still export from it the songs as a playlist that iTunes, Winamp or any other player can read.
You can use the same process to generate other types of list that aren't natively supported by music players. If you are concerned about the privacy of these music platforms, keep in mind you can run a local server of Libre.fm on your computer.