On Sat, Mar 07, 2009 at 08:12:28AM +0100, Zoran Kolic wrote: > Howdy! > I'd like to rip my cd-s to flac files using some > command line app, like cdda2wav or cdparanoia. > Using pipe to flac utility would be nice and the > way I'd take. What program acts in that matter?
It won't work if you want the songs to have the right metadata; You'd have to supply that to the pipe in some way... For ripping I use cdparanoia: 'cdparanoia -B 1' rips all tracks. The following perl scripts reads a text file containing the metadata (artist, album name, track data) and calls flac: ----- make-flac ----- #!/usr/bin/perl # # Compiles a list of wav files into flac files. # # Author: R.F. Smith <rsm...@xs4all.nl> # Time-stamp: <2008-07-30 23:53:00 rsmith> # # I, the copyright holder of this work, hereby release it into # the public domain. This applies worldwide. # # In case this is not legally possible, I grant any entity the right to use # this work for any purpose, without any conditions, unless such conditions # are required by law. # Check for programs that this script needs. chomp($flac = `which flac 2>/dev/null`); -x $flac || die "Cannot find flac: $!\n"; #chomp($norm = `which normalize 2>/dev/null`); #-x $norm || die "Cannot find normalize: $!\n"; # Get the name of the file containing the titles. if ($ARGV[0] ne "") { $fname = $ARGV[0]; } else { $fname = "titles"; } # open the list of song titles open (TITELS, $fname) || die "cannot open $fname: $!\n"; # The titles file format is as follows: # ------------------------------------ # album title # artist # 01 title of 1st song # .. # 14 title of 14th song # .. # get the album title and performer name chomp($album = <TITELS>); $album ne "" || die "cannot read album name"; chomp($artist = <TITELS>); $artist ne "" || die "cannot read artist name"; # Normalize the wav files. #printf("Normalizing .wav files...\n"); #`$norm -b track*.cdda.wav`; # go over all the songs while(<TITELS>) { chomp; ($num, $title) = split (' ', $_, 2); printf ("Encoding \"%s\" as %s\n", $title, "track".$num.".flac"); # invoke the flac encoder. do { $rc = system ($flac, "-8", "-TARTIST=".$artist, "-TALBUM=".$album, "-TTITLE=".$title, "-TTRACKNUMBER=".$num, "-o", "track".$num.".flac", "track".$num.".cdda.wav"); if ($rc != 0) {print "\nError,", $rc, "starting again";} } until $rc == 0; } ----- make-flac ----- Roland -- R.F.Smith http://www.xs4all.nl/~rsmith/ [plain text _non-HTML_ PGP/GnuPG encrypted/signed email much appreciated] pgp: 1A2B 477F 9970 BA3C 2914 B7CE 1277 EFB0 C321 A725 (KeyID: C321A725)
pgp0JdhWd6Ore.pgp
Description: PGP signature