Linux 下的準備工作及抓取方法





如果想在 Linux 下直接轉錄 CD 音軌,目前可以找到的工具是 cdda2wav0.71.src.tar.gz。

1. 將 cdda2wav0.71.src.tar.gz 解開來

tar zxvf cdda2wav0.71.src.tar.gz

2. 首先去看看 Makefile,開頭的幾行可以看到下面的東西:

  INTERFACE=\”generic_scsi\”

# set the default cdrom device
DEF_DEVICE=\”/dev/sgd\”
# matching device
# used for a MULTISESSION ioctl
AUX_DEVICE=\”/dev/cdrom\”

# for nonscsi cdrom drives with cdda kernel support ie atapi, cdu31a
# choose this if the kernel driver supports cdda reading
#INTERFACE=\”cooked_ioctl\”

# set the default cdrom device
#DEF_DEVICE=\”/dev/cdrom\”
# not actually used
#AUX_DEVICE=\”/dev/cdrom\”

如果你的光碟機是 SCSI 的,就注意一下前面那個 DEF_DEVICE=\”/dev/sgd”,把它改成你自己的光碟機位置。

而如果你的光碟機是非 SCSI 的,包含舊式的 AT-BUS 或是 ATAPI 光碟機,則把前面那三個 INTERFACE DEF_DEVICE AUX_DEVICE 前面加上 “#”,取消他們的設定,然後把下面那三個 INTERFACE DEF_DEVICE AUX_DEVICE 前面的 “#” 給拿掉,使得這個設定生效。

3. 輸入 make 來 compile 執行檔。 如果 make 到 interface.c 時發生錯誤,請看一下 interface.c,在第 39 行附近,有以下的設定:

#include <scsi/sg.h>
#include <scsi/scsi.h>

這個設定可能並不適用於你目前的 kernel 目錄,Linux 的目錄常常變更結構是常玩 Linux 的人眾所皆知的事情。試著去改成下面的設定看看:

#include </usr/src/linux/include/scsi/sg.h>
#include </usr/src/linux/include/scsi/scsi.h>

當然這表示你將 Linux 的 source code 放在 /usr/src/linux 下,如果不是的話,請自己改變一下囉!重點是 include/scsi 這邊要正確。

4. 現在應該有 cdda2wav 這個執行檔了。請注意你的光碟機是不是符合 Makefile 中的設定,否則就要在執行 cdda2wav 時另外給 -D 的參數來指定你的 device。

歷史上的今天...


You may also like...

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

:D  :)  :(  :|  (H)  :P  :$    *-)  ;)  :-.-:  :!:  :S  :!!:  [B01]  [B02]  [B03]  [B04]  [B05]  [B06]  [B07]  [B08]  [B09]  [B10]  [B11]  [B12]  [B13]  [B14]  [XP]  :XD  (Y)  (N)  :-O  :@  8o|  :-#  (L)  (U)  ^o)  |-)