BBS水木清华站∶精华区

 
如何做出 Linux 下的 cdda2wav 呢? 
 
---------------------------------------------------------------------------- 
 
想要做 MP3 档, 就要先有 wav 档, 如果想在 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 的目录常常变更结构是众 
   所皆知的事情. 试著去改成下面的设定看看 : 
 
   #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. 

BBS水木清华站∶精华区