Unixで音楽CDのエンコード 続編
「Unixで音楽CDのエンコード - notes plastiques」を改善したので記しておく。
makefileを使うことにした。
あと、このサイトを参考にしてCDDBからトラック情報を読み込むようにした。
makefileはこれ。
TARGET = image DEVICE = /dev/cdrom .PHONY: all all: mp3 .PHONY: unmount unmount: sudo umount $(DEVICE) $(TARGET).bin: cdrdao read-cd --device $(DEVICE) --with-cddb --cddb-servers "freedbtest.dyndns.org:80:/~cddb/cddbutf8.cgi" --session 1 --datafile $(TARGET).bin $(TARGET).toc $(TARGET).toc: $(TARGET).bin $(TARGET).cue: $(TARGET).toc cueconvert -i toc -o cue $(TARGET).toc $(TARGET).orig.cue printf "`cat $(TARGET).orig.cue`" > $(TARGET).cue # toc2cue $(TARGET).toc $(TARGET).cue $(TARGET).wav: $(TARGET).bin dd if=$(TARGET).bin of=$(TARGET).wav conv=swab $(TARGET).mp3: $(TARGET).bin lame -b 32 -B 256 -v -V 3 -q 0 -k --verbose -r --big-endian $(TARGET).bin $(TARGET).mp3 .PHONY: mp3 mp3: $(TARGET).mp3 $(TARGET).cue mp3splt -T 2 -f -o "@n2 - @t" -c $(TARGET).cue $(TARGET).mp3
これでmakeと打てばCD読み込みからmp3作成まで自動で行ってくれる。ただし、CDDBに情報がない場合はトラック情報は書き込まれないので注意。
「Unixで音楽CDのエンコード - notes plastiques」も参考に。
追記 7/4: CDDBに無いCDは、Windows上でvuplayerを使ってGracenoteから情報を取得して、CDPlayer.iniに書き込み、CDexを使ってCDDBに送信するという方法も良いかもしれない。その後は上の方法で自動的に。