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...
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.
- 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.
- 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.
- Perhaps this should go without saying,
but a player that crashes, has resource leaks or is generally
unstable doesn't count.
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...
- 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.
- 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.
- 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.
- The player should be able to send output to ESD.
- 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.)
- A related point is that there
should be an option to make the
behaviour of double-clicking on a music file "enqueue and
play"...
- 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...
- 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.
- 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.)
- The player shouldn't have any capability for reporting usage data
back to base. No user actually wants that.
- The player should be able to play Ogg Vorbis audio.
- 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.