It might be of interest to read this article’s follow-up, GNOME Audio Player Shootout Revisited

The search for the perfect audio player on the Linux desktop seems to be on par with finding the Holy Grail. The problem is that everyone has features they have to have, especially if they’re migrating over from Windows. Gone are the days when XMMS, a simple WinAmp clone, sufficed for just about everyone in Linux. In the past two years, we’ve seen more whizbang audio players and media managers than I could easily count, and all of them racing desperately to (a) tie into media devices like iPods and (b) tie into social network constructs like podcasts, listen.fm, and whathaveyou.

Historically, my player of choice has been Amarok, which arguably leads the way in all these features, as well as having a stunning interface. For some people, however, it’s too bulky. Others dislike the fact that it’s a KDE application, meaning those who use an different desktop like GNOME—I include myself in this group—have a great application that doesn’t really match or integrate.

Slowly but surely, though, the GNOME/Gtk+ players are catching up. I’ve experimented in the past, only to find them inconsistent. There was no single player that provided everything; rather, each had a few strong points and a few weak points. Many are based on Python, which make them slower than a native application like Amarok. Others had clunky interfaces—I have yet to find one that provides a tree-based library viewer like Amarok. I also have yet to find one that can hook into a database like MySQL or PostgreSQL instead of using a slower SQLite (which is arguably fine for small media libraries, but not so quick once it gets up to 250GB….)

What follows is a brief look at the major players in the GNOME player market, though limited in scope to audio players, and not general media players which can play audio.

Audacious

Audacious is one of several forks of the code for XMMS, an environment-agnostic media player which sought very much to emulate the look and functionality of WinAmp. For years, it was the de facto audio player for Linux: there wasn’t the panoply of audio players that we have today. Insofar as the goal of Audacious was to keep XMMS when development stopped in favor of XMMS2, it has achieved this: Audacious seems to me almost indistinguishable from XMMS (as you can clearly see from the screenshots). One drawback is the limited visual space, requiring the antiquated ticker technique to display meta information.

Audacious supposedly supports Winamp “Classic” skins (i.e. bitmap skins from v2.x), though of course this makes it virtually impossible to scale the window gracefully—the program doesn’t take advantage of a nice, modern graphics toolkit for its UI.

The options screen is intuitive, and offers a limited number of options for customization. There are also a number of default plugins, many of which are merely for decoding support and others for visualization—in fairness, though, the supported filetypes is more impressive than that offered by any gstreamer or xine-based player.

For diehard XMMS fans, Audacious is a good option for fresh code without any substantial change to core or interface. For those who like better desktop integration or more features, it has little to offer.

Banshee

Banshee is a relative newcomer to the scene, but it has quickly gained traction as a popular player—ever since Novell/Suse began pushing Mono with their distributions, this little C#-based audio player has been developing rapidly. I tested v0.11.31, and while I was able to appreciate Banshee for its relative merits, it’s clear to me that it’s still a project in its infancy: it’s incredibly slick-looking, but it’s support for music libraries is iffy, and I find the player window to be lacking in customization.

Upon first run, the user is given the option is importing a folder into a music library, which is fine, but I couldn’t find an easy way of synchronizing after changes (Amarok has a “Scan for Changes” button, for instance). Also, its support for library monitoring was broken and removed several versions.

The breadth of plugins for Banshee right now is pretty sparse: there’s an official plugin tree that was recently merged into the core, but no comprehensive plugin or scripting repository like some other players have. Banshee’s configuration is sparse, as well, offering very little in the way of customization options: one neat feature, however, is Banshee’s CD importing ability (that is, if you don’t use some other tool like SoundJuicer or Grip).

Selecting the properties dialog for a given track will present a two-tabbed window: one tab offers some metadata-editing capability, though only within a given set of predefined fields. The second tab is a details pane with information about the file itself, as well as some usage-tracking from the SQLite database that Banshee uses.

One of my major gripes with Banshee is the way it doesn’t allow easy library browsing: the user library is presented in the sidebar as a single playlist, and clicking it loads the entire library into the main window. The break down the library, you have to make custom playlists and save them.

In terms of speed, Banshee rates a solid “moderate”: though it is technically an interpreted language, C# via Mono seems somewhat faster than Python, and certainly moreso than Java2; however, whether its the language, the code, or the SQLite backend, large libraries seem to contribute to a massive slowdown of Banshee (this will be a theme…), especially since the “Music Library” playlist which is created loads the entire library at once. This, I think, is a poor design decision.

Banshee does have one good thing going for it, which is that it supports not only gstreamer, but also the Helix engine for playback (xine is sadly lacking). To me, Banshee shines more as a audio player than a jukebox: it’s media management and library functions just aren’t developed enough to be a serious contender.

  1. At the time of my reviewing, v0.11.3 was the very latest version, but since that time, v0.11.4 has been released, which actually sports a number of excellent new features, including an internet radio plugin, album art downloading, and some UI improvements[]
  2. I’m not enough of a masochist to try any Java-based players; besides, I was unaware of any Java+Gtk players, anyway[]

Pages: 1 2 3 4 5

§1598 · January 18, 2007 · Tags: , , , , , , ·

14 Comments to “GNOME audio player shootout”

  1. Jeff says:

    I can’t seem to make anything based on gstreamer play music in 5.1. Oh well. I really like Amarok and Quod Libet looks pretty cool.

  2. Ben says:

    Multichannel audio in Linux is a pain, period. And gstreamer generally sucks, which is why Amarok doesn’t support it.

  3. Go2Null says:

    Great write-up. Thanks for the reviews. Hope you keep it “live” with updates :-)

  4. Tobias says:

    Just a few corrections about Quod Libet:

    1. It doesn’t use Sqlite but standard Python dicts, which is why its database is a bit sluggish.
    2. You overlooked that the browsers can come standalone and integrated. The main mode is switching the main window between them in the view menu, an additional use is opening one of them standalone to assemble a queue or a playlist.

    and two hints:

    1. An example regex would be: &(#(added

  5. Anonymous says:

    Hoopla, and the rest:

    < 1 week), title = /rhapsod/)
    to listen to all Rhapsodies you got in the last week.
    2. QL is the only player that lets you use your own tags.
    Say, “performer”, say “work”, etc

  6. bdotmall says:

    First of all.. what an excellent write-up. I can’t say how appreciative I am of people who take the time to put together such clean, well-written write-ups on topics that many readers – newbies and experienced users alike – can really benefit from.

    I’ve been a Windows user since 3.0 all the way up to now Vista and I’m just starting to get into Linux, so I’m always “Googling” something and write-ups like these have been invaluable.

    Again.. thanks.

    An open question to the author or anyone else who can answer: my mp3 collection is now pushing over 100GB… which “music manager / media player” is best suited for large collections? I’m not concerned with video, an 99% of my music is in MP3 format. I really love the “sizzle” of “Exaille!” with all the media-rich features such as album art, but having to wait for everything to load can be quite tiresome. Any suggestions?

    Thanks.

  7. Ben says:

    As I mentioned in the writeup, the fastest clients are likely going to be those written in native code (Rhythmbox in C and Amarok in C++) rather than those written in a scripting language. Mono apps fall somewhere in the middle.

    For large collections, though, I assume you mean large metadata databases. Once again, Amarok is the only app that currently supports external databases. Having a MySQL server feeding library data is extra overhead, system-wise, but will also deliver the fastest performance for queries. That being said, since this deals mainly with GNOME players, Quod Libet seems to have a pretty fast and flexible library. Exaile currently has a bug which makes it flaky above a certain library size, but that’s likely a high-priority fix for the next version. For all I know, it’s been fixed already.

  8. random and fake legal partners says:

    Well written article. I cam here from a google for rhythmbox sqlite, in hope of learning how to get out of the SQlite swamp. My current rhythmbox database is 130MB, and contains data on 50k songs. Take that bdotmall ;) Next stop mpd frontend.

  9. Michael M. says:

    Thanks much for this excellent overview. I’ve been using Quod Libet for a while now and am very happy with it, but I like to check up every so often on what other GTK players are out there and what they’re doing.

    FYI, one of my favorite things about Quod Libet is the plug-in that enables one to tag albums from the Musicbrainz.org database. This is a tremendous timesaver for me — no more typing out song titles and so on! I’m not sure which, if any, other players offer this kind of integration. There are stand-alone Musicbrainz taggers for Linux, but I just find it very convenient to tag directly from the audio player.

  10. Ben says:

    I know that Amarok offers MusicBrainz integration, though I must admit that it was never very responsive at all for me. I found it easier to simply masstag manually.

    Quod Libet’s large plugin collection is a major point in its favor, in my estimation. Rather like Firefox, it’s a perfectly fine program made almost indispensable by its community of users/devlopers.

  11. […] found a very nice write-up comparing these here: GNOME audio player shootout. I recommend it for an Ubuntu user wondering which app to use to play their […]

  12. Joe Ally says:

    Being written in python is not really a down point. Sure you get a 0.1 second lag compared to native code, but who cares about that.

    you shouldn’t knock python its so much easier to write in, C++ is like traditional bloody mandarin compared to python, you can’t blame people for programming in python.

  13. Ben says:

    I have nothing against Python. Quite like it, in fact, and I certainly don’t blame people for using it. But there is a difference in speed between a scripting language and compiled native code. And it’s not as minute as you make it seem. And to some people, myself included, speed is important.

  14. Phrodo_00 says:

    Although I’ve switched to quodlibet just now, Rhythmbox is pretty nice too, and doesn’t lack functionality, even less if we talk about the last releases (visualization, crossfading, gapless playing, last.fm radio playing (haven’t found it in anything else), On-line drm-less indie music shoping and free listening, playing queue,sweet awn integration plugin) end the ones to come (fm radio playing and more goodies, as well as features under the skin that would allow adding for example an eq in the future)

Leave a Reply