Friday, July 29, 2005


Enabling Ogg Vorbis and MP3 Playback in XMMS

I finally overcame my aversion to the unattractive XMMS interface long enough to install it and discover it doesn't work. I can add songs to the playlist, but as soon as I hit play the application stops responding. I opened the Terminal and tried running it from there. It greeted me with an error message. cannot open shared object file: No such file or directory

Apparently XMMS couldn't find one of the libraries it needs. I went into Synaptic and searched for "mikmod". I didn't find an exact match, so I decided to consult the Unofficial Ubuntu 5.04 Starter Guide. The guide includes a long list of multimedia codecs in a section appropriately titled, "Q: How to install Multimedia Codecs?" I located the gstreamer0.8-plugins package in Synaptic and installed it. This could also be done in the Terminal.

sudo apt-get install gstreamer0.8-plugins

The error message didn't appear, but XMMS still refuses to play anything. Perhaps it's time to consult Ubuntu Forums. One poster suggests changing the XMMS output plugin. I pared his instructions down to three easy steps.
  1. Options -> Preferences (Ctrl+P)
  2. Audio I/O Plugins
  3. Select a different output plugin from the list.
With gstreamer0.8-plugins and the output plugin set to ESD, I can play Ogg Vorbis and MP3 files. For AAC files, I'll need additional plugins not found in the default repositories. So I must add the necessary repositories.

Adding Repositories

Before I start, I should back up the file I'll be editing.

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo gedit /etc/apt/sources.list

Now I edit the file.


deb hoary universe
deb-src hoary universe

deb hoary-security main restricted
deb-src hoary-security main restricted

deb hoary-security universe
deb-src hoary-security universe

deb hoary multiverse
deb-src hoary multiverse

## Backports
deb hoary-backports main universe multiverse restricted
deb hoary-extras main universe multiverse restricted

I save the edited file and update the package lists.

sudo apt-get update

AAC Playback

To play AAC files, I installed the gstreamer0.8-faad package. I used Synaptic again, but if you prefer you can use the Terminal.

sudo apt-get install gstreamer0.8-faad

Ironically, after all the time I spent getting XMMS working, it turns out gstreamer0.8-faad provides an AAC decoder for Rhythmbox but not XMMS. I checked several forums, and they all seemed to indicate that AAC playback in XMMS has yet to be perfected. Oh, well. I'll use Rhythmbox as I originally intended. Now I can listen to music while I fiddle with Ubuntu. I call that a major victory.

Our Next Episode

This weekend Live Gnude Girls will reveal the secrets of Direct Memory Access (DMA) and Advanced Linux Sound Architecture (ALSA). In other words, I'm going to get my CD-RW/DVD running faster than ever and make it possible for multiple applications to play sound at once. I'm looking forward to it.

1 comment:

Josh Zenker said...

I ended up removing the incurably ugly XMMS and replacing it with Beep Media Player, which uses Winamp skins. I'm still primarily using Rhythmbox. I don't know why Linux users complain about it so much. Except for the lack of an equalizer, it's perfect.