最近は音楽CDをパソコンに取り込む時に、アルバムをまとめて単一ファイルとして保存する方法が流行っているのですか?
Windows環境においてはcuesheetを利用した1CD1ファイルでの音楽ファイル管理がマニアの間では半ば常識となっている感があるけどなんて書いてあったりするし。「ファイル数が少なくてフォルダスッキリ」「CDにある曲間(プリギャップ?)の再現」が利点なのかな? 可逆圧縮と組み合わせる事が多い?
⇒ flac+cue [while(1)って恐くね?]
残念ながらLinuxにはWindowsのExact Audio Copy(EAC)みたいなソフトがないようです。それでも上の flac+cue [while(1)って恐くね?] を参考にして、下のようにすれば作ることができました。
$ cdrdao read-cd --device /dev/cdrom --datafile CDImage.bin CDImage.tocでもこれだと曲情報が皆無。何を再生しているのかプレイリストに表示されません。cdrdao には --with-cddb というオプションがあるにはあるのですが、日本語が文字化けします。仮に文字化けしなくても toc2cue コマンドでCUEに変換すると情報が消えちゃうし… ruby-freedb は RPM が無いので却下。
$ sox -t cdda CDImage.bin CDImage.wav
(sox: command not found なら yum or apt-get install sox)
$ toc2cue CDImage.toc CDImage.cue
$ sed -i 's/CDImage\.bin/CDImage\.wav/g' CDImage.cue
$ rm CDImage.bin CDImage.toc
それで、いろいろ考えたり検索したりして、以下のシェルスクリプトに落ち着きました。動作には sox の他に cueconvert(cuetools) が必要です。Fedora なら SeaMew RPMs(のくす牧場) のRHEL 5向けRPMを、Ubuntuなら apt-get install cuetools でインストール可能
#!/bin/bash # -*- Coding: utf-8-unix -*- # 音楽CDからWAVEとCUEシート作成 # ファイル上書きチェックしてないので注意 # CDDB サーバ http://freedbtest.dyndns.org/ cddb_server="freedbtest.dyndns.org:80:/~cddb/cddbutf8.cgi" cdrdao read-cd --device /dev/cdrom --with-cddb \ --cddb-servers "$cddb_server" --datafile CDImage.bin CDImage.toc sox -t cdda CDImage.bin CDImage.wav cueconvert -i toc -o cue CDImage.toc CDImage.cue # printf すると日本語の文字化けが直る printf "$(cat CDImage.cue)\n" | sed -e '/^MESSAGE/d' -e '/^$/d' \ -e 's/CDImage\.bin/CDImage\.wav/g' > CDImage.cue.tmp mv CDImage.cue.tmp CDImage.cue # ファイル名をTITLEと同じにする # やっつけ処理で上手くいかないかも TITLE=$(grep TITLE CDImage.cue | head -1 | egrep -o '".*"' | \ sed -e 's/^"//' -e 's/"$//' \ -e "y@\"\/\<\>\\\*\:\?\|@”/<>¥*:?|@") if [ "$TITLE" ]; then mv CDImage.wav "$TITLE".wav TITLE=$(echo -n "$TITLE" | sed 's/&/\\\&/g') sed "s/CDImage/$TITLE/g" CDImage.cue > "$TITLE".cue rm CDImage.bin CDImage.cue CDImage.toc else rm CDImage.bin CDImage.toc fi大した事してないし動くはず。それはそうと、上のように printf を通すと文字化けが解決します。なぜ直るかは不明
$ cat CDImage.cueとにかくこれでCUEシートが作れました。WindowsのEACと微妙に INDEX の値が違うけど気にしたら負けです。ドライブのオフセットとか追求しても気持ちの問題程度らしいし。
TITLE "\343\202\202\343\201\206\343\201\262\343\201\ ..."
PERFORMER "\346\243\256\345\217\243\345\215\232\345\255\220"
# printf "$(cat CDImage.cue)"
TITLE "もうひとつの未来 〜starry spirits〜"
PERFORMER "森口博子"
そのままだとサイズが大きいので圧縮するといい感じ
$ oggenc CDImage.wav -o CDImage.oggCUEの「FILE "ファイル名" WAVE」をそれぞれエンコードした名前に書き換えて完了。
$ lame CDImage.wav CDImage.mp3
$ flac CDImage.wav -o CDImage.flac
$ wavpack CDImage.wav -o CDImage.wv
$ ttaenc -e CDImage.wav -o CDImage.tta
$ mac CDImage.wav CDImage.ape -c2000
で、作ったのはいいけど再生はどうすれば?
また調べねば
≪続き≫
→ Linux で音楽ファイルの cue シート再生
≪追記 2008/02/21≫
abcde - A Better CD Encoderというプログラムがありました。
04:02 pm | コメントする |
1. code_air_edge (Website) 2008/01/03 23:45
ただし、再生時にCUEシートを反映してくれるだけで、ライブラリにはそのメディアファイルが1つ登録されるだけなので、Windowsのプレーヤーのような扱いはできないですね。
CUEシートの規格自体がWin向けですし、Linuxではあまり対応しているソフトは見かけないですね・・・。
2.
Sawa 2008/01/04 19:18
http://airedge.blog89.fc2.com/blog-date-20070916.html
を読んでました
>ライブラリにはそのメディアファイルが1つ登録されるだけ
これは分かりにくそうですね。
Linuxで一番先進的なamarokでもそうなんですか…
あ、でも「amarokだからこそ対応している、さすがamarok」と思うべきかも
3. NONAME 2008/01/05 11:06
事前にCueシートの文字コード変換が必要ですが・・・
そのほかの形式もWaveに変換すれば分割→mp3に変換できました。
4.
Sawa 2008/01/05 14:18
k3bとamarokは他の同種ソフトに比べて頭一つ抜けていますね。
5. モーマンタイ 2008/01/07 23:00
6.
Sawa 2008/01/08 00:39
今は再生する方法について調べてます