Cd-Grab is a copier/archiver for audio-cd's. It checks for errors during reading and re-reads sectors the same data has been seen twice.
Mostly to scratch an itch. Also EAC is not available under Linux. The audio tooling under Linux requires multiple tools, which are not always very user friendly. Cd-Grab starts, and read whatever is in the drive to the (lossless) .cue/.flac format. This can both be played or processed further.
- Cross-platform (Windows & Linux)
- Per-sector CRC check: Only re-reads what's absolutely necessary.
- Only stores what's aboslutely necessary (1 copy per sector).
- Reads the disc sequentially, this is the most efficient way of reading, This also prevents reading errors coming twice out of the disc cache.
- CD-Text and freeDB support with local cache, so the resulting files have metadata.
- Gapless: Output into a single flac+cue image.
Cd-Grab uses the SCSI interface, and the underlying Generic Packet Format for most of the non-audio commands. This standard set of commands, the Mt. Fuji or SFF8090i (v5) standard is still implemented on all CD-drives.
It provides a more capable interface than the high level CD-Rom APIS provided by Windows and Linux. Mount Fuji commands allow, for example, getting the table-of-contents, UPC and ISRC codes and CD-Text.
The CDDB supports a local archive of CDDB entries. With a Audio-CD in the drive, an entry can be generated using the cd-discid and cddb-tools:
cd-discid /dev/cdrom | xargs cddb-tool template > ../xmcd/editMe
The CDDB class scans for a folder 'xmcd' and parses all files in that folder. The entries in this format can be mailed to freedb-submit@freedb.org. The subject of the message needs to be "cddb genre disc-id" where genre and disc-id are replaced with the appropriate values for your disc.