CUE Sheet 與 CDDB protocol

昨天我說,也許有機會用 CUE 去 freedb 查詢專輯的 meta data,再順手加上 BOM 以及 UTF-8 編碼,不過看來是我太天真了。

根據 Cue sheet 以及 EAC and Cue Sheets 這兩篇文章的說明,我們根本無法從 CUE Sheet 得到整張專輯的「總時數」,而只能看到每一首歌的開始時間、Gap 等資訊,所以這樣推算起來,我們除了最後一首歌的時間之外,都可以從 CUE 檔得知。(題外話:INDEX 的格式是 1:60:60:75,非常不直覺)

CDDB protocol 在送出查詢時必須計算 discid(這有時候也會出現在 cue sheet 裡面),他的計算方式我就不贅述了,有興趣的可以去翻 Wikipedia 的 CDDB。但是 discid 並不是獨特的(Unique),所以在查詢的時候除了加上 discid 之外,還必須把專輯歌數、每一首歌的長度、專輯播放總時數帶進去,而這個 request 就能夠很快地查詢到對應的專輯名稱

cddb query discid ntrks off1 off2 … nsecs

之後再進一步查詢指定的曲目資訊

cddb read categ discid

所以沒有 nsecs (Total playing length of CD in seconds.),就沒有辦法送出一個有效的 CDDB request 了,所以就算了,我今天晚上就可以看 HBO 播的 Music and Lyrics,然後明天又要上班了(死)。

abcde

因為在實驗室的時間太多,所以都沒有時間回寢室轉mp3,要不然我以前習慣用 EAClame 來轉mp3。

剛好我身邊有一台空的FreeBSD,也剛好就發現了這個取名叫「abcde」的ports。

abcde 全名為 A Better CD Encoder,下面是 freshports 對他的一些描述。

abcde (A Better CD Encoder) is a frontend sh script to rip tracks from a CD, encode them in ogg vorbis or mp3 format, and tag them.

Rippers supported: cdparanoia, cdda2wav, dagrab
Encoders supported: bladeenc, gogo, flac, l3enc, lame, mp3enc, oggenc, speex, vorbize, xingmp3enc
ID3 taggers supported: id3, id3v2
Other: vorbiscomment, distmp3, normalize

Many other useful features are supported.

對我而言很方便的設定有幾個:

1. CDDB: 再配合 iconv 應該就無敵了吧 :p
2. 自訂輸出格式: 像是,OUTPUTFORMAT=’${ALBUMFILE}/${TRACKFILE}’
3. Rip的品質:也許只是設好看的 XD

而對我而言,這樣的軟體是最好的,沒有多餘的介面,單純的 Fronter,幫你叫 encoder 和 ripper 起來、更名好檔名、存一份 playlist。

所以我要慢慢去享受音樂啦,順便說一下 NANA 電影版的插曲很不錯呢,不管是中島美嘉的GLAMOROUS SKY,或是伊藤由奈 (REIRA starring YUNA ITO) 的 ENDLESS STORY 都很讚啊。

對了,GLAMOROUS SKY 是 L’Arc~en~Ciel 的 HYDE 譜曲歐。