Date: Sat, 7 Mar 2009 10:00:54 +0100 From: Roland Smith <rsmith@xs4all.nl> To: Zoran Kolic <zkolic@sbb.co.yu> Cc: freebsd-stable@freebsd.org Subject: Re: cd ripping to flac Message-ID: <20090307090054.GA23931@slackbox.xs4all.nl> In-Reply-To: <20090307071228.GA1134@faust.net> References: <20090307071228.GA1134@faust.net>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
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 <rsmith@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)
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.11 (FreeBSD)
iEYEARECAAYFAkmyN8YACgkQEnfvsMMhpyXCCwCgp6V9uj0o2jcYZ/K+ZSiFWEiq
E+oAoKhy5gPLPZkQEMTO8dVP4r/hu7KJ
=JpZn
-----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090307090054.GA23931>
