Windows Music Players

update: I don't use Windows at all any more, so this is all very out of date.

It has been a source of annoyance to me for a long time that there seem to be absolutely no decent music players for Windows. By "music player" I mean some piece of software that will (at a minimum) play MP3s, but hopefully other audio formats, and possibly CDs as well. I've set out my requirements below, in no particular order. I know of no player that gets even close to meeting these requirements - if you happen to know of one that does well, please let me know. I've included a list of some of the players I've tried at the bottom. I make no particular claim that my remarks about these player are accurate or up-to-date - it takes a long time to test whether any given player can be made usable, and I don't have time to do that each time there's a new version of one of these alternatives available. Thanks to Chris for some of these suggestions.

update: Since writing this, I've been using foobar2000, which is much better than the alternatives I've mentioned below. As an experiment, I've tried to review it according to these requirements, which has made me doubt the usefulness of some of them. Anyway, I hope the exercise has some interest...

  1. The player must not have a themed, or "skinnable", user interface. Alarmingly, this seems to be a feature that people actually demand, for no reason I can fathom. I don't mind themable user interfaces if they work across the entire desktop's user interface, but application-by-application skinning is just horrendous. Typically, it's very difficult to guess how any control might work (e.g. you can't tell when toggles are on or off), the standard "minimize" and "close" buttons are in non-standard positions, and can't easily be told apart, standard keyboard shortcuts don't work, etc. etc.

    I just don't understand. Almost every Windows player I've tried uses a non-standard interface and they're almost without exception incredibly ugly and awkward to use. It's an alarming trend with genuinely free Linux software as well. jwz has done an excellent rant that touches on this subject.

    Windows look-a-like themes that don't actually use the default Windows controls don't count. There is perhaps a justification for a completely new user interface if the player is trying to create an interface to very complex functionality, such as in Traktor DJ Studio, which is trying to map the (lovely) interface of actual turntables and a mixer onto a computer's input devices. However, there's no such excuse with players with more basic functionality.

  2. If the player plays CDs, it must be able to do so in "disk at once" mode, so that if you're playing a mixed CD, you don't get gaps between the tracks. A notable failure on this point was Winamp, which, in an earlier version, only let you do this if you installed a plugin that would rip each track from the CD before playing it, then installed a plugin for cross-fading and after that set the crossfader to have no overlap and no volume change between tracks. Windows Media Player also has a bad track record with this. Windows 2000 CD player behaved fine in this respect.
  3. When playing CDs, the default behaviour should not be for the player to rip each track before playing it. While that's an advantage in some situations, the default should be to just use the standard IDE audio CD interface.
  4. Perhaps this should go without saying, but a player that crashes, has resource leaks or is generally unstable doesn't count.
  5. Ideally, the player should not have any facility for music visualization. If it does have such a facility it, should be off by default. Figuring out how to completely turn off the visualizations in Windows Media Player used to be quite a serious endeavour - you could repeatedly search the interface never find the right option.

    As with skinning, I don't really understand why people would want this feature in their player. The only situation I can think of is that you might want some simple visuals to have at a party if you're playing all the music from a computer, but even then it doesn't make much sense to include that functionality in the player itself. It could quite easily be a separate program, and in any case, the "party visuals" usage scenario is clearly very rare compared to everyday personal use. With many players it will also be an issue that you'll mess up the visuals when you want to operate the player anyway...

  6. The player should have a low startup time. The time between double-clicking an MP3 file to the sound beginning on my system (a not unreasonable Athlon 1.2GHz with 512MBytes of RAM) should be negligible. Recent versions of WinAmp typically fail this criterion.
  7. The player should have reasonably low CPU usage if all that it's doing is just playing MP3s. It should be comparable to the usage of the command line player mpg123. I've certainly seen WinAmp take up a staggering amount of CPU time while doing this.
  8. You must be able to drag a directory into the player, and have the player add all the playable audio files under that directory to the playlist. (This notably doesn't work in Windows Media Player.) The order that tracks within each directory should be added in should be alphabetical by default.
  9. The player should be able to send output to ESD.
  10. There should be an "undo" feature for alterations to a playlist. For example, with the default setup of WinAmp, you can carefully build a playlist and then completely lose it by accidentally double-clicking on an audio file. (You can change the behaviour of double-clicking to mean "enqueue" instead of "wipe the playlist and play", but that's not the default setup, and there's still no "undo" for playlist changes.)
  11. A related point is that there should be an option to make the behaviour of double-clicking on a music file "enqueue and play"...
  12. Music players must not alter any of the metadata for your music files. There's important information for me in the last modified time on the files in my MP3 collection. You might assume that this is a point so trivial as to not be worth mentioning, but I discovered at one point that all the modification times of my MP3s were being altered under my nose. It took a while to figure out what was doing this, but the culprit turned out to be Windows Media Player. This looks a lot like a piece of software deliberately destroying information on your computer...
  13. The player's shuffle mode should be random, apart from excluding songs that have been played already. Shuffle play systems that attempt to learn the songs that you like never work usefully, as far as I can tell, and should certainly be off by default.
  14. The music player mustn't ever try to make a connection to some other computer without asking you and explaining why it's necessary. Valid network activity might include fetching CDDB data for CDs or checking for software updates in response to a user request. The main culprits I've noticed in this respect are WinAmp, Windows Media Player and RealPlayer. (The player fails this test even if there's a way of supressing network activity via its configuration, if the default is for it to be allowed.)
  15. The player shouldn't have any capability for reporting usage data back to base. No user actually wants that.
  16. The player should be able to play Ogg Vorbis audio.
  17. Music players don't need to be able to display HTML. They don't need web browsers.

These players all fail in all the versions I've tried. I've considered making a pass / fail table for these, but it would be constantly being outdated, and typically it only takes a quite a low number of failures to make me consider it unusable.