The original Beep Media Player was, like Audacious, a fork of XMMS. The difference was that BMP used the GTK toolkit, even though it still basically looked like a WinAmp clone. BMPx is the development version of BMP, which stopped in October 2005. BMPx has diverged considerably from the original, and has as of the 0.40.x line started to look a lot more like a polished GNOME app than a project that owes its heritage to XMMS.

The splash screen is a gaudy piece of work, not even bothering to display the version number, but I tested 0.36.1. I immediately had problems with the program not respecting the dimensions of my desktop. The bottom of the player window went below my taskbar, and there was nothing I could do to change that. I also discovered that the Library function was lost to me, since BMPx refused to recognize that there were any hard disks in my computer (I used debs from the developer’s Ubuntu repo).

The program is visually gorgeous, though, from the deep blue splash screen to the polished player window. It has limited options for configuration, but it has album art downloading, after a fashion, and some degree of customization. It uses gstreamer (and only gstreamer) as an audio backend. The third screenshot for this series was not made by me, but rather taken from the BMPx website: it’s from the experimental 0.40.x line, and showcases the Media Library view, which is more like Listen! (see below) than anything else. Which isn’t a bad thing: BMPx tends to be fast, since it’s not written in a scripting language, but rather is written in C++ (I think).


Exaile’s stated purpose is to be an Amarok clone, but built with GTK+ instead of the Qt toolkit. That’s a pretty tall order for a program early in its development, but Exaile is making headway. I reviewed version 0.2.7, though 0.2.8 came out in the interim.

After selecting the library source, Exaile immediately began building my database. Like most other players, Exaile uses an SQLite database, which is fine for small music collections, but Exaile becomes slow and buggy above collections of ≈15’000 files—the developers know about this and are working on it. Seeing as how one of Amarok’s appealing features is its ability to use either SQLite, MySQL, or PostgreSQL, I would think additional database support is high on the list of priorities, but I don’t know.

Exaile’s sidebar is layed out exactly like Amarok’s, with a vertically-tabbed interface that offers multiple views of one’s collection. There is the library view, which offers a tree-based listing of albums; there is a playlist tab, which stores custom and built-in dynamic playlists; there is a tab for internet radio; finally, there is a tab for a filesystem browser.

Also like Amarok, it has an excellent album art manager with a dedicated tool for downloading in one fell swoop—it seems a bit faster, even, that Amarok in this regard.

The main player window offers a second horizontally-tabbed interface, which by default shows the tracks currently queued for play. Unlike Amarok, however, there is no contextual view that provides a tracklisting, other albums by the current artist, or whatever data is scripted to display. The only contextual information is the album art, artist, album, and track title above the playlist; the play control resides underneath.

Exaile has very few default plugins, and no user-supplied plugins that I am aware of. Offhand, I’m not even sure what the API is: I’m guessing that it’s Python-based, because Exaile is written largely in Python, requiring PyGTK as well as Python wrappers for SQLite. Python is a perfectly good language, of course, but pales in comparison to Amarok’s native C++ code (with a splash of Ruby in the later versions). It uses Mutagen for metadata editing; Mutagen is a very popular module which is used in several different projects, like Quod Libet and Listen, as well. While Amarok allows for the xine engine, Exaile only supports gstreamer, like just about all of its GTK+ peers.

Exaile offers a clear Preferences screen for its few options, which include optional iPod support, (Audioscrobbler) support, OSD, and some library options.

I really like Exaile, insofar as I like Amarok’s design principles and functionality, but prefer the look of GTK’s widgets. If you don’t have strenuous requirements for your music collection, Exaile might just be a really good option.

Pages: 1 2 3 4 5

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

15 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?


  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 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, 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