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 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
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 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.
- 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[↩]
- I’m not enough of a masochist to try any Java-based players; besides, I was unaware of any Java+Gtk players, anyway[↩]