libcdaudio is a portable library for controlling audio CDs. It is also able to manage transfers of information with the CDDB ( and CDIndex systems.

It needs some major work however, as it suffers from security issues (e.g.

It has been tested on these platforms:

It should work on these platforms:

See also libcddb, which is another library dealing with the CDDB protocol.

See also libcdio, which is another library dealing with CD access.

Note: I do not know libcdaudio well. I have mainly worked on cdcd instead, several years ago.


cdcd is a command-driven cd player; it uses the facilities provided by libcdaudio and can be called just once to do one particular action (for example, $ cdcd play Lazarus 2:14 will play a song containing "lazarus" in its name, starting at position 2 minutes 14 seconds), or as a command interpreter (i.e. you will have a cdcd> prompt).

Requirements: cdcd needs libcdaudio and the GNU Readline library, version 4.2 or higher.

The libcdaudio/cdcd project

Download the latest version of libcdaudio or cdcd from SourceForge.

You may want to look at the SourceForge Project page .

Notes for programmers

If you want to program something using libcdaudio, here are some recommendations:

libcdaudio can access to CDDB databases. However, the CDDB protocol is, in my humble opinion, quite badly designed. More importantly, the original CDDB data is controlled by Gracenote, which now tries to make profit out of it and threatens FreeDB, a free alternative to Gracenote's database.

That is why I recommend the use of other libraries such as MusicBrainz (

	  logo Valid HTML 4.01! Valid

Fabrice Bauzac - noon at users dot sourceforge dot net

Last modified: Sat Aug 25 2007