Monday, May 22, 2017
Choosing a Linux Music Player
Choosing a Linux Music Player
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

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

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

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

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

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

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

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

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

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

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 Juk
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment