Author: David Collett
Web site:


PHATDB is a tool to generate database and signature files for Kenwood ACDrive / mCD ('enhanced' cd) Car Stereo Head Units.

You can read more about it in the PhatHack wiki:

This software provides GNU/Linux users which a way to generate database files without the windows-only phatnoise media manager software provided by Kenwood.

Since version 0.0.2, windows binaries are also available.


You need libid3tag and openssl (libcrypto) to build phatdb.

make install


ACDrive USB headunits understand FAT formatted disk only, furthermore, the database must contain short (8.3) filenames. For phatdb to generate the database correctly, USB drives MUST be mounted as 'msdos' (NOT 'vfat') so that the short filenames are shown.

NOTE: Since version 0.0.2, this is no longer necessary. Linux has an ioctl which allows retrieval of short filenames from mounted vfat volumes.

For a disk to be recognised by an ACDrive head-unit, it must contain an 'mcd' directory in its root. This directory must contain the files:


These files are NOT distributed with phatdb, they can be found in the phatnoise distribution or on the sample mCD CD which came with your head-unit.

To generate a database with all the music on a USB hard-drive mounted at /media/usbdisk:

phatdb -g /media/usbdisk

This will create the files:


The disk should now play as enhanced media in your head-unit.


Browsing and Index searching should work correctly, however phatdb does not currently generate voice-prompt files. It is recommended that you disable this feature when using phatdb. A future version may support voice prompting.

For a discussion of future features and enhancements of phatdb see the wiki page here:

There is also a forum to discuss ACDrive hacking:


Releases are made through the sourceforge files page:


PHATDB includes a library (phatlib) which can be used to add phatdb support to other applications. The API is simple and is documented in phatlib.h. phatdb (in main.c) is a good example of how to use the API. Internally, phatlib has a more powerful low-level API. If application programmers wish to use this, they will probably have to copy the phatlib sources to their own tree and compile statically.

PHATDB uses darcs for revision control. You can obtain the full repository here:

darcs get

PHATDB is written in C and requires the following libraries:

Additionally, PHATDB includes GPL'd code from a number of other projects:


This program can be distributed under the terms of the GNU GPL. See the file COPYING.