傷がついたCDをiTunesとかでリッピングするとエラーになったり音飛びしまくったりするので、Linux上でCD Paranoiaを使ってリッピングしてLameでMP3に変換するという手順をよく遂行する。具体的な手順をよく忘れるので、メモっとく。
まず、CD ParanoiaとLameとeyeD3をインストールしておく。また、以下のコマンドをwav-convert.shとかいう名前で用意しておく。
#! /bin/sh lameopts="-h -b 192" # 音楽用のLameオプション #lameopts="-h -b 160 -m m" # 語学教材用のLameオプション count=1 stem="$1" shift album="$1" shift artist="$1" shift while [ $# -gt 0 ] ; do file=$1 shift echo $file done | sort | while read file ; do title=`printf "%s-%02d" "$stem" "$count"` outfile=`printf "%s-%02d.mp3" "$stem" "$count"` echo "converting $file to $outfile" count=$((count+1)) lame $lameopts "$file" "$outfile" eyeD3 --remove-all -A "$album" -a "$artist" -t "$title" --to-v2.3 "$outfile" done
アルバム毎の作業用ディレクトリを作る。ここでは ~/music/album-hogeとする。複数枚組のアルバムの場合でもディレクトリは1個でOK。
$ mkdir album-hoge $ cd album-hoge
そこで、CD Paranoiaをバッチモードで実行する。track01.cdda.wav、track02.cdda.wav、といったファイルがトラックごとに作られる。
$ cdparanoia -B
さきほどのwav-convert.shを実行する。第1引数はファイル名の接頭辞を指定する(通常はアルバム名と同じでよい)。第2引数はアルバム名を指定する。第3引数はアーティスト名を指定する。第4引数以降は、wavファイルのリストを指定する。
$ wav-convert.sh album-hoge album-hoge superman track*.wav
そうすると、album-hoge-01.mp3、album-hoge-02.mp3、といったファイルが作られる。うまくいっていたら、wavファイルを消す。
$ rm -f *.wav
複数枚組のアルバムの場合、cdparanoiaとwav-convertとrmの手順を一枚ごとに実行する。その際に接頭辞にalbum-hoge-01、album-hoge-02といった感じでディスク番号を付与しておく。
最後に、作業用ディレクトリごとMP3プレーヤにコピーする。
なぜ年の瀬にこんな面倒なことをしているかというと、クリスマスプレゼントにWALKMANを貰ったので、iTunesから乗り換えようと思ったからである。任意速度での再生ができてLinuxからマウントして曲データを転送できる筐体としてWALKMANを所望したのだ。でもって、昔にビットレート128kとかで作ったデータを192kとかでエンコードしなおそうと思ったわけだが、CDが結構傷ついていて多くのリッパーでうまく扱えないので、CD Paranoiaの出番というわけである。めんどくせーことこの上ない。