January 8, 2007

Review: Exaile Media Player

Author: Manolis Tzanidakis

One of my favorite open source applications is Amarok, a music player with an intuitive interface that makes boring tasks such as organizing large music collections less troublesome. The only problem with Amarok is that it's a KDE application and I'm a GNOME user. Although there's nothing wrong with running KDE programs on GNOME, they take a long time to start, since they need to load the KDE libraries and components they depend on first. I've found a good alternative in Exaile, my new favorite media player for Linux.

Exaile is similar to Amarok, but it's based on GTK+ (the GIMP Toolkit), the same GUI toolkit GNOME uses, and thus it loads almost instantly on GNOME and integrates nicely with it. The first impression the program makes is that it's a clone of Amarok, at least from an interface point of view; if you're an Amarok user, you'll feel right at home.

I tried both the stable version, 0.26, and the beta 0.27, and didn't have any stability problems with either. I recommend you install the beta version and report any bugs you find to help the project become even better.

Everything you expect to find in a media player these days is present in Exaile, as well as some unique and intriguing features. For instance, Exaile offers tabbed playlists -- which means you can have multiple playlists open at one time -- and downloading of guitar tablature for the currently playing song from Fretplay. My favorite feature is the built-in Shoutcast directory browser (Figure 1), which allows you to listen to Internet radio broadcasts. This functionality is already offered by programs such as streamtuner, but it's handy to have it integrated in a media player.

Information about your music collection is stored in a SQLite database. The program can handle large libraries -- it had no problem loading my collection of about 2,300 Ogg Vorbis, MP3, and Flac files. Amarok supports MySQL and PostgreSQL along with SQLite, but I prefer to avoid the overhead of running a full-blown database server on my desktop system just for the music library. SQLite is fast and lightweight and doesn't need to have a daemon running all the time.

Click to enlarge

When you run the program for the first time it asks you to select the directories holding your music files; you can easily change that later in the Library Manager (available in the Tools menu). If you want some directories to be excluded from your music library, you can drag and drop them to the Blacklist Manager (also available in the Tools menu). The program can optionally watch for new directories by utilizing the Gamin file alternation monitor program, which is installed by default in Ubuntu. This option is available in the Preferences.

Exaile uses the GStreamer engine for audio playback. You can play the audio formats of your choice by installing the appropriate GStreamer plugins without having to manually recompile the whole program. For example, since most Linux distributions don't support proprietary formats such as MP3 by default, you can add this functionality to Exaile (and other GStreamer-based programs) by installing the Ugly Plug-ins package. Audio CD playback is supported as well, as are iPods and last.fm; you can also submit tracks played on your iPod to last.fm. Exaile grabs album covers from Amazon.com automatically and can also fetch information about the current track from Wikipedia, as well as lyrics, as shown in Figure 2.

Click to enlarge

The project offers pre-built packages for Ubuntu Dapper and Edgy Eft. Debian users running the Unstable branch (also known as Sid) can install it by running sudo apt-get install exaile. To enable MP3 support in both Debian and Ubuntu run sudo apt-get install gstreamer0.10-plugins-ugly. I installed Exaile on a laptop running Arch Linux by grabbing the PKGBUILD from Arch's User-community Repository and building a package myself. Exaile is also available in the FreeBSD ports as audio/exaile. Binary package installation is preferable, especially on distributions such as Slackware that don't include GStreamer, due to the long list of Exaile's dependencies, so make sure to read the documentation before you try this.

Exaile version 0.27 beta implements a plugin system that's designed to enhance the program by letter third-party developers add functionality to the package. It comes with these plugins:

  • Alarm clock: wakes you up with your favorite music
  • Desktop cover: shows the album covers on the desktop
  • Serpentine plugin: adds support for using Serpentine to write audio CDs with the songs in the current playlist
  • Mini Mode: scales Exaile to a "super groovy mini window" (per the author's description)
  • Streamripper: allows you to record radio broadcast; requires Streamripper
  • Libnotify: informs you when a new song starts using the libnotify desktop notification library

I was impressed enough by Exaile that I made it the default audio player on all my desktop and laptop systems. Amarok is great and I still recommend it if you use KDE, but GNOME users should give Exaile a shot.

Click Here!