もう一度、システムに充分なディスクの空き容量があるかを確かめてくだ さい。
著者は CD からトラックをリップして(吸い出して)エンコードする、非常に単純な Perl スクリプトを書きました。
#!/usr/bin/perl
if ($ARGV[0] ne "") {
$count = 1;
do {
$cdcap = system("cdparanoia", $count, "/mnt/mp3/tmp/cdda.wav");
$track = "$ARGV[1]/track".$count.".mp3";
$benc = system("bladeenc /tmp/cdda.wav $track -br 256000");
$count++;
}
until $count > $ARGV[0];
exit;
}
else {
print "Usage cdriper [no of tracks] [destination directory]\n\n";
}
ポイントになる行はこれです :
$cdcap = system("cdparanoia", $count, "/mnt/mp3/tmp/cdda.wav");
この行は CD リッパである cdparanoia を呼び出しています。 cdparanoia は CD の音声データを WAV フォーマットへ変換します。
目につくオプションはリップするトラック数を表す $count で、次が出力する WAV ファイルのパスです。著者の例では、このパスは MP3 用の SCSI ドライ ブにある、tmp ディレクトリになっています。
各トラックごとにリップとエンコードをせずに済むように、そして cdparanoia のバッチモードを使わず CD を吸い出せるように、著者はこの Perl スクリプトを書きました。cdparanoia をバッチモードで動かすと CD 全 体を吸い出し、600MB 以上の空き容量を必要とします。しかし、このスクリプ トを使えば、使用するディスクの容量を削減できます。
確認 : 上のスクリプトは非常に初歩的で、エラー確認のような技がありません。 皆さんがお暇なときに改良してください。