Choosing a Linux Music Player
Updated November 25, 2013.
This site is no longer being maintained so anything below could still be accurate, or very outdated.
Update, October 2013. This article made its way to the top of r/linux where it was received overwhelmingly in the positive. A huge thanks from tSc to the Reddit community.
Everyone loves a good media player. In Userland, managing your music library is more important than kernels, ASLR, access control or any of that boring stuff. Thus I see no wrong in going full OCD and Synaptic shopping for a music player you’d want to get all snuggly with.
I’ve been using Banshee since well, forever, but I was curious about potential replacements and ended up trying out many other GUI music players. Sure I weighed features, style, stability and such things, but I also looked at their memory and CPU use to sort out the “bloated”, the “hogs”, the “small”, the “lightweight” and other such vaguely defined labels. Here I write to you having emerged from Userland with much perspective and I invite you to partake in the snuggliness.
- All players were used with a regular ‘ol Intel Sandy Bridge mobile chipset, meaning no standalone sound card or isolated PCB area for audio. The CPU is a one year old i5 with 2 cores and 4 threads at 1.6 Ghz and turbo up to 2.4 Ghz. The operating system was 64-bit Ubuntu 13.04.
- Library size can affect a player’s performance. My music library has about 1500 MP3 songs which is small by many peoples' measure.
- The total installed size and amount of package dependencies is according to Synaptic. The restricted extras option was marked when Raring was installed so some codecs were already present.
- CPU use comes from Top and memory readings were courtesy of Gnome System Monitor. The min and max CPU use numbers were occasional or rare spikes and dips. All players spent most their time in the middle of the range.
- Except for the screenshots, all players were used in totally default configurations. If you change settings, remove or add plugins, then memory, processor use and sometimes even program stability will also change.
- Except when mentioned otherwise, all players have base features like repeat, shuffle/random, replay gain, MPRIS integration, internet radio and podcast support, crossfading for gapless playback, a 10 band graphic equalizer and song ratings.
- Ex Falso for bulk ID3 tag editing is great, but if you want to embed cover art, Easytag is what you’re looking for. If you decide on a player which doesn’t do CD ripping, Sound Juicer will solve this. All 3 are in Ubuntu’s repositories.
- It should go without saying that your results will vary depending on your hardware setup, software versions and possibly your favorite kind of pie.
Kicking things off we have Amarok, the heaviest player in this list. What constitutes “heavy”, you wonder? For starters, the 125 packages required to make Amarok work, totaling 249 MB of used disk space.
If you’re using KDE or KDE programs, you won’t see that much because you already have most of Amarok’s dependencies. But in any other desktop environment, you’re basically half-installing the KDE Plasma desktop and you’ll also have a handful of extra KDE processes running.
Affecting all desktop environments is Amarok’s memory and CPU use. The player starts up right into low 60′s for used megabytes of RAM which increased to nearly 180 MB after an hour of playback and poking through menus. CPU use was among the highest and with the most variation ranging from 10.3 to 17 percent of a single CPU core. While changing tracks, Amarok used between 21.3 and 43.6 percent CPU and when idling (stopped and minimized), it skipped from 0 to 0.3 to 0.7 percent every few seconds (which was normal for nearly all players here).
* * * * *
So what do you get for all that resource consumption? In return, you have a stable, robust, attractive music player with many bells and whistles. Amarok’s main areas of expansion are its plugins, scripts and applets. Plugins handle support for iPod, MTP, USB and UPnP devices, DAAP sharing and internet sources like Last.fm, Jamendo, Ampache and others. Lyrics, artist info from Wikipedia, guitar tabs, similar artists and even their upcoming events are accessible by applets in the player’s center context window. The scripts are for Librevox (audiobooks) and some internet radio channels.
There’s also ID3 tag editing, custom keyboard shortcuts and Amarok can connect to a MySQL database. If you want to use the moodbar, you need the Moodbar Generator script from kdeapps.org. Amarok’s equalizer was weird. Instead of adjusting specific frequencies, they’re listed as bands 1-9 and the last is labeled as n/a. It’s obviously not a parametric equalizer; you just use the presets or move sliders to see what sounds different, which is all I suppose most people do anyway.
If you switch off most of the things which are on by default, Amarok will use much less resources than it does out of the box. Turning off automatic lyric scrolling alone knocked CPU use down to around 10 - 13 percent. Amarok is the king of eye candy in this list. Not to say other players listed aren’t good looking, Amarok just has more fading animations and moving parts. Not bad if you’re into that sorta thing.
* * * * *
You’re probably thinking all that plushness requires a lot of internet traffic to work. Yup. Wireshark revealed Amarok as the most talkative of all players here. On launch it connects to just Last.fm, Mangnatune and Internet Archive but when you play a track, there’s a hemorrhage of web traffic.
I saw Youtube, Myspace, Harvard, Rolling Stone, RIAA (wtf?), Associated Press, WordPress, Wikipedia, MTV, USA Television and Huffington Post contacted simply by playing a song. And those are just the ones you’d likely recognize. There were many more domains which you’d be forgiven for not knowing.
However, 1005 of the 2183 packets generated from launch and two songs played belonged to DNS lookups. The only TCP conversations going on (meaning, the only data really ‘communicated’) were with the usual music player lookup sites like Wikimeida, Internet Archive, Magnatune and Last.fm. If you disable all the plugins, scripts and applets which require internet access then (surprise!) Amarok does’t use the internet.
Despite being a well adored little workhorse of the Linux music world, I never used Audacious before this trial run. It and I really bonded and while not perfect (if such a thing exists) it earned a truckload of props from my nearly insatiable nature. Audacious is simple, elegant and to the point. I really liked the color contrast of the Info Bar and how the program still looks clean when used in a small window, no need for horizontal scrolling or other such contortions.
Audacious does files and URLs only. There are no podcasts, music stores, lyrics, artist biographies or song ratings; not even CD ripping. There’s also no official iPod or MTP support but you can access music from your external device if it mounts as a USB drive. If you put Audacious into Winamp mode, it can use Winamp skins instead of the default GTK+ look.
Audacious with dependencies brought in 16 packages for a total install size of 10.3 MB. Memory use started up to 10 MB while many tracks and about an hour later, it barely nudged past 18 MB of RAM.
CPU use out of the box was only average, but fixable. While idling, Audacious fluctuated from 0 to 0.3 to sometimes 0.7 percent every few seconds and again, this is common for most players listed here. CPU during playback stayed between 6.3 to 8.3 percent but spent most of its time around 7%. Changing tracks bumped CPU up to 9-12 percent.
Here’s a tip: Go to the View menu and uncheck Show Info Bar Visualization. This removes the pretty blue frequency response animation at the bottom right but now the program’s CPU use while playing music hovers around 4%. Superb. Audacious also did not open any internet connections unless told to. Spectacular.
Here stands a Linux media heavyweight. Banshee does audio, video, Amazon music, Internet Archive, iPod, MTP, UPnP and USB external device support and it can rip CDs (it can even do variable bitrate MP3s). Banshee also has a reputation for being crashy, heavy on resources and people further hate on this player because of its Mono dependencies.
Software politics aside, Banshee 2.2 was the first non-Winamp styled music player I settled into with Linux back in days of Mint Julia. I remember it certainly wasn’t rock solid. Version 2.6 has greatly improved and I have yet to experience a full-force Banshee crash with 2.6, even in Ubuntu 12.10.
That said, Banshee likes to devote all its attention to scanning your music library for the first time so don’t disturb this ritual or you could temporarily lock it up. The full install of Banshee with dependencies took 72.9 MB for 45 packages and Ubuntu’s repositories have more plugins available for Magnatune, Shoutcast, lyrics and all kinds of things.
* * * * *
You may not want Banshee handling video playback if you prefer VLC or something else. For video, Banshee can’t compare to VLC, SMPlayer, Gnome Mplayer or even Totem for features and customization. If some video containers default to opening in Banshee, this is most easily remedied with a new .desktop file in ~/.local/share/applications. Just copy the main Banshee.desktop from /usr/share/applications and remove all the video mimetypes.
I had several annoyances with Banshee. When I set the program’s volume and search bar width, they reset themselves the next time I launched the player. The volume can be modulated with the equalizer preamp but when I opened the EQ, there was no way to close its window without closing Banshee. Gapless playback didn’t work at all and there’s no way to hide the bottom status bar so if you don’t think the repeat button deserves its own toolbar, it’s just a waste of screen real estate.
Banshee’s CPU use was not bad, but not great either. When paused, it bounced from 0 to 0.3 to 0.7 percent every 5 seconds or so. Changing tracks in Banshee spikes CPU use up to 23.6 - 37.4 percent while playing music varied between 6.0 and 8.7 percent but mostly stayed around 7%. Banshee idled at about 39 MB of RAM and reached just under 60 MB after playback for an hour.
Shortly after importing my library, Banshee connected to musicbrainz.org to download any remaining cover art which wasn’t already embedded. This was all it did for internet connections and online cover art fetching is a plugin which can be disabled. There’s even a selection in the Preferences: “Disable features which require internet access.” That's what I like to see.
BeatBox left me with an impression beyond expectation. It’s a straightforward music player with a clean, well laid out interface and some useful extras like Last.fm scrobbling, URL streaming, lyrics and support for USB mass storage devices and iPods.
The Wow factor for me was a neat trick in the program’s GUI. I preferred the cover art view and what’s great about it, and what no other player in this list handles with such fresh finesse, is how you access tracks from there.
If you want to play songs in a particular album, you double-click on that album and a popup window opens with the track list. It stays open until you close it, even if you change view to a playlist, podcast or something else. There’s also the traditional library list view if cover art isn’t your candy.
Another plus is that BeatBox is one of few players on this list which lets you search your library simply by having the player as the focused window. No need to place the cursor in the Search bar. As long as the BeatBox window is in focus, just start typing an artist, album or song name. BeatBox will return accurate results. I love scouring though my music like this.
BeatBox was well behaved with resources. It started up to about 30 MB of RAM which moved into the mid 50′s after playing for an hour. CPU on idle did the 0, 0.3, 0.7 thing every ~5 seconds, playback increased CPU to between 4 and 6 percent and skipping tracks took between 12 and 15 percent. Install size was 5 packages and 6.5 MB on disk.
* * * * *
Alright, so what are the downsides? This player is a hobby so developmental pace is not as quick as the bigger names, but a Raring build is in the works as of late April. Until that’s ready, BeatBox is only available by .deb or PPA for Precise, Quantal and their Ubuntu-based cousins.
I first installed BeatBox into Mint Maya from the DEB file but the player didn’t launch. Terminal said something about an undefined symbol. Reinstalling from the BeatBox PPA included two more packages (libgranite-common and libgranite1) but fixed the error. A minor inconsistency was the white Settings icon on the top right from the Elementary theme which clashes with the others when using Faenza.
BeatBox was built with the Last.fm API but unfortunately there's no way to turn it off. This means that the player will make a TLS encrypted connection to ws.audioscrobbler.com for every track change. This is also when the lyrics plugins are disabled and a Last.fm account was not being used.
While BeatBox was the only player which communicated over the internet with encryption, this always-on behavior is unnecessary, undesirable and even careless. The connection can be stopped with a firewall or hosts file rule and other than the audoscrobbler thing, I really fawned over this player.
Update: Too bad BeatBox is no longer being developed but Noise does look to be a worthy successor.
Clementine is nothing less than a Titan. It originated as a fork of an earlier Amarok version but you don’t need KDE libraries installed, just a few for QT. Thus the install size is only 10 packages totaling 21.3 MB including dependencies. Not bad at all, especially considering what you’re getting.
In addition to the obligatory base features, Clementine does transcoding and can connect with iPod, MTP and USB players, then further integration with Google Drive, Spotify, Last.fm, Grooveshark, Icecast, Jamendo, Jazzradio.com, Magnatune, Sky.fm, SomaFM and SoundCloud. You can assign custom shortcut keys and notifications, there are lyrics, artist biographies, concerts in your area and similar artist recommendations to name a few more.
Then there’s Background Streams: three different sounds which play as background noise while Clementine is running. When you play songs, the streams are still audible underneath and you can adjust their volume levels independent of the main playback volume. You get rain, a kind of low rumbling or wind noise (why no binaural beats?) and then something called Hypnotoad. This is a tone distortion likely used as an interrogation tactic at absurd decibel levels and timespans. From Zen in the rain to hanging by your wrists for 10 hours a day, Clementine give the full spectrum of experience.
* * * * *
You would think such a program would have a large memory footprint but Clementine was well behaved with RAM use. Memory on startup stayed around 30 MB and eventually ran into the mid 80′s after playing for several hours. Though it scores at the higher end of this list, processor use was not terrible. While idling, Clementine doesn’t use any CPU, it didn’t even do the constant 0.3, 0.7 CPU bumps like nearly all other players did. Playing songs meant that CPU was between 14.6 and 18.3 percent and changing tracks used between 22.3 and 30.3 percent.
However, just like with Audacious, turning off the frequency response visualization reduced playback processor use down to 12 - 13%. Disabling both frequency analyzer and the playlist’s glow animation brought CPU down to 8.7 - 10 percent during playback. Creating song moods took the most processing power (up to 215%) but they can be disabled or saved for future imports.
* * * * *
I did catch some internet activity from Clementine. A few seconds after launching, the player connects to Magnatune and Google. If you don’t use it, Magnatune can be disabled which will stop that connection. The Google call, however, persisted even when all the extras were disabled.
Clementine sent a GET request to a 1e100 server wanting my geolocation by IP address. Google responded with the date and time, my city name, latitude & longditude and country. This happens every time Clementine starts and the developers said it’s used by the Songkick API to find concerts in my area for artists I was listening to.
I was assured this info is not sent to Clementine’s servers (which some further packet sniffing confirmed) and this location info is not kept in Clementine’s local database on your computer. If you don’t want this geolocation call to happen, there’s no way to stop it from within the player. You would need to block the IP address(es) from the firewall or hosts file.
I was excited to finally try DeadBeef after seeing it mentioned on various sites. They formed the idea in my head of the player having an underdog, Fight Club kind of image and while not in Ubuntu’s repositories, DeadBeef has a loyal following. Add to that a coarse name and an icon which looks recovered from a UFO crash site and we’ve got a recipe for something kickass. Damn, I hate hyping things up to myself.
DeadBeef is ultra minimalistic, even moreso than Audacious. Similarly, DeadBeef will only play songs from folders, a URL stream or a CD. There’s no ripping but you can do transcodes and no crossfading, podcasts or MPRIS integration. You can set hotkeys, there’s a visually impressive 18 band graphic equalizer and there are several plugins available from the DeadBeef website which aren’t packaged with the player.
It took me a minute to figure out that DeadBeef works a lot like Winamp. You can add a specific folder of songs from anywhere, or all your ~/Music contents for one huge playlist. You then hunt through your motherlist (Control+F) to set up a queue and other playlists.
The plugins packaged in the DEB installer didn’t seem to work, or I couldn’t figure out how to enable them. Cover art, the info bar and importing .pls & .m3u playlists all did nothing. Disappointed, yes, but I did not investigate further. The player was 13.8 MB installed and did not need any extra dependencies.
For memory use, DeadBeef started up using just over 10 MB and after an hour of listening, it went up to 14.2 MB. CPU use was good but not great for such a basic player. Idle (minimized and not playing) was constantly varying between 0 and 0.3 percent and during playback it was as low as 5.3% but as high as 10.6%. Changing tracks had no definitive CPU spike and most of the time DeadBeef stuck close to 6.3%. DeadBeef made no internet connections on its own.
Yet another player I never tried before. Exaile feels similar to Audacious but comes with more extras. You get plugins for DAAP, Jamendo, Librevox, Last.fm scrobbling, CD ripping (including VBR MP3s), lyrics, iPod and USB devices, moods and plenty more. Install size of the 5 required packages for Exaile was 7.7 MB. Startup memory use was about 40 MB and was in the mid 50′s during playback.
CPU on idle was mostly at 0% with the occasional bumps to 0.3 and 0.7 percent. Exaile was otherwise erratic with CPU use. During playback, it peaked at 10.7 and dipped as low as 4.3 percent but was mostly around 8%. Changing tracks used between 11.7 and 26.6 percent.
* * * * *
Now for a true story. I installed Exaile and right away imported my music. After going through a few tracks I noticed the cover art I meticulously embedded into each song’s ID3 tag didn’t show in the info area. Edit > Covers > Fetch Covers. Fixed.
Now Exaile is reading the JPG images from a locally stored cover art cache it created. But Exaile is also now using 217 MB of memory. Two tracks later that increased to 544 MB. Seriously. I then noticed that changing tracks shot CPU use up to a minimum of 23% but worse was that changing songs froze the entire desktop for a solid 5+ seconds. This happened regardless of whether track changes happened manually or by the player. Can you say Deal Breaker?
Exiting and restarting the program restored RAM to a sane level. From then on, sometimes when I used the player, memory increased again to about 215 MB where it stayed, even when the music was stopped and player minimized. Other times, it was in the normal 55 MB vicinity. I deleted ~./local/share/exaile/covers and that restored order to the chaos. There’s also a setting to not display cover art but that made no performance difference once the cache was created. Besides, I didn’t embed all those images for nothing.
Needless to say, Exaile was useless for me but would otherwise be pleasant if stable. A quick internet search didn’t turn up any other people’s issues with the destktop freezes so who knows what was going on there. MPRIS integration didn’t work either, which I need to get through the day. The Last.fm, lyrics and other plugins which need the internet can be disabled so Exaile makes no outbound connections.
Gmusicbrowser is a different animal than we've seen so far. It’s a jukebox player which specializes in massive music collections and flexible GUI customization. Its party piece is the ability to mimic the visual layout of several other music players including Audacious, Exaile, iTunes and Rhythmbox.
While not an exact match and the skins naturally lack functions found in those other players, it’s welcome if you don’t like Gmusicbrowser’s standard grid layout. Many of the skins I found cluttered and generally unappealing but eventually settled into Shimmer Netbook. Even that tested my patience because the unintuitive grouping options took some learning. Subjective? I would never.
A unique trait to Gmusicbrowser is playing tracks at random by default from anywhere in your library. You can lock the player on a specific artist or album and create filters to exclude, or confine the player to, certain chunks of your music collection. Even then it won’t play songs linearly, which is kinda cool, and its randomness is actually quite random so you'll not hear the same song twice in an hour. For extras, Gmusicbrowser gives you ID3 tag editing, support for Icecast and Last.fm (no podcasts) and plugins for album info, lyrics, karaoke and various other things.
* * * * *
Gmusicbrowser is also lauded as being very economical on system resources. Yet for all the talk about lightness, I saw this player do nothing special. It needed 31 additional packages for a 14.6 MB total installation size. It launched right into 62 MB at idle which settled into the low 80′s after an hour of music playing and skin changes. At one point I even spotted it at 91 MB. CPU hit 0.3% every 3-5 seconds when paused and varied from 5.7 to 7 percent during playback. Most of the time it stayed around 6.7% and changing tracks increased CPU to between 9 and 11 percent. That's not bad at all, but the lightness seems overhyped to me.
I first found interacting with Gmusicbrowser like trying to slay a hydra without fusing the neck wounds. I swear there were a few times when I opened the player and needed to redo all the GUI changes I made because they weren't saved somehow. MPRIS didn’t relay cover art to the taskbar controller and the non-linear playing is awkward if you’re not accustomed to it or don’t want it. Then there was the Elementary theme’s Settings button which didn’t match the rest of the Faenza theme, just like with Beatbox. Fingernails on the chalkboard of my eyeballs.
I did grow into the player though and I do really like it’s jukebox-ness and the netbook view. If you just want to start a music player and have it randomly crawl through your library, Gmusicbrowser is for you. It also made no unsolicited internet connections.
Instant -100 for requiring a settings fix to work. On first launch, Guayadeque refused to import any songs. The player automatically set itself to ~/Music but rescanning the library was futile. Eventually I figured out that I had to go into the Preferences, then Collections and set Default Copy Action from blank to Default. Really..? Obscure setting sure is obscure.
Guayadeque gives you scrobbling for Last.fm and Libre.fm, Jamendo, Magnatune and lyrics. It lets you record to MP3, OGG or FLAC which no other in this list does. Forcing gapless playback still resulted in a gap between tracks, yet when I unchecked gapless playback, the crossfade worked.
Guayadeque needed 4 packages and used 18.1 MB of disk space. There was just under 18 MB of RAM used on start which moved into the low 50′s on playback. CPU use stayed around 8.7% during playback, peaking at 10.7 and dropping to 8.3 percent. CPU while changing tracks was between 22 and 27 percent and while idle, skipped from 0 to 0.7.
Guayadeque has intelligent playlists where it can add tracks from your library to a currently opened playlist based on what’s already in it. Wireshark showed how this works: Guayadeque asks audioscrobbler.com for similar tracks to the currently playing song and is then served a list. If any artists or albums on the list match what’s in your library, they’re added to the intelligent playlist. Guayadeque can also bulk edit ID3 tags which is incredibly useful.
Again courtesy of Wireshark, there’s no way to turn off lyric or cover art fetching. You can hide the tabs from view in Guayadeque, but GET requests are still sent out to lyrics.com, lyricsmania.com, images.amazon.com, coveralia.com, loudson.gs, lettras.mus.br, among many, many others. The player tries a lot of different sources for lyrics and cover art before giving up so Guayadeque will spit out a lot of internet traffic if you listen to lesser known artists.
As mentioned in comments in Ubuntu’s Software Center, Guayadeque takes album art and creates a cover.jpg file in the album’s directory. I was NOT happy about that and it seems that even though Guayadeque still creates a cover art cache as other players do, it’s only used for some things. The cover.jpg files were full size extractions of the album art I embedded in each track so I found it pointless to write all these image files I must now clean out. +100 for backups.
Juk is another KDE player so like Amarok, if you’re not already using KDE or programs with KDE dependencies, you’ll find yourself pulling in 104 packages totaling 178 MB installed. Juke is like a KDE version of DeadBeeF, Audacious and some of the other more simplistic players. You get Last.fm scrobbling, cover art, bulk file renaming and bulk tag editing but no song ratings.
There is no URL streaming or podcasts, track crossfades did not work and I’d prefer the Artist/Album playlist links not look like HTML longing for a stylesheet. Then again, I wouldn’t have clicked on the titles if they hadn’t looked like links. Ah, social engineering. You win yet again.
Juk varied between 5.3 and 8 percent CPU during playback and 15-20 on track changes. CPU idled at 0 with no variation or tiny rises like the other players. Juk launched to barely over 20 MB of RAM and increased to the low 50′s after playing for an hour.
For the negatives, I found MPRIS broken and each time Juke changed a track, it contacted lyrics.wikia.com. This was despite the lyrics option being unchecked and the pane hidden from view so there’s no way to disable that.
MPD (Music Player Daemon) is a daemonized service which plays music locally, from remote sites or from any client device you connect to the MPD server. The default configuration for MPD is to listen on localhost so it’s not accessible over a network, it doesn’t send any data over the internet and it supports TCP wrappers if you do use it with remote servers.
Getting MPD up and running in Raring was a matter of installing the main daemon (6 packages, 1.5 MB) and adding my user to the Audio group (sudo useradd -G audio your_username). Then I could edit /etc/mpd.conf and tell it where to find my music library. The conf file also controls gapless playback, replay gain, output server (Pulse, ALSA, etc.) and other more advanced options.
There are several frontend packages for MPD. I tried Gnome Music Player Client, Sonata and Xfmpc. Gnome MPC is the more feature-full of the three. It gives you the usual base features, lyrics and guitar tabs, and didn't bring any Gnome packages into Unity (3 total, 9.5 MB). Xfmpc is another super minimalistic interface but easy to use. It does need a few XFCE packages for 9 total, 3.5 MB installed. Sonata’s features are somewhere between Gnome MPC and Xfmpc with lyrics, URL streaming, cover art fetching, crossfading and Last.fm scrobbling. It installed 5 packages for 3.8 MB.
MPD itself started up to 10.9 MB of RAM and didn’t move from there. CPU was between 1 and 2 percent during playback and jumped up to 3% for track changes. When idle, MPD occasionally went up to 0.3% CPU. Gnome MPC, Sonata and Xfmpc all showed similar CPU use as the MPD process but the memory was about 15-25 MB, 20-30 MB and 5-15 MB, respectively.
Embedded cover art didn’t work. Sonata and Gnome MPC would only display downloaded covers (no cover support in Xfmpc). The package mpdris2 will give you MPRIS support and the volume control in Gnome MPC also didn’t work.
For internet connections, MPD itself of course made none when set to localhost, all connections were 127.0.0.1. Sonata and Xfmpc wanted nothing to do with the internet either. Gnome MPC on the other hand, connected to many different addresses: Last.fm, Akamai Technologies, discogs.com and server4you.org were some seen. Disabling cover art fetching and metadata handlers stopped these connections.
Nightingale is a leviathan of a program. A fork of Songbird which dropped Linux support some 3 years ago, it plays audio, video and has its own web browser. It’s not in the repositories but there is a PPA for Ubuntu and tarballs for anyone else.
Getting Nightingale to work was difficult and when it did, it lacked that Soviet missile train level of solidity I like. I first used the PPA to install Nightingale into Ubuntu Raring which proved monstrously unstable. Segfaults, core dumps, mysterious Mozilla-related errors, Unity errors. It was a mess.
Then I went into Mint Maya and grabbed the tar.gz from the player’s website. Since Mint's Cinnamon has a Gnome 3 skeleton, I opted for the tarball with Gnome/Unity integration. In Maya, Nightingale finally would not crash but there was no system integration at all. The player runs from wherever you extract it and there were no notifications or menu entries, just nothing. This could probably be resolved with some tinkering or at least creating a desktop file, but I can think of a thousand other things I’d rather do.
Nightingale’s immediate impression is the disarray of waking up and not knowing where you are. The player is built with Mozilla’s XULRunner runtime environment so while the interface looks like iTunes DNA with a darker GTK theme, most menus are straight out of Firefox because the program basically is half Firefox. I’m not complaining about it’s appearance, I think Nightingale is rather good looking. It's just that suddenly the snozberries didn’t taste like snozberries anymore.
The fonts were very small on a 1366×768 resolution display, clearly not matching the system’s font settings and no changes made them larger. This rings similar to the font rendering issues with Firefox and Thunderbird from back in the Ubuntu Maverick era. Menus sometimes were blank until I hovered the cursor over each entry from top to bottom. Embedded cover art didn’t show, I couldn’t get the player to fetch cover art and I don’t know if something was supposed to happen in the bottom window with the orange SoundCloud logo, but nothing did. Fortunately it can be collapsed.
* * * * *
On top of the usual features, Nightingale gives you lyrics, Last.fm, Mashtape, Shoutcast MTP and USB device support, ID3 tag editing and SoundCloud. Then there are more extensions on the project’s website and you can do some minor layout changes to the library viewer, but most of the settings available are for the browser.
The extracted size is just under 185 MB and Nightingale launched with a hair over 71 MB of memory used and rose to just over 103 MB after an hour of music. That was without web browsing which would obviously change a lot. CPU while idling was 2-6 percent and playing a track was in the 16 - 21 percent range. Without scrolling lyrics, you’ll be around 11 - 12 percent and changing tracks used from 21 - 37 percent.
When you start the player for the first time, you’re asked if you want to send anonymous usage statistics. I chose Yes to see what would happen. Every succeeding time Nightingale launched, it made connections to Google Analytics with some header info related to Nightingale (user agent, encoding, charsets, keepalive time, etc.). It also connected to Nightingale’s servers to retrieve locale and language pack info. I assume that not checking the metrics submission option on installation would stop at least the Google calls.
On track changes, Audioscrobbler, lyric sites and Google Translate are also contacted. Nightingale is set to translate lyric text by default but these connections can be stopped by disabling the relevant services. The initial connections when the program is launched, however, cannot be disabled as easily. You would want to remove ~/.Nightingale and rebuild its profile without metrics reporting.
Most will recognize Rhythmbox as Ubuntu's included music player and it’s certainly a great choice. There are several Rhythmbox plugin packages in the repositories but the main rhythmbox-plugins gives you Last.fm and Libre.fm, support for DAAP sharing, iPod and MTP devices, lyrics, online cover art fetching, CD ripping (no VBR MP3′s though) and some other things.
Then there is fossfreedom’s PPA which gives you more extras, including a 10-band EQ, a lovely cover art browser (which is what the image shows) and other goodies. As reference for those who don’t have Rhythmbox installed by default, Xubuntu 12.04 needed 21 additional packages for 11.4 MB of disk space and Mint Maya needed only 5 packages using 6.5 MB.
Gapless playback didn’t work when Rhythmbox changed tracks on its own but if I manually clicked to the next song, then the crossfade happened. Rhythmbox was the 2nd of 3 players here which gave me my beloved artist seeking without using the search bar. Window in focus and typing a few letters was enough.
Memory on start was around 30 MB and went into the mid 50′s after an hour. CPU varied from 4.0 to 5.7 percent while playing, 9.3 - 14.3 while changing tracks and mostly stayed at zero while paused. Rarely it hit 0.3 for a moment. The broken crossfade bumped CPU use up to between 5.5 and 7.3 percent during playback. Rhythmbox also made no internet connections unless told to.
Tomahawk’s primary focus is extensibility for online content. It combines a gazillion different streaming sources and social features with your local music collection so you can access music on your accounts and those of your friends.
"Resolvers" is the term coined for plugins that connect Tomahawk with the supported online accounts, including Grooveshark, Jamendo and Spotify to name a few. “Whenever Tomahawk is looking for a song, it searches all of your available content resolvers and then plays it from your best available source.” says Tomahawk’s website.
There are APIs for extra playlists and web features and if that’s still not enough, you can connect to NAS devices and other Tomahawk instances on the local network. You can create links to songs for using in toma.hk, a music search engine which you use through your web browser. It pipes tracks to your Tomahawk player but I don't know how it works beyond that and did't look into it.
I don’t actually subscribe to any of these streaming services so I looked at Tomahawk mainly from the standpoint of a local music player, which I admit is a bit like using a nuclear submarine solely as a mode of transportation. All the focus on social means less emphasis on local playback. There’s no crossfading or equalizer and the only setting available which isn’t for online use is to tell Tomahawk where your local music is.
However, if you do social up and connect other services, but sometimes don’t want Tomahawk interacting with your online accounts, you can check Listen Privately in the settings menu. Multi-booters would be happy to learn that Tomahawk is also available for Apple OS X, all major Linux bases and Windows.
* * * * *
What did I like about Tomahawk? I liked the overall look and feel though the interface can become claustrophobic on a 13″ 720p screen, I liked the idea of staking out their niche with the social stuff. Commitment and specialization isn’t a bad thing, even if some services are limited to the United States. I liked the kind of Toma-Meshnet via LAN idea and Tomahawk by far gives you the most choices for similar artists than any other player, so I took a lot of notes.
Despite the eye candy and pretty effects, Tomahawk was remarkably courteous with CPU use. Top showed CPU between 14 and 15.6 percent during playback, 4 - 5 percent on idle and bumped up to the area of 19% when changing tracks. Tomahawk first started up to about 43 MB of RAM and reached up to 223 MB after after 10 tracks. From then on when I used it, Tomahawk stayed in the general area of 70 MB. Using the main PPA, Tomahawk needed 11 extra dependencies for a total of 22.1 MB of disk space.
At times Tomahawk did show behavior which was unintuitive, unexpected or simply unappreciated. To start, the My Collection overview doesn’t immediately show album art. It shows you pictures of the artists themselves. These images are from photo shoots, live performances and other band art downloaded from various online sources. I actually liked that for the variety. What did not please me was that if you restart Tomahawk, it re-downloads all these images because they (and the album art) are not stored in a local cache. That’s simply careless bandwidth use and my lovely embedded cover art was not shown unless Tomahawk was online.
The first time I used Tomahawk, every artist I played was added to the Search History in the left sidebar. After a short amount of time, this became a scrolling mess. Every succeeding time I started Tomahawk, it didn’t even show the search bar unless I did actually search for something. Not a big deal but, bug or feature?
The main search bar is for online content only. If you want to search through your local music, you must use the filter bar in My Collection. Though you can search for anything, only artists are returned as results, not songs or albums so you must drill down through the menu from Artist to Album to Song. Tracks don’t play from one album to the other unless queued and you can’t clear a queue unless you play the song (but not its entire length). Anything selected in the right sidebar meant the font color was the same as the background, white on white, so it was unreadable. You can see this in the screenshot. It’s a regression, because it didn't happen with Tomahawk in 12.04.
By now it probably goes without saying that Tomahawk is not a good choice for people with pay-by-bandwidth internet plans or if you want a minimal amount of internet chatter from your system. The only way to keep Tomahawk offline is to either block it's outgoing traffic or disable the internet connection.
Quod Libet 2.4
According to the FAQ, this player’s name means "whatever you want" or "whatever you please" in Latin. Quod Libet boasts scalability for massive libraries, complex expression searches and bulk tag editing using Ex Falso (same development team). There's USB player support and a huge list of plugins for audioscrobbling, lyrics, custom notifications, online cover art fetching, muting radio ads and many other things.
Right away I noticed that Quod Libet has my favorite feature of bringing the window into focus and start typing to search (that makes 3 of 3). Writing this article has warmed my enthusiasm for streaming services so another big attraction for this player is the enormous selection of radio channels for a myriad of genres and languages. That's great if you’re always on the lookout for new music so this impressive player will definitely be in my final considerations.
Quod Libet had one instance of misbehavior. I closed the program through the sound menu in the taskbar and though the player’s window disappeared, it kept playing and I had to kill the process.
RAM started to about 35 MB used and reached into the high 40′s on playback but after some time going through the radio stations, it was in the high 70′s. CPU was between 3 and 5 percent when playing while changing tracks was between 6.3 and 7.3 percent. Quod Libet made no unsolicited internet connections.
From Synaptic, “XMMS2 is a redesign of the XMMS music player. It features a client-server model, allowing multiple (even simultaneous!) user interfaces, both textual and graphical”. The xmms2 metapackage in Ubuntu’s repositories gives you the console based player and support for MP3 and Ogg Vorbis playback. Decoding for any other formats are through the multitude of plugins in the repos.
If you don’t want to use XMMS2 by command line, check out LXMusic as a GUI. It redefines minimal; creating playlists, searching your library and repeat playback are all you get, but almost everything worked (the Tools menu did not) which was only slightly more than could be said of the other XMMS2 frontends I tried.
I also looked at Abraca, Esperanza and Promoe. Abraca was basically dead on arrival (sorting library, search bar, creating playlists didn’t work), Esperanza couldn’t read ID tags with Cyrillic letters but was otherwise alright. Promoe was a Winamp styled interface and also couldn’t display non-ASCII tags. There are others GUIs available but XMMS2 is a console player. The GUIs I tried are second thoughts to make the XMMS backend palatable for GUI people.
Both the front and backend services were completely stable while I had 5 heads to the server open simultaneously (2 for Esperanza, apparently), messing with settings and changing tracks. I expected some stuttering or errors, maybe even a crash but all was buttery smooth. Then again, I’m not on Quantal anymore.
Unsurprisingly, XMMS2 was very light on resources. 10 packages, 2 MB of disk space and from 4.8 MB of RAM to 12.7 MB. CPU started and stayed at a mere 2.3 - 3.3 percent nearly always, but there were occasions when I caught it spending some time up around 10% with no input from me. The four graphical frontents I tried used within 7 - 15 MB of RAM and from 2 - 4 percent CPU. None of the XMMS2 clients, nor the server process itself made any unsolicited internet connections.
Update, November 2013. I didn’t include Xnoise in the original writeup because I was unaware of its humble existence. But now that I am the wiser, the only thing left to say is that Xnoise is truly superb so it must be added. It’s so tight and well tuned; it’s responsive, stable and a pleasure to use. For anyone who wants an audio and video player without other bloat, you can’t afford not to try Xnoise. There’s a PPA for Ubuntu, source code of course available and Xnoise is currently in the process of being admitted to Debian’s repositories.
I wouldn’t call Xnoise minimal, but like with the other minimal players here, Xnoise only plays local files and streams from URLs. There are plugins for Magnatune, lyrics, cover art fetching and Last.fm. You can set custom keyboard bindings, edit id3 tags and it also has a sexy album view which integrated well with the main playlist view.
The first thing Xnoise does on startup is ask if you want to import your music. You can import multiple locations so you don’t need all your media in one folder. Not many other players can handle more than one import directory so another tip of the hat to Xnoise.
A lot of effort went into making Xnoise as lightweight as possible and it shows. It takes a mere 6 packages and 5.6 MB of disk space. It started up to 35MB of RAM which increased to the mid 60′s after more than an hour of playback. CPU use was great, staying between 4.3 and 5.7 percent while playing but if Xnoise is closed to the notification area, playback processor use decreases to around 3.7 - 4.7. Xnoise doesn’t have the 0.3, 0.7 CPU ticks when stopped and though changing tracks used around 10.3% CPU, I did spot it bump up to 17.7 once. Forgivable.
Xnoise is set to download song lyrics by default but it only does so if you click on the lyrics tab. With the lyric downloading option disabled, the tab is gone and Xnoise makes no internet connections.
Alright cats and kittens, that’s all I’ve got. I’m now officially tired of all my music but I’ve spared nothing in the name of discovery. My conclusion? I’ll keep Audacious, Banshee and Rhythmbox installed and see which I prefer over the next few weeks. Maybe I’ll hang on to Quod Libet too...and Clementine...or BeatBox. I dunno. First world problems + too much choice = meh, I’ll go make a sammich.