[Flac] FLAC CD Archive

Peter Edwards samwise at bagshot-row.org
Sat Jan 20 17:18:40 PST 2007


Hi,

Bit late to join in the discussion but I've just read through the CD
archiving discussion and was particular interested in Dax's method,
described here (also included below):

http://lists.xiph.org/pipermail/flac/2006-September/000611.html

So far I've just been flac-ing my CDs to individual one-flac-per-track
files, however it appears I've been missing some of the other bits of
info on the CD.

I haven't been using abcde (i've been using KAudioCreator which is a
front-end for cdparanoia, AIUI) so I've been a bit lost by some of the
detailed methods described by others, as well as Dax.

Given that I've already flac-ed a good many CDs, is it enough to go
back and run a batch file like this on each CD:

cd-discid /dev/hdc > discid.txt
cdrdao read-toc --device /dev/hdc toc.txt

and save those txt files with the flac albums.  Would that be enough
to be able to re-generate the CD again later with the same cddbid
etc.?  i.e. would that extract all info I might conceivably require
again later?

Thanks!

Peter.

> I went with the one song per flac file approach with the ability to
> reproduce the exact original CD if needed.
>
> The Ripping/Encoding process goes like this:
>
> cd-discid /dev/hdc > discid.txt
> cdrdao read-toc --device /dev/hdc toc.txt
> cdrdao read-cddb toc.txt
> Now rip and encode to FLAC (each track separate) with metadata.
>
> I have a modified abcde that does this. The modification is in my
> abce.conf I added is:
>
> post_read ()
> {
> # Figure out what OUTPUTFILEDIR should be
> export `eval $($CDDBTOOL parse "$CDDBDATA")`
> export ALBUMFILE=$(mungefilename "$DALBUM")
> splitvarious
> export ARTISTFILE=$(mungefilename "$TRACKARTIST")
> export OUTPUTFORMAT='${ARTISTFILE}-${ALBUMFILE}/${TRACKNUM}.${TRACKFILE}'
> export VAOUTPUTFORMAT='Various-${ALBUMFILE}/${TRACKNUM}.${ARTISTFILE}-${TRACKFILE}'
> if [ "$VARIOUSARTISTS" = "y" ]; then
>     export OUTPUTFILE=$(eval echo $VAOUTPUTFORMAT)
>     else
>     export OUTPUTFILE=$(eval echo $OUTPUTFORMAT)
> fi
> export OUTPUTFILEDIR=$(dirname "$OUTPUTDIR/$OUTPUTFILE")
> # Sheesh glad that is done. Now save the discid.txt for comparison later
> # and the toc.txt
> mkdir -p "$OUTPUTFILEDIR"
> cd-discid $CDROM > "$OUTPUTFILEDIR/discid.txt"
> cdrdao read-toc --with-cddb --cddb-timeout 90 --device $CDROM "$OUTPUTFILEDIR/toc.txt"
> }
>
> And then I inserted a call to my post_read into abcde.
>
> Edit the abcde script and right before the line:
> # We are now finished with the cdrom - it can be safely ejected. ...
>
> Add the line:
>
> post_read # Execute the user-defined post-read function before ejecting
>
> Now to go back to the other direction, create an "original CD" (ie, one
> with the same CDDB discid), do the following:
>
> cd /path/to/album/
> shntool join --stdout *.flac > data.wav
> cdrdao write --device /dev/hdc toc.txt
> rm data.wav
>
> This is the procedure I used on several hundred CDs I own in order to
> get a FLAC archive of them. I use several Squeezeboxes in my house to
> listen to them.
>
> Dax Kelson
> Guru Labs


More information about the Flac mailing list