2012/04/13

Audio CDから直接mp3にエンコード

知人からCDを数十枚預かりました。iPhoneに入れたいのだけど、枚数が多くて面倒になったとか。。。

預かったのが、仕事が忙しかった時期なので数週間放置してしまいましたが、そろそろマズいかなー?と思って、mp3エンコード用のスクリプトをpythonで作ってみました。

使い方は、これだけ。
rip -d /media/cdrom -o music/album

これで、mp3がmusic/albumディレクトリに生成されます。
いくつかオプションも用意されていて、-hで表示されます。
-oで出力先ディレクトリを指定しなければ、カレントディレクトリにmp3が生成されます。

https://docs.google.com/open?id=0By0Jpi03LH1HN0ltd0FteG5BTmM
上のリンク先がスクリプトファイルになっています。
適当な名前で保存して、実効ビットをセットするか、pythonインタープリタから呼び出すことで使用します。

目的が限定されていたのでやっつけスクリプトですが、改造すれば汎用になるかも。
いまのところ、
・エラートラップは無し
・生成されるファイル名は、トラック番号+CDDBから取得したトラックタイトル.mp3 になる
・CDDBから取得した情報をtoc.jsonという名前のファイルとして書き出せる。
・エンコードしたファイルにID3タグを自動で書き込める
・デバイスは指定できるけど、処理が不完全。
というような仕様になってます。

動作にはpython-2.7、python-id3、python-cddb、cdparanoia、lameが必要になります。
Ubuntuの10.04上で作成したので、それ以降の環境ならパッケージは揃うと思います。