다음 이전 차례

10. Encoding from CD-ROM.

역시 당신 시스템에 충분한 드라이브 용량이 있는지 확인하라. 나는 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  /mnt/mp3/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 ripper(추출프로그램)인 cdparanoia를 호출한다. Cdparanoia는 raw CD 오디오 데이터를 WAV format으로 변환한다. 옵션들은 이것은 추출해야할 트랙의 갯수를 지정하는 $count와 결과 Wav화일을 저장할 경로이다. 내가 작성한 예문에서는 내 MP3용 SCSI 드라이브에 있는 tmp디렉토리로 지정되어있다.

다음으로는 WAV화일을 Bladeenc를 써서 MP3포맷으로 바꾼다. Cdparanoia의 배치모드를 사용하지 않으면서, 매번 트랙별로 일일이 손수 추출해서 인코딩하는 작업도 하지 않기 위해 이 Perl스크립트를 작성했다. 이렇게 해서 Cdparanoia가 전체 디스크를 추출하기 위해 600 Meg나 사용하던 디스크 용량을 줄일 수 있었다.

Note: 위의 스크립트는 매우 단순하고, error 체크와 같은 좋은 기능이 없다. 당신의 기호에 따라 향상시키도록 :)


다음 이전 차례