How to choose an open source music player

5 readers like this.
Yellow and red record playing

Opensource.com

Linux offers an abundance of music players; how do you choose which one to use?

Back in June, 2016, I wrote about the apparent passing of my favorite open source music player, Guayadeque. I described the six things I really liked about Guayadeque, and looked at two obvious alternatives: Quod Libet and gmusicbrowser. Since that time, I have been living with gmusicbrowser on my laptop, while continuing to use mpd on the computer attached to the home stereo. Meanwhile, several kind readers have offered other suggestions as to their favorite music players.

With all this input available, I decided to formalize my "six things" list and apply it to a list of candidates for my laptop music playing needs.

6 key features of laptop-based music players

1. Must be configurable to pass the music through unchanged to Alsa.

Why?

  • Allows music to switch bit rate and bit depth on the fly.
  • Makes it simple to put the signal into an external digital audio converter dedicated to high-fidelity music reproduction, and capable of driving good headphones.

2. Should have a good "smart playlist" feature.

Why?

  • Keep the great tunes coming while you're cooking that wonderful dinner.

3. Should not force the user to always interact through playlists.

Why?

  • Allows you to double-click on an album and have it play, without requiring a bunch of extra clicks to reorganize the playlist.

4. Should provide a simple approach to cover art.

Why?

  • Use the embedded cover art, fall back to cover.jpg (or .png) in the music directory.
  • There are so many weird frustrations about cover art in so many players. Who wants to re-curate their music every time they switch a player, just to see the correct album cover when music is playing?

5. Should show the signal level and effective bit rate as the music plays.

Why?

  • Because sometimes you want to know!

6. Should present good-to-great overall organization, layout, and performance.

For me, the first item on the list is the critical feature; the rest all enhance the experience to a greater or lesser degree. So I'm going to give the first feature a maximum mark of 5 and the rest 1 each. A good music player will get a 10 based on this scheme.

The evaluation

Guayadeque: 10. It appears to have returned from the dead. Although  Guayadeque is not yet back in the latest distro repositories, the developer provides instructions on its installation.

Quod Libet: 7.5. Meets requirements 1, 3, and 6. Smart playlists are possible but require configuration, so I give 0.5 for that. Despite the player's excellent documentation and a plethora of plugins, I haven't been able to make 5 happen. I had to reorganize my music to get cover art working for those "free downloads" we all have, so no points for that either.

Gmusicbrowser: 8. I haven't figured out how to get level meters nor smart playlists. Also, it's so flexible in layout that it almost deserves a 2 for requirement 6 but extreme layout flexibility isn't hugely important to me.

DeaDBeeF: 8.5. Several readers suggested this player, so I thought I would take a look. It meets requirement 1; I was able to select my trusty AudioQuest DragonFly as the ALSA output device in the sound preferences panel. Switching songs of different bit rates and word lengths happened smoothly, and I verified that they were passed through correctly without resampling by looking at /proc/asound/DragonFly/stream0. I could not find a smart playlist feature. The player itself seems somewhat more playlist-oriented than I want, but it's easy enough to select multiple songs (an album or whatever) and put them in the input queue, although the available option seems to be "add," not "replace and play". So 0.5 for that. Cover art worked very well. There is a spectrum analyzer plugin and the starting bit rate is shown. And organization and layout are completely user-adjustable through the design mode. This seems like a competent piece of software.

Audacious: No rating. A reader suggested this player, but in looking at its configuration, I could not satisfy myself that it would meet 1. For example, in Settings > Audio, it requires selecting bit depth. Given that I want to play my music at its native bit depth, I don't think I want this feature. Therefore I didn't continue with its evaluation.

Rhythmbox: No rating. Although this is the default player on my system, it is configured to use Pulse Audio for output and I have never figured out how to get Pulse to pass the music through untouched. Therefore I didn't continue with this evaluation.

So far, then, Guayadeque is still my favorite.

Next time I'll take a closer look at some of the other big names in audio players, such Amarok, Clementine, and Exaile, plus mpd and one or more of its front-end clients.

Anything else I should add to that list?

Finding good music

Lately I've been exploring the Erased Tapes catalog. Besides being the home of one of my favorite artists, Nils Frahm, Erased Tapes seems to specialize in what I might best describe as "atmospheric electronica," although a lot of the work present there also includes acoustic instruments. My latest two acquisitions are both by Ólafur Arnalds and Nils Frahm: Stare and Loon. You can hear samples of both of these at the Erased Tapes store. Also there is a compilation of sample tracks available there for free, called Various Erased Tapes Artists Volume VII. Erased Tapes often offers music in 96kHz/24-bit versions, which I really appreciate. And of course there is no need to install downloading junkware to collect your purchases.

Chris Hermansen portrait Temuco Chile
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.

37 Comments

I love Quod Libet + Ex Falso, makes my heart grow warm when I talk about it and think about, kinda makes me uncomfortable

Thanks for the comment, kmf. I think Quod Libet is pretty good, too. And good point about Ex Falso, there are quite a few tag editors out there. I'm going to take a look at them...

In reply to by kmf

Just this week I learned of "aplayer" which I used on the command line in Debian. Not elegant but it fit the bill for me.

Thanks for the comment, Don. The only command-line player I've used to date is ncmpcpp... well I guess strictly speaking it's not command line but rather uses curses. It is the control half of mpd. Anyway, I put "aplayer" on my list and will have a look at it soon.

In reply to by Don Watkins

srsly there's no better player than VLC. I'm using it on osx, ubuntu and android devices. I always fall back to VLC as there's simply no better media player.

Thanks for the comment, bbhome. I have VLC on my "list of things to review". I've used it in the past to watch DVDs and it always seemed good for that, but have never really dug into it as a music player.

In reply to by bhome (not verified)

Check out Music On Console (MOC) music player. in the terminal like mpd.

Personally I really like Clementine but its all personal preference.

Thanks for your comment, markh. I've added Clementine to my list of players to review.

In reply to by markh (not verified)

What?? No mention of Clementine? Qmmp? Amarok? VLC? xmms? any of the mplayer-based frontends such as smplayer or umplayer? What kind of article is this??

Thanks for your comment, Eduardo. To answer your question, this is the kind of article that introduces an evaluation scheme I'm going to use for other players, in future articles. You might note that, at the end, I mention that I will be taking a look at Clementine, Amarok and others in upcoming articles...

Anyway, thanks for the suggestions. I have added all of them to my list of players to review.

In reply to by Eduardo Sanchez (not verified)

I just thought it would be of note, since xmms was brought up, that Audacious was forked from it a long time ago because development for it was effectively dead.

In reply to by clhermansen

Thanks for the comment, CFWhitman. Great information.

I see in my repos that there is an xmms2 which purports to be a client-server redesign of xmms. There is no xmms however, so based on your comment and on the repo situation I think I will take xmms off my list.

In reply to by CFWhitman

Another nitpick: for some, the smart playlist is totally irrelevant; for example, for classical music fans, which tend to listen to whole albums, which usually are organized in folders.

Thanks for this comment, too, Eduardo. You raise an interesting point about classical music. I have some classical music that I have ripped and a great whacking shelf full of classical CDs that I will get around to, some day...

For what it's worth, my experience to date with music players is that they don't serve classical interests very well. For instance, I would like to have a classical library and a non-classical library, because I would like my user interface for the classical library to be organized around composer and composition as well as artist / performer and album / track. But that extra bit doesn't work particularly well for popular music (or whatever you might wish to call it).

I kind of disagree with your "whole album" comment. As I'm sure you know, a lot of classical LPs and CDs package more than one work, often by other composers, performers, etc. Sometimes the packaging is inspired but most often I'm not too interested in an album that includes works by two unrelated composers who had no particular interest in or knowledge of the other's work. The nice thing about ripping this music is that I can separate the two works and make them stand on their own, provided that I can get the tags right...

Anyway! My point being, I guess, that classical music needs more / different player horsepower and a lot of curating. In my experience, anyway.

In reply to by Eduardo Sanchez (not verified)

If a music player does not have a plugin for midi files, it's only half a music player.
End of story.

Thanks for your comment, Tony. Could you elaborate a bit as to why a player needs a plugin for midi files? Sounds intriguing...

In reply to by Tony (not verified)

"A reader suggested this player, but in looking at its configuration, I could not satisfy myself that it would meet 1. For example, in Settings > Audio, it requires selecting bit depth. Given that I want to play my music at its native bit depth, I don't think I want this feature. Therefore I didn't continue with its evaluation."

So you totally missed the drop-down where you can change from pulseaudio to oss4/SSL/jack or even OMG ALSA.You also missed that ALSA by default, uses the same sampling rate and format as the source file, whilst pulseaudio for example down samples everything by default so Audacious allows you to be easily change those pulseaudio defaults *eyeroll*.Sounds like the best of both worlds to me. Please do yourself a favour and go and take a serious look at Audacious.

Thanks for writing, Gognos.

I did not totally, or even partly, miss the drop down where I can change from pulse to whatever. In fact I am looking at that right now on my other screen, and here is what I see:

- the "output plugin" is ALSA Output

- just below that is a drop down that requires me to set "bit depth", the choices for which are 16, 24, 32 and floating point

It is this requirement to choose a bit depth, when I've already selected ALSA and therefore I know that I'm not required to choose a bit depth, that makes me turn away from Audacious.

In reply to by Gognos (not verified)

Thanks for the comment, John. Lollypop is brand new to me. Certainly an attractive web page! I've added it to my list to review. Great pointer.

In reply to by John (not verified)

You might be interested in Aqualung (although it may not have smart playlists) and Goggles Music Manager. My requirements are slightly different, meaning I basically like playlists. :) My default player since switching to Linux has been DeaDBeeF.

Incidentally, back then I wrote that Quod Libet was awful as per my requirements, meaning it choked up when dropping a bit of music on it, but it would seem to be okay now. Now I just can't seem to find where to select an output device, nor does it show bitrate.

Thanks for your comments, Frans.

I've added both Aqualung and Goggles to my review list. I really appreciate those recommendations.

I also really enjoyed reading your reasons for liking / disliking players. Your reasons are well thought out and as you say a bit different than mine. A few comments of my own:

- as far as I know, I only have FLAC and MP3 files (maybe there is an ogg or two), and I don't notice gaps in playback. that's not to say they aren't there; they just aren't "in my face". I'll try to pay better attention. In this respect Aqualung looks pretty serious.

- I like the idea of replay gain as applied to some of my older CDs which are often 6dB or more down, but I'm not keen about having my music player / computer resampling stuff. I have thought about dealing with some particular sinners with Audacity, but that's a future project.

- I don't find myself adding files while I'm listening. Not sure why that is, I guess that's just the way my workflow happens. So I've never had an issue with the UI freezing up on me because of this.

- good audio quality - I think we are agreed there! - and to me that means passing the bits on through to the DAC without futzing with them.

Again, thanks for your thoughtful comments!

In reply to by Frans (not verified)

Sorry Frans I forgot one thing. You set the playback device on Quod Libet as follows:

Start the applciation (d'oh) and pick Music > Preferences from the menu.

The Preferences pane has five tabs, the middle one being "Playback". On that, there is a field called "Output pipeline".

In that field you need to put the gstreamer pipeline you want to use for playback. In my case it's set to:

alsasink device=hw:CARD=DragonFly,DEV=0

Generally speaking if you want to just pass the bits through you need to use alsasink. The device parameters can be obtained by using the command "aplay -L".

In reply to by Frans (not verified)

Ack! about bit rate; neither approach is optimal but you can:

1. right-click on the song info showing at the top and choose Information from the context menu

2. look in /proc/asound/your-device until you find hw_params for your PCM playback device.

Neither offers an instantaneous / updated view.

In reply to by clhermansen

I *love* seeing all these great suggestions. I used to us Clementine, but these days I don't listen to much music on my Linux laptop. I'm keeping an eye on the series and maybe I'll try out a few new players.

Thanks for the comments, Rikki.

It's great to have so many great suggestions from generous readers. I have 12 players on my "to review" list because of this and kmf's comments above made me realize that I need to take a critical look at tagging applications, too.

Thanks for the useful info.

FWIW I like the simplest player around for Linux since I consider phones to be the proper place to play music files. Lately I am using LXMusic on a machine with LXDE.

Actually the reason I wrote was to defend Audacity. It can play music files but that isn't really the purpose, it's really for editing sound files, and is great for that!

Thanks very much for your comments, Tim. I've added LXMusic to my list of players to evaluate. I really appreciate your suggestion!

As to Audacity and Audacious, as you say Audacity is a sound file editor, and a wonderful tool as you note, whereas Audacious is a really decent and small music player. Unfortunate the two names are so similar! I don't think I wrote "Audacity" meaning Audacious but if I did, I apologize to all!

In reply to by Tim (not verified)

Yes, there are a lot of music players out there, but after trying at least 10 different players, I still didn't find one which would fit my

needs. I'm using laptop only for music: ripping, taging, converting,...etc. and LISTENING pure fidelity. For output I'm using DAC

MusicStreamer II+ thorugh ALSA to amplifier and freestanding speakers. After trying Rhythmbox, Clementine, VLC, Kodi, Banshee,

Audacious, I had only one special request. App must be controled also from Android device. Currently I'm using Kodi, but not very

satisfied due to difficulty of searching music only by saved folders. I don't like libraries due to to much different music, artists,...etc.
I will use this opporunity to also mention one additional problem I have lately. Even though I use ASLA through output sound, I noticed cracks, pops, and static noises in the music. Does anyone have this problem and how can I solve it?

Thanks for your detailed and clear comments, Mitja.

I will try to address your points.

First, for sure if you use MPD as your player on your laptop, and say Sonata as your music browser / control, you can

- configure MPD to pass your music through ALSA in pure format;

- configure MPD and your laptop to permit you to control it through say MPDroid on your Android phone or tablet

You will need to manage ripping, tagging etc separately in this context. I would recommend looking at Asunder to manage your ripping and EasyTAG to manage your tagging.

For reference, this is exactly how I manage my home music server which is connected to a good DAC and thence to the home stereo.

As to cracks, pops and static noises in the music - this sounds to me like driver or kernel issues. A good place to go to resolve this kind of problem is the ALSA User's List at https://lists.sourceforge.net/lists/listinfo/alsa-user where you can search for similar problems and if no solution is found, subscribe to the list and post a question about your problem (a warning - there is a way to post a question, involving providing detailed information on your configuration, that creates the maximum likelihood of receiving help).

In reply to by Mitja (not verified)

And sorry, Mitja, but by the way there is a plugin for Quod Libet that allows the user to control it from an MPD client, such as MPDroid. So if you like Quod Libet's feature set...

In reply to by clhermansen

Looking forward for you to try Amarok. Personally i prefer Amarok, it meets your requirements + working lyrics fetching. The drawback is that it hasn't been update for some time, hence it's stuck with Qt 4, so it doesn't look good on HiDPI screen, kinda like GTK2 applications on GNOME 3.XX.

Thanks for the comments, David Bowie (??)

Amarok is up there on my list of players to try. Not having much experience with KDE I'm surprised that Amarok is falling behind in the GUI department; I thought it was a core KDE application.

In reply to by David Bowie (not verified)

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.