Listen is a lesser-known media player that (if I understand correctly) grew out of Quod Libet, which is another lesser-known media player (see below). It has been in the beta stages of v0.5 for some time now, and seems to be the province of a sole developer, which may explain the stagnation.

Listen is a visually gorgeous client, chock full of GTK+ goodness and well-placed icons. I think it’s playlist approach, while perhaps not the most clear, looks really fantastic. As one can see from the screen of the main player window, there’s a lot going on (this view is customizable, mind you). Part of the problem, though, is that it’s not always very intuitive—perhaps I’m merely an imbecile, but when I changed views to see Wikipedia information for the currently playing artist, it took me 10 minutes to get the player back to the default view.

Listen has typical customization options: it allows a system tray icon, it allows an OSD via libnotify, it allows for Audioscrobbler/ support, and it has working filesystem monitoring (though I suspect this may increase its start time).

Listen is, to no one’s surprise, written in Python, and utilizes SQLite to store library information. As before, this is perfectly fine for small libraries, but the player became unresponsive and sluggish when trying to handle my large music library.

Listen uses Mutagen for its tag editor, giving it functionality similar to that of its peers—no player really shines in this regard. It uses gstreamer as its engine, giving it as wide a playback support as your installation allows.

Part of the problem with Listen is that it has so many features, and limited real estate. The default player view is horribly cluttered, leading to confusion at a glance, and truncated artist, album, and track names. Its album art handling is fine, though the process is largely automated and not very configurable (points to Exaile for bucking the trend).

Depending on your needs, however, you may be drawn to Listen’s podcast support or internet radio support; you may crave its Wikipedia lookup; you may want six billion panes open in the main window. If those are your preferences, and you don’t mind the peformance slowdown for large collections, Listen probably constitutes the most fully-featured player for GNOME.


I was a little leery of including Mesk in this review: it’s not technically a media manager, as it has no support for creating libraries. However, I thought that it might fill a niche market for users who don’t want a dedicated jukebox just to open up a playlist.

Mesk is a small program written in PyGTK, with a gstreamer backend. It’s a single-paned player with playlists as tabs across the top. As you can see from the About screen, it’s still a very immature player, but it is advanced enough to offer the usual Audioscrobbler integration and automatic album-art display.

Otherwise, it offers very few options, and does very little else but play a playlist, with rudimentary track controls like Repeat and Random. It seems primitive compared to some of the other players in this review, but for those who are used to small players like WinAmp or foobar2000, for which media libraries are something of a secondary function, this might be the perfect little program… especially when it’s polished a little bit.

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