March 11, 2005

AmaroK is a step up for Linux audio players

Author: Preston St. Pierre

With the release of amaroK 1.2 last month, I finally found the Linux music player I've been wanting. When I moved to Linux full-time about two years ago, the only software that I missed from Windows was a quality audio player. Linux audio players lacked features like cover downloads, smart playlists, or easy burning to CD. Even worse, with a large collection of more than 10,000 tracks, the Linux players generally locked up when I tried to load them all, or at least slowed to an unbearable crawl. AmaroK has all of the basic features of modern Windows audio players, and some features that I haven't seen in any other player.

The name "amaroK" was taken from an album by composer Mike Oldfield. Developer Mark Kretschmann said, "I've been a long-time fan of Mr. Oldfield's work and thought the name sounded nice, so I chose it for the application." Of course, it doesn't hurt that the name already has a "K" in it. The word means "wolf" in Inuit, which explains the various amaroK logos.

The keystone of any audio player is the database it keeps of your collection. AmaroK allows you to create file trees using artist, album, year, or genre in any order. So to find, say, all the albums that were released in a particular year, sort by year first and then by album, and a file tree opens that lists all the years in the first level, and all the albums in the second. There's also a simple search filter to find something particular. I have four different versions of The Left Banke's "Walk Away Renee," and I can quickly find them all by typing that song title in the search box. The ability to structure the file tree in a number of different ways and to search it easily is amaroK's single most important usability feature.

AmaroK's interface is split into two different panes. The right pane always holds the current playlist along with the standard player controls. This is also the easiest place to batch edit ID3v1 tags, which contain information like artist and album and are embedded within the music file. If an album by Ken Stringfellow has been mis-tagged as being by Kevin Stringfellow, simply select all the tracks from the album, right-click, choose to edit the meta-information, and then enter in the correct name. The information for all the tracks is immediately updated.

The left pane of amaroK has five different "browsers." One is the display of your collection database. Another, Media Device, is a tool to transfer music to an iPod. As I don't have an iPod, I couldn't test this feature, but there didn't seem to be any serious complaints on the amaroK forums. A third browser is a utility to search files and play and rip CDs.

While listening to music, the most important browser is Context, which is where amaroK displays information about the current track. There are three tabs within the Context browser. The home tab lists a few favorite, newest, and least played tracks. With a large collection, these lists never seem interesting, but they're there if you like them. The second tab displays information on the current track, including the cover image, and the other albums by the current artist. Though this tab includes a link to the Musicbrainz entry for the current song, I'd be happier if it could link to a Web site with more information, like the All Music Guide.

The final tab in the Context browser fetches lyrics of the current song from Lyrics are only available for the current song, and due to licensing restrictions, they can't be stored locally. It's hard to tell how successful amaroK is at finding lyrics, but in my collection, it seems to find lyrics for about a quarter of my songs. That ratio should improve over time if lazy people like me actually submit some lyrics to that site once in a while. Still, amaroK's developers should give it the capability to search more than one lyric site.

The fifth and final browser holds the playlists. In addition to manually constructing playlists, amaroK includes smart-playlists, like "Favorite Tracks," "Never Played," or "100 Random Tracks." It's also easy to create your own smart-playlists based on a number of criteria, such as year, album, and the last date a track was modified. For example, it took me 30 seconds to create a playlist that included all albums I added to my collection in 2005, but are not albums published in 2005.

Finally, amaroK is integrated with K3b, which makes it dead simple to burn any playlist to CD. Right-clicking gives you the option to burn, as either data or audio, selected tracks from a playlist, an album, or a particular artist. The tracks are exported straight into K3b, ready to burn.

The innovations

One interesting innovation with amaroK is that, using the Desktop Communication Protocol (DCOP) for KDE, you can easily incorporate scripts from most languages, including Python, Ruby, and PHP. These scripts add functionality to amaroK in much the same way that extensions add functionality to Mozilla. At the moment there aren't many scripts available, but among the few existing scripts are ones to turn amaroK into an alarm clock, create and upload HTML pages of what you've played, and use text-to-speech to announce track changes. More scripts are planned.

AmaroK is also the first player, on any platform, to include integrated support for Audioscrobbler. After signing up at the Audioscrobbler site, if you enable the feature, amaroK will upload to Audioscrobbler the tracks that you play. Then, at the Audioscrobbler site, it will search for other users who share your tastes. By looking at what your musical "neighbors" are playing, Audioscrobbler can recommend new music to you. I don't know if this is all that helpful for people with mainstream musical tastes, but for those with esoteric tastes, it can be an excellent way to discover new music.

Two final points worth noting: First, amaroK can be configured to use MySQL for its collection database. This simplifies things for anyone who needs access to the database in different settings. Second, the developers have finished a LiveCD that shows off amaroK. A copy of the LiveCD should convince Windows users that Linux has high-quality audio players.


There is very little to complain about with amaroK. Since I started using the final version of 1.2 about two weeks ago, it has crashed on me only once. That's fewer crashes than any of the Windows players I used. It has everything I've come to expect from a modern audio player, and I can think of only a few minor features it's missing, including support for portable devices besides the iPod and the ability to print playlists.

The amaroK developers should be proud of their work -- but they aren't content. Version 1.2.1, released on February 27, fixes a couple of bugs and adds some minor features. And the developer blogs are already looking forward to the 1.3 release. I'll be looking forward to it, too.

Click Here!