January 18, 2007

Get your groove on with Amarok

Author: Joe 'Zonker' Brockmeier

So, you got the new iPod that you wanted for Christmas, but you're no fan of iTunes. No problem -- you can cast off your iTunes chains and manage your music entirely with Linux using Amarok. Amarok gives you everything you need to manage your music, from playing to burning music CDs to managing your portable music player.

Amarok's playlist interface takes a little bit of exploration to find all of the features hidden in its nooks and crannies. The left side has several "browsers" that display Amarok's music collection, playlists, files, media players, and the Magnatune store. Integration with Magnatune is relatively new, so if you're using an older version of Amarok, you may not have that option.

You can select a browser by clicking its tab, and hide the browser pane by clicking the current browser tab a second time.

The right-hand display shows the song title, artist, album, song length, and other information about the tracks queued up. You can customize the display by right-clicking on the bar that displays the field headings and selecting Show Column, or Select Columns. The Show Column menu lets you add fields that are not displayed, one at a time. The Select Column menu brings up a dialog that shows all available fields. Using the Select Column dialog, you can choose which fields to display, and in which order.

You can also decide how Amarok sorts your music collection. Select the Collection browser and then look for the Group By button in the top left of the Amarok playlist interface. Amarok has several presets for sorting the collection, or you can create a custom sort by selecting the first three fields to sort the collection by. Valid fields include artist, year, genre, composer, and album.

To add songs to your playlist, click the Collection browser on the left side of the playlist interface and drag the songs you want to play over to the playlist on the right. You can also right-click on an artist, song, genre, album, or year and select Append to Playlist.

If you prefer a small player window like that of XMMS or Winamp, you can enable Amarok's player window interface by going to Settings -> Configure Amarok. Select the General tab, and you should see a radio button under General Options labeled "Show player window." If you don't want to see the playlist interface all of the time, click the PL button on the player window to hide it.

Adding music to the Amarok collection

Of course, you do need to tell Amarok where to look for music. The first time you run Amarok it runs a wizard that prompts you for the directories to scan for music. You also have the option of telling Amarok to scan the folders recursively, and to watch for new music. It's a good idea to leave these enabled.

After a while, you might save music in new directories. To tell Amarok to look for music in a new location, open Amarok's configuration dialog (Settings -> Configure Amarok) and select the Collection button. In the right-hand pane, you'll see a filesystem tree. You can choose the directory or directories that you want to store your music in, and Amarok will search these upon startup.

Amarok may detect new music placed in these directories while it's running. I'm not sure why, but Amarok only automatically detects new music about half the time. If Amarok doesn't detect new files, you can restart it or go to the Tools menu and select Rescan Collection.

Playing, ripping, and burning CDs

Amarok will play CDs if you prefer to listen to music directly from disc (does anyone do that these days?). You can also use Amarok to burn data or music CDs. To burn a disc, copy files to the playlist from your collection and then go to Playlist -> Burn to CD. Amarok will prompt you to choose between a music CD or data CD. I usually spend my time converting from CD to digital files, but a few months ago I discovered that a Robyn Hitchcock show I went to was available in FLAC format online, and used Amarok to burn a couple of CDs that I could listen to in the car.

You can also rip audio from CDs using Amarok, providing you have the right KIO-slave installed. If you insert a CD, and then select the Files browser, Amarok displays the CD tracks and several virtual folders containing the CD tracks as MP3s, Ogg Vorbis, or FLAC-encoded files. These aren't actually on the CD; it's a virtual filesystem. If you copy the files into another folder, Amarok will rip the music to the appropriate format.

For some reason, this feature doesn't work in the Ubuntu/Kubuntu release of Amarok 1.4.4, even after installing what should be the right packages for the AudioCD KIO-slave, but it does work in Xandros and other distros.

Amarok's Magnatune store

I've been a big fan of Magnatune since it debuted a few years ago. I'm happy to pay for music, but I like to be able to listen to it first to see if it's something I like, and don't want to deal with any digital restrictions management (DRM) crippled CDs. Magnatune has an interesting selection, and a no-hassle way of doing business that's good for customers and good for artists, since half of the sale price goes directly to the artist.

Amarok's most recent release (1.4.4) includes a Magnatune store browser. It has always been possible to stream full songs and albums from the Magnatune Web site, but with Amarok you can browse the entire Magnatune catalog, play songs or entire albums, and even purchase albums directly through your music player.

Once you purchase an album, you'll be given a URL and password to download the music. You can choose to download the files into Amarok's collection in one of several supported formats -- WAV, MP3, Ogg Vorbis, and FLAC. The download information will also be sent to your email address, from which you can grab the album in the same formats plus Apple's AAC format.

The most recent stable version of Amarok doesn't provide information about the connection to the Magnatune store, so one might wonder whether the connection is secure. I emailed the Amarok developers about this, and they say that Amarok does connect to Magnatune over an encrypted connection. They indicated that future releases will provide more explicit information about the connection so users can see that the connection is encrypted.

The only downside to buying via the Amarok Magnatune store is that it doesn't provide any way to order physical media. Magnatune allows users to buy music on CD plus the digital download, but you can purchase only the digital download via the Amarok store. The developers say that some of this is up to Magnatune to implement in its REST protocol, but they've received a few requests for the ability to buy physical media and they will be looking into supporting that.

Last.fm with Amarok

Like many audio players, Amarok supports streaming media, so you can enjoy online radio streams in any format supported by Amarok. As an added bonus, Amarok also supports Last.fm streams (lastfm://) directly, so you can listen to Last.fm streams without the need for something like LastFMProxy.

To configure Amarok to use your Last.fm account, go to Settings -> Configure Amarok and select the Last.fm tab. Enter your username and password. You can specify whether you want to submit played tracks to Last.fm, and whether you want Amarok to get similar artists and songs when playing songs through Amarok, and display them in the Context browser under the Music tab. If the suggested songs are in your collection, you can just drag them over to the playlist.

Amarok comes with a few default Last.fm streams, but you can add custom streams by right-clicking on the Last.fm Radio folder under the Playlists tab, or you can configure Firefox to open lastfm:// URLs directly through Amarok. To do this, you'll need to add a media handler to Firefox using the steps I found on the Last.fm forum. In Firefox, enter about:config in the location bar. Then, right-click on Preference Name and select New -> String. The preference name should be network.protocol-handler.app.lastfm, and the string value should be the path to Amarok -- probably /usr/bin/amarok.

If you enjoy using Last.fm, you probably want to be able to feed ratings back to Last.fm. By default, Amarok doesn't show the Last.fm "Love," "Ban," and "Skip" buttons, but you can add them to the bottom toolbar by going to Settings -> Configure Toolbar.

Streams and podcasts

Speaking of streams, Amarok handles standard MP3 and Ogg streams just fine. By default, Amarok includes several radio streams of different genres under the Playlists browser. You can also add radio streams by right-clicking on the Radio Streams folder in the Playlists browser or the Add button at the top of the pane and adding the name and URL of the stream.

You can also use Amarok to manage your podcasts. Under the Playlists browser, just right-click on the Podcasts folder or the Add button, and select Podcast. Here you'll be prompted to add the podcast that you want to start receiving.

If you want to download podcasts immediately, you'll need to right-click on the podcast entry and select Configure. By default, Amarok will only download podcasts when you direct it to. You can change this by selecting Download when available. You might also want to tell Amarok to add to your media transfer queue, if you have the space on your media device for new podcasts. If disk space is limited, or you just don't like to keep old podcasts around, you can also limit the number of podcasts that are saved. The default is no limit.

Managing media players

Amarok can also be used to manage the songs on your MP3/audio player, and play songs off of the player. I use Amarok with an iPod, and it will also support Media Transfer Protocol (MTP) devices and other types of devices.

The first time you use a media player with Amarok, you may need to tell Amarok about it. To set up a new device, go to Settings -> Configure Amarok and then select Media Devices. Amarok has an Autodetect Devices button that should detect more common devices, and a Add Device button if your device is not automatically detected. If the device isn't detected, click Add Device and select the plugin that Amarok should use to handle your device. Amarok has plugins for generic devices, iPods, the Creative Nomad Jukebox, and iRiver iFP devices.

To move music to your device, go to the Collection browser and right-click on the song, album, artist, genre, or whatnot and select Transfer to Media Device. This will queue up your selection to move it over to the media device, but it won't actually copy the file over. To do that, go to the Media Device browser and click the Transfer button on the top toolbar. Amarok will then copy over the files as fast as the USB connection will allow. (If you're doing more than 10GB, you might want to go get a cup of coffee while you're waiting.)

You'll also notice a Music Sharing device. This is to connect to a Digital Audio Access Protocol (DAAP) music source, rather than a portable media player. This allows you to connect to a server running mt-daapd, a computer running iTunes, or another system running a media player that publishes its playlist as a DAAP share.

One caveat here -- if you've "upgraded" to iTunes 7, DAAP sharing will be broken. Thanks to Apple's usual fidgeting with protocols and such between iTunes releases, DAAP won't work with Amarok and iTunes 7. Thanks Apple! The only answer I'm aware of, at the moment, if you want to share music between iTunes and Amarok is to downgrade iTunes to iTunes 6.

Also, Amarok may hang for a bit when connecting to a media share with a lot of music. I've tried connecting to an mt-daapd share with about 36GB of music, and it hangs for a few minutes and then only reads part of the database. This seems odd, because Amarok handles a large local collection of music just fine. I tried connecting to the mt-daapd server using iTunes, and had no problems. With any luck, Amarok's DAAP features will continue to improve.

Miscellaneous features

One of the small touches I like with Amarok is the ability to stop playing a playlist when a song is finished, but not stopping the song mid-play. Just right-click on the song and select Stop Playing After Track. One reason you might want to use this -- Amarok generates scores based on how often you play a song, and it deducts points from the score if you stop a song mid-play. The scores are used to generate Amarok's Favorite Tracks smart playlists, so stopping a song early will make it less likely to wind up in one of the smart playlists.

For geeks who like to tweak settings, Amarok includes an equalizer with several presets for different music genres, and the ability to set the parameters manually.

If you want to see album covers for your music, you can use Amarok's Cover Manager, found under the Tools menu. You can also click the album icon in the Context browser to search Amazon for album covers, or right-click an icon to set a cover manually. It's been my experience that searching Amazon yields the right album cover about 80% of the time, and it gets dicey if you're looking for artists that aren't particularly mainstream, such as Zombina and the Skeletones.

Amarok also includes several scripts that do things like search for lyrics for songs to display in the Context browser, or display the current playlist via a Web-based interface. Amarok uses the KDE Get Hot New Stuff system to allow you to download additional scripts. Just select Tools -> Script Manager to start working with scripts or installing new ones. You can also use the Script Manager to start and stop installed scripts, or to configure the way they operate.

More scripts are available via the Amarok wiki, which also hosts a HOWTO on writing scripts for the programatically inclined.

Amarok has a few flaws, but it's the best music manager/player that I've used so far. It's full-featured, handles a huge music collection with no problem, and works well with my iPod -- so well, in fact, that I don't ever expect to use my latest iPod with iTunes at all.

Click Here!