libcdaudio is an unmaintained but portable library that provides wrapper functions to audio CD drives and CDDB and CDIndex database access. cdcd is a commandline CD player using libcdaudio's CDDB and CDIndex functions.
Easyfreedb is a cross-platform C++ library for accessing data on a freedb server. It supports protocol level 6 (UTF-8) and uses Boost's LL parser framework for parsing. Easyfreedb has a C-wrapper to make it easy to use from other programming languages.