Updated November 25, 2013- Everyone loves a good media player. In Userland, managing your music
library is more important than kernels, ASLR, access control or any of
that lame 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 & such things,
but I also looked at their RAM and CPU usage to sort out the “bloated”,
the “hogs”, the “small”, the “lightweight” and other such vaguely
defined words. Here I write to you having emerged from Userland with
much perspective and I invite you to partake in the snuggliness.
Notes
- All players were used with a regular ‘ol Intel Sandy Bridge mobile
chipset, meaning no standalone sound card. The CPU is a one year old i5
with 2 cores & 2 threads at 1.6 Ghz and turbo up to 2.4 Ghz. The
operating system was 64-bit Ubuntu 13.04.
- Library size will affect the player’s performance in some areas. My
music library has about 1500 MP3 songs which is small by many people’s
standards.
- 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 was sourced from Top and memory readings came from Gnome
System Monitor. The min and max CPU usage 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 usage 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 & 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
programs are in Ubuntu’s repositories.
- It should go without saying that your results may vary depending on
your hardware setup, software versions and possibly your favorite kind
of pie.
- Update: This article made its way onto Reddit where it was received overwhelmingly in the positive. A huge thanks from tSc to the Reddit community.
Amarok
Audacious
Banshee
Beatbox
Clementine
DeaDBeeF
Exaile
Gmuiscbrowser
Guayadeque
Juk
MPD
Nightingale
Rhythmbox
Tomahawk
Quod Libet
XMMS2
Xnoise
Amarok 2.7.0
Kicking things off we have
Amarok,
the heaviest player of 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.
Universally 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 with the most
variation ranging from 10.3 to 17 percent of a single CPU core. While
changing tracks, Amarok used between 21.3 & 43.6 percent CPU and
when idling (stopped & minimized), it skipped from 0 to 0.3 to 0.7
percent every few seconds.
* * * * *
So what do you get for all that resource consumption? In return, you
have a stable, robust, attractive music player with many bells &
whistles. Amarok’s main areas of expansion are its plugins, scripts and
applets. Plugins handle support for iPod, MTP, USB & 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 CPU and memory 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 Last.fm,
Mangnatune and Internet Archive but when you play a track, there’s a
hemmorhage of web traffic.
Youtube, Myspace, Harvard, Rolling Stone, RIAA (…wtf??), Associated
Press, WordPress, Wikipedia, MTV, USA Television and Huffington Post are
contacted simply by playing a song. And those are just the ones you’d
likely recognize; there were many more hostnames which you’d be forgiven
for not knowing.
However, 1005 of the 2183 packets generated from launch and two songs
played were 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 surprise, Amarok does’t use the internet.
Audacious 3.3.4
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 tasteful 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 CD ripping, not even song ratings.
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 and many tracks
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 CPU every
few seconds and this is common for most players listed here. CPU use
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.
Banshee 2.6.1
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 all its own. 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 on 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, 45 packages total and Ubuntu’s repositories
have many more plugin packages 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 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 found several annoyances with Banshee, mostly minor. When I set the
program’s volume and search bar width, they reset themselves tbe next
time I launchd 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 mostly good. When paused, it bounced from 0 to
.3 to .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% but mostly stayed around 7%. Banshee idled at
about 39 MB of RAM and reached to just under 60 MB during 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.”
Beatbox 0.7.0
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 & 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, just click
anywhere in the main window and start typing an artist, album or song
name. Beatbox will return accurate results. I absolutely love scouring
though my music like this.
Beatbox was well behaved with resources. It started into 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 or so, 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 necessarily 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 but
annoying inconsistency is 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 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 a bit careless. The connection can be stopped with a
UFW application rule to block Beatbox from the IP address, or IP range
in case the API has several backup addresses. Other than the
audoscrobbler thing, I really fawned over this player. Too bad it’s no
longer being developed but
Noise is a worthy successor.
Clementine 1.1.1
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 & 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 & 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 sound 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 independently against the main playback volume. You get rain, a
kind of low rumbling or wind noise 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 8 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 very well behaved with RAM use. Memory on startup
stayed around 30 MB and eventually ran up to the mid 80′s after playing
for several hours. Though it scores at the higher end of this list,
processor use is good too. 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 the freq analyzer and the playlist’s glow animation brought CPU
down to 8.7-10 percent. 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 sends a GET request to a 1e100 server wanting my
geolocation (by IP address) info and Google responds 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 your area for artists you’re 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 itself. The easiest way would be to block the IP address(es)
with UFW as mentioned with Beatbox.
DeaDBeeF 0.5.6
I was excited to finally try
DeadBeef
after seeing it mentioned often in comments on various sites. They
formed the idea in my head of the player having an underdog, Fight Club
kind of image. While not in Ubuntu’s repositories, Deadbeef still 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. Dammit 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; no crossfading,
podcasts or MPRIS interfacing. 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 included in the with
the player.
Using Deadbeef took me a few minutes to figure out that it 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 list (Control f) and can set up a queue and other
playlists.
The plugins packaged in the DEB installer didn’t seem to work or I
didn’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 dependency packages.
For memory use, Deadbeef started up using just over 10 MB and after
an hour of listening, it got up to 14.2 MB. CPU use was good but not
great for such a basic player. Idle (minimized & not playing) was
constantly varying between 0 and 0.3 percent and but 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.
Exaile 3.3.1
Yet another player I never tried before.
Exaile
feels similar to Audacious but comes with a lot more extras. You get
plugins for DAAP, Jamendo, Librivox, Last.fm scrobbling, CD ripping
(incl. VBR MP3s), lyrics, iPod & 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 went up to 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 showed 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 now Exaile is also using 217 MB of memory. Two
tracks later that increased to 544 megabytes…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, memory used 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.
Likely unreleated (before any of this cover art drama), I was going
through the plugin settings trying out different things. The player
decided to crash and not relaunch without immediately crashing again.
Syslog said it was a segfault due to an error by libjavascriptcoregtk. I
deleted ~./config/exaile/ and all was again well.
Needless to say, Exaile was useless for me but would otherwise be a
good if it were 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 1.1.9
Gmusicbrowser
is a different animal than what’s been covered so far. It’s a jukebox
player which specializes in big music collections and huge 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 it’s not an exact match and the skins naturally lack areas of
functionality found in those other players, it’s welcome if you don’t
like Gmusicbrowser’s standard grid layout (which I didn’t). Many of the
skins I found cluttered and generally unappealing but eventually settled
into Shimmer Netbook. Even that tested my patience because the less
than intuitive 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. Even then, it won’t play songs
linearly, which is kinda cool. For extras, the player gives you ID3 tag
editing, Icecast & Last.fm support (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, this player did 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.
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 reset all the GUI changes I made.
MPRIS didn’t relay cover art to the taskbar controller like it should
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.
I did grow into the player and I do really like it’s jukebox-ness
& 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.
Guayadeque 0.3.5
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. Then
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 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 playlist. Guayadeque also has bulk editing ID3 tags which
is incredibly useful if you’ve ever assigned tags to hundreds of albums.
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
wasn’t ecstatic 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 thought it pointless to write all these
image files I must now clean out. +100 for directory backups.
Juk 3.9.1
Juk
is another KDE player so like Amarok, if you’re not already using KDE
or programs with KDE depenencies, you’ll find yourself pulling in 104
packages totalling 178 MB installed. Juke is like a KDE built 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 did not look like web
links longing for a CSS file. 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 when idle was 0 with no variation or tiny rises like
with other players. The player launched to barely over 20 MB of RAM and
increased to the low 50′s after playing for an hour.
ys show song info (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. Sloppy.
MPD 0.16.5
MPD, or
Music Player Daemon,
is a server daemon 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-user-name). 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, guitar tabs
& that kinda stuff and doesn’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 in-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.
Ok, so 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. Disabling cover art
fetching and metadata handlers stopped the connections.
Nightingale 1.12
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 nightmarish and when it did, it
lacked that Soviet missile train level of solidity I like to see. 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 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—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
Blackbird GTK theme, most menus are straight out of Firefox because the
program basically is half Firefox. I’m not complaining about it’s
appearance, 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 &
Thunderbird from back in the Ubuntu Maverick era. Menus sometimes were
blank until I moused over them from top to bottom, then the contents
became visible. Embedded cover art didn’t show, I couldn’t get the
player to fetch cover art and I don’t know what was supposed to happen
in the Visualize Your Sound window, 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 kick
that number up 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 checked yes to see what would
happen. Every following time Nightingale launched, it makes connections
to Google Analytics with some header info related to Nightingale (user
agent string, encoding & charsets, keepalive time, etc.). It also
connected to Nightingale’s servers to retreive locale and language pack
info. I’m assuming that not checking the metrics submission option on
installtion would stop at least the Google calls.
On track changes, Audioscrobbler, lyrics sites and Google Translate
are contacted. Nightingale is set to translate lyric text by default but
these connections can be stopped by disabling the relevant services.
The inital connections when the program is launched, however, cannot be
disabled as easily. You could either use UFW like with Beatbox &
Clementine, set Nightingale’s proxy (in Network Settings) to 127.0.0.1
on port 80 or remove ~/.Nightingale and rebuild its profile without
metrics reporting.
Rhythmbox 2.98
Most will recognize
Rhythmbox
as the default music player for Ubuntu and it’s certainly a great
choice. There are several Rhythmbox plugin packages in Ubuntu’s
repositories but the main rhythmbox-plugins gives you Last.fm &
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 above shows) and even more extras. For
reference to 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. If I manually clicked to the next song (either in the taskbar or
the player itself), then the crossfade happened. Rhythmbox was the 2nd
of 3 players here which gave me my beloved artist seeking without using
the search bar. Clicking in the artist pane 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 use was great and varied from 4.0 to 5.7 percent while
playing, 9.3 to 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 asked to.
Tomahawk 0.7.0
Tomahawk’s
primary focus is extensibility for online content. It combines a
gazillion different streaming sources and social features with your
local music collection for accessing music on your accounts and those of
your friends.
Resolvers is the term the developers coined for plugins that connect
many different online accounts with Tomahawk, 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 & 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’m not sure how it works beyond that & did not
look into it.
Now, 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 is like trying to view 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 settings
available which aren’t for online use are for telling 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 & feel
though the interface can become claustrophobic on a 13″ 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 definitely did a lot of note taking.
Despite the eye candy and pretty effects, Tomahawk was remarkably
courteous with CPU use. Top showed CPU between 14-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.
And on that note, Tomahawk has several behaviors which are
unintuitive, unexpected or simply unappreciated. Here’s one: The My
Collection overview doesn’t immediately show album art. It shows you
pictures of the artists themselves. These images are 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 beloved embedded cover art did not show
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 learning 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 bug but I
know it doesn’t happen in Tomahawk on 12.04.
It probably goes without saying by now that Tomahawk is not a good
choice for people with pay-by-bandwidth internet plans. The only way to
keep Tomahawk offline is to either block it in ufw 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 (10,000+ songs), complex
expression searches,
bulk tag editing using Ex Falso (same development team), USB player
support and 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 to click
anywhere in the window and start typing to search (3 of 3). Writing
this article has broadened 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. Great if you’re
always on the lookout for new music so this impressive little 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.
XMMS2 0.8
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 literally all you get, but almost everything worked (except for the
Tools menu) which was only slightly more than could be said of the other
frontends I tried.
I also took a look 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 sytled 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 somewhat more palatable.
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 to 4 percent CPU. None of the XMMS2 clients, nor the
server process itself made any unsolicited internet connections.
Xnoise 0.2.19
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
& 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 stream from URLs. There
are plugins for Magnatune, lyrics & cover art fetching and Last.fm,
you can set custom keyboard bindings and edit id3 tags. It also has a
very sexy album view which was 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. From there you
wait a few minutes and begin. Using Xnoise was easy & intuitive but
uneventful in a good way.
A lot of effort went into making Xnoise as lightweight as possible
and it definitely 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 wonderful, 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 & 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 when it’s released. I dunno.
First world problems + too much choice = meh, I’ll go make a sammich.
Source:
http://thesimplecomputer.info/choosing-a-linux-music-player