# audiocd

Allows treating audio CDs like a real filesystem, where tracks are represented as files and, when copied from the directory, are digitally extracted from the CD. This ensures a perfect copy of the audio data.

To see how this slave works, insert an audio CD in your &CD-ROM; drive and type `audiocd:/` into &konqueror;. Within a few seconds you should see a list of tracks and some directories.

Audio CDs don't really have directories, but the audiocd slave provides them as a convenience. If you look inside these directories you will see that they all contain the same number of tracks. If you are connected to the Internet, some directories will have the actual track titles shown as the filenames.

The reason that these separate directories exist are so that you can choose in which format you would like to listen to (or copy) the tracks on the CD.

If you drag a track from the `Ogg Vorbis` directory and drop it on another &konqueror; window open at your home directory, you should see a progress window showing you that the track is being extracted from the CD and saved to a file. Note that Ogg Vorbis is a compressed format, so the file in your home directory will appear a great deal smaller than it would have been if you had copied the raw data.

The mechanism behind this is quite simple. When the audiocd slave is asked to retrieve a track from the `Ogg Vorbis` directory, it starts extracting the digital audio data from the CD. As it sends the data over to the file in your home directory, it simultaneously encodes it in Ogg Vorbis format (CD audio isn't in any particular format to start with, it's just raw binary data.)

You could also try dragging a file ending in `.wav` and dropping it on the &kde; Media Player, &noatun;. In this case, the procedure that happens behind the scenes is similar, except that instead of encoding the audio data in Ogg Vorbis format, it is put through a very simple conversion, from raw binary data (which the `.cda` files in the toplevel directory represent) to RIFF WAV format, a non-compressed format that most media players understand.

&noatun; should quite happily play the `.wav` file, but if it has trouble, you may consider using the `paranoia_level` option, explained below.

## Options

`device`

- Set the path to the audio CD device, e.g. `audiocd:/`?device`=`/dev/sdc``. Normally, the slave will try to find a CD drive with an audio CD inserted, but if it fails or you have more than one CD drive, you may want to try this option. Note that the configuration dialog allows you to set a default value for this option.

`paranoia_level`

- Set the amount of error detection and correction used when extracting data.

  Level 0

- No detection or correction. Only useful if you have a perfect CD drive (unlikely).

Level 1

- Enable basic error checking and correction.

Level 2

- Default. Specifies that only a perfect extraction will be accepted.

Note that there is a disadvantage to level 2. Extraction can be very slow, so real-time digital playback may not work properly. If you have a good quality CD drive (note that more expensive does not necessarily mean better quality) then you probably won't experience very slow extraction, but a poor drive may take days (!) to extract the audio from one CD.

`use_cddb`

- Specify that track names for the inserted CD will be looked up on the Internet CD Database. Audio CDs don't have track names, but the Internet CD Database is a clever system which uses a special unique identifier generated from the number and length of tracks on each CD to cross-reference a track listing. Track listings are contributed by the Internet community and made available to all.

  You can submit your own track listings using &kscd;, the &kde; CD player.

  This option is on by default. If your Internet connection is not set up correctly, you may find that your CD tracks don't appear. In this case, you can try `audiocd:/?`use_cddb`=`0`` to switch this option off.

`cddb_server`

- Set the Internet CD Database server to contact. By default, this is `freedb.freedb.org:888`, which means server `freedb.freedb.org` at port 888.

## Examples

`audiocd:/?device=/dev/scd0?paranoia_level=0&use_cddb=0`

- Gives a listing of the tracks on the audio CD inserted in `/dev/scd0`, which on &Linux; specifies the first SCSI &CD-ROM; device. If you copy tracks from the CD, digital extraction will be performed without error correction or detection. No Internet CD Database will be contacted.

## Frequently Asked Question

I get The file or directory / does not exist. How do I fix that? I have an audio CD in my drive!

Try running ``cdparanoia` `-vsQ`` as yourself (not `root`). Do you see a track list? If not, make sure you have permission to access the CD device. If you're using SCSI emulation (possible if you have an IDE CD writer) then make sure you check permissions on the generic SCSI device, which is probably `/dev/sg0`, `/dev/sg1`, etc. If it still doesn't work, try typing `audiocd:/?device=/dev/sg0` (or similar) to tell kio_audiocd which device your &CD-ROM; is.