What defines a top-tier, open source music player for Linux?

What defines a top-tier, open source music player for Linux?

Find out what makes a Linux-based open source audio player "audiophile quality."

open source music with piano keys background
Image by : 
Opensource.com
x

Subscribe now

Get the highlights in your inbox every week.

In the two or so years I've been writing this music column, the Linux audiophile's world has evolved. New Linux distros and open source audio players have appeared, old ones have fallen by the wayside, a lot more music is available as high-quality digital downloads, new and high-quality playback hardware has emerged, streaming has taken off, vinyl sales continue to increase, CD and download sales continue to decrease… Therefore, it seems to be a good point to revisit my criteria for judging an open source music player and reconsider the players I've mentioned in the past.

Before I start, I want to talk about the word "audiophile" for a minute. Walk into a room of tech-savvy computer folk and mention that something is "audiophile quality" and watch the eyes start rolling. I'd like to leave aside the debates about subjective vs. objective, lossy vs. lossless vs. uncompressed, tubes vs. transistors, cables, and other controversial stuff, and instead use the "a-word" in a very straightforward context:

To me, audiophile quality audio playback software is characterized by one primary feature: it gets the digital audio from the computer's hard drive, SSD, or what-have-you through to a dedicated digital-to-analog converter without altering that bitstream in any way.

What makes a Linux-based open source audio player "audiophile quality"?

Different audiophiles look for different music listening experiences. Some value resolution (large scale and small scale detail), some appreciate sound staging (where instruments and voices appear in space—e.g., between the speakers or off to the side, further forward or further back), some appreciate tone, touch, and color (e.g., acoustic instruments, especially the piano and voice, that sound real), some advocate for more tenuous concepts like pace, rhythm, and timing or the speakers disappearing and leaving only the music. And maybe I've missed a few. Given each of these different parameters, audiophiles choose and arrange their equipment and furniture and select their music to provide the highest-quality listening experience they can achieve.

In this context, thinking about the Linux computer as a place to store digital music and a means to get that music off the hard drive and into the playback system, it becomes clear that any tampering with the digital music stream on the way between storage and playback is likely to mess with the listener's goals. Such tampering could include introducing timing or other errors into the music stream (for example by a system that is too busy doing other stuff to fill the buffers correctly), resampling the music stream (especially with a poor-quality resampling algorithm), mixing in other audio (which may also involve resampling), digitally altering overall level or equalization (which may also involve resampling, although some may like to perform these kinds of operations), and other types of alterations of the source. Moreover, computer hardware usually incorporates circuitry to convert digital audio to analog, using a digital-to-analog converter (DAC), but in most computers, this circuitry is built to be as inexpensive as possible and is often performs poorly, introducing noise and distortion into the analog signal.

One of the first things audiophiles do to maximize the quality of digital music playback is to purchase a high-quality DAC. Depending on the budget and requirements, such a device can cost anywhere from US$75 on up (and up, and up). I have listened to some startlingly good DACs that cost less than US$100, so it's not necessary to break the bank to get in the game. Most DACs in the "inexpensive but good" category rely on a USB connection to the computer; some provide TOSLINK or electrical S/PDIF as well. And most home theater systems provide digital connections usable by computers, which can be a good solution.

The next step is to select music player software that supports the objective of not messing with the audio stream. That means the software must provide configuration options to send the music stream to the DAC in such a way as to not alter the data. Practically speaking, on Linux this usually means configuring PulseAudio to ignore the DAC (so Pulse doesn't resample and mix other audio onto that device) and using music player software that permits directing data through ALSA, either directly or via GStreamer, and specifically to a hardware device, so no resampling occurs. Note that the preceding isn't a criticism of Pulse nor praise for ALSA; it just recognizes that Pulse isn't (yet) configurable to pass digital audio unchanged to a dedicated-to-music DAC. Also note that external USB DACs appear as sound cards in ALSA, similar to TOSLINK or S/PDIF interfaces or internal sound cards.

9 criteria for evaluating music players

  1. My No. 1, mandatory requirement for a music player is that it permits the above kind of configuration.

My other eight criteria for evaluating an open source player are whether it:

  1. Shows sample rate and word length of the song playing
  2. Confirms sample rate and word length by showing the bitrate as the song plays
  3. Shows peak and average level and dynamic range of the song playing—typically this is shown on a logarithmic scale of decibels (dB), with 0dB being maximum output level, -6dB being approximately half of maximum, -12dB being approximately one quarter of maximum, and so on)
  4. Manages cover art well—doesn't require a lot of cover image tweaking
  5. Allows, but doesn't force, the use of playlists—sometimes I want to curate a playlist, sometimes I just want to double-click on an album and have it play
  6. Enables smart playlists, in which the player will use some kind of information and algorithm to select "similar" songs to the one currently playing, which is a great option for parties, cooking, and just rediscovering music
  7. Offers effective user experience (UX), e.g., organization, display, and metadata search by artist, album artist, composer, album name, track name, etc.
  8. Supports streaming from internet "radio stations" (e.g., user-defined, Shoutcast, TuneIn, etc.)

Given these criteria, I can apply a qualitative weighting system to rate the various open source music players against those criteria. Here's my rating scheme:

  • 5 points for ALSA configurability
  • 2 points for fully meeting a criterion
  • 1 point for partially meeting a criterion
  • 0 points for not meeting a criterion

In the second part of this article, I'll evaluate eight open source audio players on these criteria to help you select the best application for your needs.

Make your equipment work better

Before I move into the ratings, I want to mention a fine book that I'd recommend to anyone who wants to get the best performance out of their music playback system: Get Better Sound, by Jim Smith. The author offers over 200 tips about getting the most out of your gear already in place, as well as useful tools and ways to evaluate new pieces of equipment.

When I ordered the book, I thought it might be a bit thin, content-wise. I was wrong. For example, it's got some great tips on how to lay out the speakers, seating, and other equipment to achieve some of the specific goals described above. Moreover, it seems that the author is delighted to share his many years of experience in setting up home audio and recording. One of his recommendations that impresses me the most is to remember that family is much more important than audio equipment and dedicated listening. Finally, this is definitely the opposite of a "buyers' guide"—the main point is to get the most out of what the listener already has, not to spend great wads of cash on new stuff.

About the author

Chris Hermansen portrait Temuco Chile
Chris Hermansen - Seldom without a computer of some sort since graduating from the University of British Columbia in 1978, I have been a full-time Linux user since 2005, a full-time Solaris and SunOS user from 1986 through 2005, and UNIX System V user before that. On the technical side of things, I have spent a great deal of my career as a consultant, doing data analysis and visualization; especially spatial data analysis. I have a substantial amount of related programming experience, using C, awk, Python,...