Officially, Rhythmbox isn’t a part of the GNOME desktop proper. It is, however, about as close to the official media player as one can get (Totem, I think is the default for all MIME types handled by gstreamer). Rhythmbox, like every other jukebox besides Amarok, uses an SQLite database, but what separates Rhythmbox from its competition is that fact that Rhythmbox is written, I believe, in native C, meaning that it has a performance advantage over the rest. It, too, uses gstreamer for its audio playback.

Rhythmbox is a bit of a paradox: many of the whizbang features that we’ve come to expect from modern players, like album art or lyrics, were only included as recently as two point releases (version X.Y.Z, where Z is the increment) ago. Support for Audioscrobbler was only added this past version (0.9.6). These are all selectable in the plugins dialog. Yet Rhythmox, due to its close association with GNOME, has been better integrated into other services, like SoundJuicer, Nautilus, Gajim/Gaim, etc.

Rhythmbox allows for some basic control over things like column setup, but in most instances it has the same design æsthetic as other GNOME programs: few options, fewer buttons, and generally middle-of-the-road functionality. It’s certainly a usable program, and its integration with the GNOME desktop not only in appearance but in function, as well, is a definite plus. If the paned design for the player window doesn’t bother you, and if you don’t require significantly fine-grained control over the functions of your player, Rhythmbox is a great option. The mere fact that it’s the only program here not written in an interpreted language is one of its major selling points—it has a speed to it that isn’t likely to be found in any of the others, even if it lacks some of their gloss.


There’s no perfect solution in the GNOME desktop. The fact is, there’s a wide variety of different programs which are largely variations on the same theme: a (usually) Python or C#-based player with a gstreamer engine and an SQLite library, all of which have some trouble scaling up for large libraries. All of them are excellent efforts, but none of them break new ground.

In the end, it comes down to which features are most important to the user. For me, speed is a factor, which is one of the reason I still use Amarok, even in the GNOME environment: the native code and the fast database are enough to sustain my loyalty.

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?


  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