如何做出 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.