Up one level
How to play music media in Linux (mp3, ogg, audio CDs) using xmms Audacious
Spencer Stirling

Without question the best software for playing things like mp3's and ogg files is XMMS. UPDATE: the XMMS1 project has been replaced by the "Audacious" project. This is similar, but I don't have time to document it now (however you may find the information below useful if your CDs won't play). You can find Audacious in the debian repositories. Note that the XMMS2 project is a client/server oriented package and is *totally different* (and probably not what you want).

To install XMMS in Debian, install the package with the command (as root)

apt-get install xmms
You *might* also want to install the packages "xmms-volnorm" (which normalizes the volume of different mp3's to the same level so that you don't have to adjust the volume for each song) and "xmms-skins" (which contains a lot of skins for XMMS).

First, you will want to configure XMMS. So open it up and right-click on the little tiny button in the top-left corner. Go to Options->Preferences. At the "Output Plugin" button make sure that you change it from OSS to ALSA (assuming, of course, that you have ALSA sound system installed). The reason for this is because this cleared up a little bug in XMMS with which I was dealing. Usually I like to open up my songs by browsing with my File Manager and double-clicking (which is programmed to open up the file with XMMS). Now, if XMMS were already playing a song and I double-clicked on a different song to start then XMMS would completely freeze. I found that I had to hit the "stop" button or completely kill XMMS before loading a different song (which is a pain). Changing the Output Plugin to ALSA fixed this problem completely!

Go to the "Effects Plugins" tab and click on "Normalize Volume" (if you want). In the bottom right corner press the "Enable Plugin" button. This will enable the "xmms-volnorm" plugin that I mentioned above (you might not care about this).

Now XMMS should be ready to play mp3's and ogg files without problems. In order to choose a different skin you will need to add the /usr/share/xmms/Skins directory in Options->Skin Browser.

How to play audio CD's using XMMS
First of all, you should try to play your CDs through simple CD programs like "kscd" or "gnome-cd". If this doesn't work but you are sure that your sound card is configured properly (say you can play mp3's through XMMS or something) then this is likely due to the fact that your computer manufacturer forgot (or purposefully, to save 5 cents) left out the little audio cable which goes from your CD player directly to your sound card.

Understand that there are two ways to play CDs on your computer. The first (and definitely the best) is to have your CD player do what it is good at - just play CDs. If there is a little audio cable going from your CD player to your soundcard then the process of actually playing CDs will require little CPU intervention. This is when you can use programs like "kscd" or "gnome-cd". Obviously this saves on CPU demand, which we all know makes for a faster and happier system.

The second way to play audio CDs is to have the CPU actually read the CD information directly through the IDE cable into memory, process it, and then send it off to the sound card. This is the inferior method. However, Winbloze decided to just make all of their audio applications do it this way, which allows your computer manufacturer to go cheap and "forget" to put the audio cable in. We'll call this method "digital extraction mode".

UPDATE: KsCD will NOW also play in digital extraction mode (it's quite easy to find this setting in KsCD) - hence you no longer need to use XMMS for this - the rest of this article is deprecated, unless you really like to play using XMMS.

So, if you are lacking an audio cable (it's just a little guy) then you will have to resort to this method. Fortunately XMMS has the capability of doing this. So first install the Debian package


Go into Options->Preferences and in the "Audio I/O Plugins" tab select the "CD Audio Player" plugin and DISABLE IT!!! This plugin interferes with the one which you just installed. Now select the "AudioCD Reader" plugin and ENABLE it. Then click "Configure" to configure the plugin. In CDDB you can disable CDDB if you want (this is a large online database of all CDs so that the track names and album titles comes up correctly, but it can be a pain if you happen to be offline). In the "Output" tab enable the "Read Digital CD Audio" option (which disables the "Play Audio CD Directly" option - obviously XMMS can use either CD playing method).

That's it! Now to play a CD (assuming that your CDROM is installed on device /dev/cdrom) from the main menu choose "Play File" and type in "/dev/cdrom" instead of a filename. I really wish that XMMS had a "Play CD" button instead of this manual method, but at least it works (as opposed to everything else).

This page has been visited   times since May 31, 2005