ページ

2012年9月29日土曜日

Ubuntu で音楽CDをアレコレする その2

長くなったので分割。前半は大まかなCDのリッピングの流れについて説明しました。後半は具体的なやり方を書きたいと思います。

まず「Rubyripper」ですが、上級者なら自分でビルドしてインストール出来ますが、親切な方がUbuntu用にパッケージ化してくれているので今回はそちらを使用します。パッと見た所、PPAにもありますが私はPlayDebバージョンを使用しています。PlayDebを既に使っているからなので、使っていない人はPPAの単独パッケージ版の方が良いかもしれませんね。もしかしたらRubyripperとは別に手動で「Cdrdao」パッケージ等をインストールしないと駄目かも知れません。

Rubyripperの設定ですが判る範囲で説明すると「Secure Ripping」タブの「Cdrom device」でCDドライブの指定をします。通常は弄る必要は無いですが、後述する「CDEMU」を導入した場合、初期設定だと仮想ドライブが2つ増えます。

私の場合、SATA接続の物理ドライブが一台ですので、そのドライブが"/dev/cdrom"で、仮想ドライブが"/dev/cdrom1""/dev/cdrom2"といった形になっているようです。

「Cdrom offset」というのがCDドライブのオフセット値で、この値は物理ドライブによって変化します。私が使っているドライブは「DH40N」なので"+6"にセットします。この値は普通の人が測れるモノではないので、オフセット値が集められたウェブサイトのデータを使用します。たいていのCD・DVDドライブなら掲載されています。

次に「TOC analysis」タブですが「Create cuesheet」にチェックします。更に「RIP CD to single file」にもチェックするとリッピングしたファイルが単体のファイルとして生成されます。この.cueとflac(指定したコーデックによる)が2つで一つの仮想ディスクとなります。

次の「Codec」タブは、文字通りリッピングしたファイルをどのコーデックでエンコードするかの設定です。CDEMU経由で仮想ディスクとして認識させたい場合は「Flac」か「Wav」を選択して下さい。他の「Vorbis」等は、曲ごとにエンコードする場合や、仮想ディスクとしてではなく「Audacious」等のアプリの機能で単体ファイルをCueシートで分割する場合に使用します。この場合、再生できるかはアプリに依存しますので汎用性は落ちます。

次の「Freedb」ですが、デフォルトのままでも認識率は高いですが、日本のCDをリッピングする場合は「freedb 日本語」に切り替えた方が認識率は上がります。「freedb server」の欄を"http://freedbtest.dyndns.org:80/~cddb/cddbutf8.cgi"で置き換えて下さい。

Freedbですが、デフォルトのままでも十分日本語タイトルを認識出来ますので、まずはデフォルトのままで使用してみた下さい。上記で削除した"http://freedbtest.dyndns.org:80/~cddb/cddbutf8.cgi"ですが、何処にも詳しい説明がされていないので一度保留扱いにします。以前、どこかで見たのですが、今調べてもよく判らなかったもので……。

取り敢えず、基本的な設定はコレで出来たと思います。CDをセットして起動させると自動的にスキャンしてくれます。もしスキャン出来なければ、CDドライブの設定欄を見なおしてみて下さい。

「Rip CD Now!」ボタンを押すとリッピングが始まります。設定にもよりますが、かなり時間が掛かります。気長にお茶でも飲みながら待ちましょう。初期設定だと2回精査します。終わると自動でトレイが開くので外蓋を閉めないように注意しましょう:-P

全て上手く行くと指定したフォルダに「〜.flac」「〜.cue」「〜.log」の3つのファイルが出来上がっていると思います。このうち、.logは単なるログファイルなので実用上は無くても問題ありません。.flacと.cueが対となるファイルなので、大切に保存しましょう。

どのように使うかですが、Audaciousの場合、〜.cueを読みこませればFlacファイルとして認識してくれます。仮想ディスクとして使う場合はCDEMUに〜.cueを読みこませれば、通常のCDとして扱えるようになります。この場合は、Audaciousだけでなく、Rythmbox等でもCDとして認識できます。しかもwavファイルとして出力されますし。多分。

これで一応再生編は終了です。続いて仮想ディスクとしての応用編に入りたいと思います。CDEMUに読み込ませた.flacと.cueファイルをRubyripperに読み込ませます。

やり方は設定から「Cdrom device」欄を"/dev/cdrom1"あるいは"/dev/cdrom2"に変更します。この値は環境により変化するので詳細は自分で確かめて下さい。

この状態で"Scan Drive"ボタンを押すと、実CDと同じようにCDDBに問い合わせが行ってリッピング可能な状態になると思います。ただし仮想ディスクの場合、実ドライブで設定した「オフセット値」が変化しているので、「Cdrom offset」の値を"0"に変更します。

試しにコーデックをFlacにして1曲だけでリッピングしてエンコードしてみて下さい。この仮想ディスクからエンコードした音楽ファイルと実CDで同様に作成したFlacファイルで全く同じファイルが生成されると思います。

私が試してみた所、md5sumのハッシュが全く同じである事を確認しました。ちなみに仮想ディスクのオフセット値を"0"以外にしていると、md5sumのハッシュが異なってしまいます。

まぁここまで病的に拘る必要も無いとは思いますが、せっかく出来る設定なので一応書いてみました。ここまで書いておいてなんですが、これは素人のおっさんが適当に考えた方法なので、実際に合っているのかは全く判りません。また10月から施行される某法律では、暗号化されていない通常のCDをリッピングしても罪には問われないと思いますので、今後も使えるテクニックだと思います。

ただし、CCCDのように暗号化が成されている「CDもどき」は、厳密に言うと違法になるかもしれないので、来月からは注意が必要かもしれません……。正直、こんなクソ法案は通すべきじゃなかったと今でも思っていますが、今更どうしようもない事なのかもしれませんね……:-( さてと次はDVDについて書くつもりです。こちらはCCCDと同じで来月からは違法扱いになっていまいますしね……。て、書くだけなら犯罪じゃないですよね。少なくとも今月中なら……。

#追記
書き忘れてましたが、CDドライブのオフセット値は以下のウェブサイトで調べる事が出来ます。
http://www.accuraterip.com/driveoffsets.htm

#Picasa
AudaciousにCDを読み込ませた場合


AudaciousにリッピングしたFlacファイルをCueシートで読み込ませた場合
一番下の表示が"CD"から"Flac"に変化しています


AudaciousにCDEMUで仮想化したディスクを読み込ませた場合
下の表示がCDになっていますが、実ファイルはFlacです


Rubyripper


ドライブ名が"HL-DT-ST DVD-ROM DH40N NP01"と表記されています
オフセット値も"+6"で設定


リッピングには結構時間掛かります。この例では"410秒"+"411秒"と2回精査されています




実ドライブのオフセット値設定等。










出来上がったファイル


"CDEMU"に読み込ませた仮想ディスクをRubyripperに読み込んだ場合
"cdrom device"を仮想ドライブのパスに変更して"Cdrom offset"の値を"0"に変更する


ドライブ名が"HL-DT-ST DVD-ROM DH40N NP01"から"CDEmu Virt.CD/DVD-ROM 1.20"変更されています
オフセット値も"6"から"0"へ変更しています


MD5SUMの検証 上が実CDから直接リッピングしたFlacファイルで下が仮想ディスクからリッピングしたFlacファイル
一応一致しているようです:-P


#外部リンク
Ruby Ripper : Brandon Snider
https://launchpad.net/~brandonsnider/+archive/ruby-ripper

PlayDeb.net Beta - Welcome
http://www.playdeb.net/welcome/

PPA for CDEmu : “CDEmu” team
https://launchpad.net/~cdemu/+archive/ppa

Web Upd8: Ubuntu / Linux blog: Ubuntu PPAs By WebUpd8
http://www.webupd8.org/p/ubuntu-ppas-by-webupd8.html

freedb 日本語
http://freedbtest.dyndns.org/

Digital Audio Extraction
http://www.accuraterip.com/driveoffsets.htm

0 件のコメント:

コメントを投稿