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