新しい音楽メディアとしてCDが登場したのが1983年。今年で実に27年になります。生まれたときには既に身の回りにCDがあった人たちがすでに27歳になっているということも衝撃的ではありますが,ともあれお茶の間に「デジタル」という言葉とその先進性を持ち込んだ,記念すべきメディアであることは,改めて書く必要もありません。
そのCDは,かつてのアナログメディアの欠点をことごとく克服したことでも「明るい未来」を印象づけたものであったのですが,その1つに寿命が半永久的,というものがありました。
かつてのレコードは針が溝の上をなぞっていく仕組みなので,接触している以上寿命は有限であることは誰の目にもわかりやすかったのですが,CDはレーザーで信号を読み取る非接触型なので,接触することが原因で起こる劣化は,なるほど「ない」といえるわけです。
しかし,子供でも分かることですが,形あるものはいつか壊れる,CDについても例外はありません。大事に保存しておいても,酸化,分解,という形で壊れていくものです。
CDは誕生してまだわずか27年です。加速試験という方法で十分な長さの寿命を確認しているのは確かですが,どんなに古いCDでも27年以上の時間を経過したものは存在しないわけですから,これから先,一日一日が劣化との闘いになるように思います。
実際に,すでに古いCDは大事に保管してあっても破損して読めなくなっていると言う話も耳にします。多くは反射層のアルミの蒸着の剥がれ,によるものだそうで,こうなるともう復活させる方法はありません。
ついでにいうと,CDはそのアルミの蒸着が薄い保護膜で覆われているだけで,ほとんど露出に近い状態になっています。危なっかしいといつも思っているのですが,これがDVDだと貼り合わせという構造のおかげで,反射層が露出していません。反りにも強く,製造が大変というかつての欠点が克服された現在,なかなか理想的なメディアであると個人的には思います。
話が逸れましたが,私が初めてのCDを購入したのが1987年。ですので今年で23年が経過しています。中古で買ったものを含めると,最古のものは25年が経過しているものもあるはずです。
温度や湿度,光やガスなどの環境要因が多く懸念される私の住環境において,すでに劣化しているCDがあってもおかしくなく,それはもう刻一刻と現実のものになっているのではないか,という危機感がここ数年ありました。
劣化したCDは工業製品ですので,また買い直せばいいように思うのですが,一方で著作物であるという性格上,廃盤になっているとお金の問題ではなくなります。私に限らず,大多数の方はCDという入れ物に入った中身に対してお金を払っているわけですから,器が壊れてしまう前に中身をきちんと保存しておく必要があります。
そこでCDのバックアップを真面目に考えるようになりました。ディスクイメージで保存しておけば,オリジナルが劣化して失われても,CD-Rに復元することが可能になります。
ところが,音楽CD(以後CD-DAと書きます)は,CD-ROMと違って完全なディスクイメージを作る事は難しいのです。
1つには,CD-ROMに比べてエラーの発生率が高いこと。音楽のような連続したデータは仮にデータが訂正できずに誤っていても,前後のデータの平均を取ればそんなに外すことはありませんが,CD-ROMのような用途では1つ違っただけでもまずいわけで,元々強力だったエラー訂正能力をさらに高めてあります。
もう1つは,これは実験するとわかった,という話で,理由は諸説あるし,私もなにが正解なのかよく分かりませんが,ディスクの先頭と末尾のデータの位置が,読み出すドライブによって異なる,というものです。
これはオフセットという言葉で知られている話なのですが,正しい位置より前で読み出しても全体にずれるだけで問題なし,正しい位置より後ろで読み出してもほとんどの場合読めなかった部分は無音区間ですから,別に音楽として失われるものはありません。
しかし,あるアドレスに入っている値を2つのドライブで比べてみると,全く異なる場合があるということになりますし,ごく希なケースとして先頭や末尾が無音でないようなCDの場合は,データがわずかとはいえ欠損してしまうわけですから,果たしてそれで正しく読み出せたことになるのかどうか,と聞かれればNoでしょう。
もともとファイルシステムを持たず,連続したデータを実時間で取り出すことだけを考えて作られたCD-DAを,ファイルという形にパックして実時間に従わない形で扱おうというのですから,リッピングというのはいわばPCを使ってマイクで音を録音する行為と同じといってよく,アドレスがずれたり無音区間の長さが少し違ったりするのは当たり前で,気にすることなどないようにも思うのですが,やはり気持ち悪いのは確かです。
余談ですが,このオフセットが発生する原因について,よく言われているのがCD-ROMにはアドレス情報があり,CD-DAにはアドレス情報がない,というのがあります。確かにCD-ROMの場合,セクタから読み出すデータの中にアドレスが書き込まれていて原理的には,データと同時にアドレスを読み出す事も可能です。
しかし,CD-DAにアドレスがない,というのは誤りで,サブコードのQチャネルに書き込まれた1曲目の先頭位置からの経過時間がアドレスとなります。そしてCD-ROMのセクタに書き込まれたアドレスというのは,この経過時間と同じ値です。
1曲目の先頭の位置をどこにするかがドライブごとに違う,と言う意見もあります。1曲目の先頭位置からの経過時間がすなわちアドレスなので,先頭位置がずれればずれた分だけアドレスもずれるというのがその根拠のようですが,残念ながらCD-DAの場合でもQチャネルに書かれた経過時間の値そのものは変化しませんので,そのアドレスに書かれたデータは1つしかありません。
また,CD-ROMのセクタには同期用の情報が書き込まれているが,CD-DAにはこれがない,という意見もあります。確かにその通りで,なかなか説得力もあります。CD-ROMの仕様が策定される際に必要がなければ追加されることはなかっただろうと考えると,これはちょっと否定しにくいです。
信号処理,特に複数ブロックの読み出しが必要なC2エラーの訂正にかかる時間だけデータの出力が遅れるのが原因という意見もありました。だからドライブのメカの違いではなく,使っている信号処理LSIによってオフセットの値が変わるのだ,と言う主張です。
これも説得力があります。前述のようにオフセットには個体差はなく,同一型番のドライブなら同じオフセット値を取りますし,違う型番でも同じ信号処理LSIが使われているとまったく同じ値になりますから,少なくともオフセットはバラツキで偶然発生するのではなく,発生するべくして論理的に発生しているようです。
そこで話を少し前に戻します。CD-ROMの場合,エラー訂正を行った後のデータの中にも,アドレス情報と同期用のデータが含まれています。CD-ROMデコーダLSIは,データと共にそのデータのアドレスも正確に把握出来るようになっています。
しかし,CD-DAの場合,アドレス情報についてはサブコードに書かれていますし,同期もテラー訂正前に取られることになるので,含めてエラー訂正前のアドレスしか残っていません。
ですから,もしもエラー訂正に時間がかかってしまうと,同期もずれるしアドレス情報も狂ってしまうことになるはずです。
オフセットがゼロのドライブもあるので,これらは処理時間がゼロなのか,というとそういうことではなく,処理時間を含んだ形でデータを出力するようにすれば解決します。
起きている状況から考えて,CD-ROMでは正確である必要はあっても,音楽再生ではオフセットをゼロにする必要はないということから,リッピングの場合も再生された音楽のデータがオフセットを持ったまま出てくるようになっている,という風に考えた方が良さそうです。そして,オフセットゼロのドライブは,特別なケアを施してデータの同期を取ることで,リッピングの性能にこだわっているということでしょう。
つまり,CD-DAにおいてもオフセットゼロにすることは可能なのだが,多くのドライブは音楽用のCDプレイヤーがそうであるように,オフセットをゼロにすることは面倒なのでやってません,ということになるというのが,私の結論です。
さて,リッピングのためのソフトはオフセットをきちんと管理できるExact Audio Copy,通称EACを使う事にします。
ドライブは,安かったと言う理由で購入した日立LGのGH20NS10を試してみようと思ったのですが,これは+637サンプルのリードオフセットと,+30サンプルのライトオフセットがあります。
ところが,EACにこれらを設定し,リッピングして読み出したデータをCD-RWに書き込みリッピングし,オリジナルのデータとCD-RWのデータを比較すると一致しないのです。
悔しいので徹底的に調べて見ることにしました。
まず,先頭と末尾がゼロではないPCMデータをつくります。そしてこのデータをCD-RWに焼き,CD-DAを作ります。
これをリッピングして,バイナリエディタで調べてきます。検証はノートPCに内蔵されていたパナソニックのUJ-852Sで行いました。UJ-852Sは,リードオフセットが+72,ライトオフセットが+60です。
結果,このドライブでリッピングすると,先頭は完全一致しますが,末尾は72サンプル分のゼロが追加されていました。データの欠損はありませんが,データのサイズが72サンプル分だけ大きくなってしまいました。
欠損がないので問題ないといえなくはないのですが,問題は書き込みです。このCDを作る際に,CDRDAOを経由すると,ライトオフセットである+60サンプル分だけ,先頭がゼロで上書きされてしまいました。
先頭の60サンプルなど普通のCD-DAは無音部分ですので,別にゼロが上書きされても実害のないのがほとんどだと思いますが,実際に今回のCD-RWをリッピングすると,オリジナルとは異なるデータ列になる事がわかります。
むしろこれが問題です。私の持っているドライブで一番新しいGH20NS10はCDRDAOを経由せねば書き込みが出来ません。だから,ドライブを使った場合に考えられるのは,リード時は末尾に637サンプル分のゼロが追加され,ライト時は先頭の30サンプルがゼロで上書きされるのです。
そこで,数年前に購入してほとんど出番のなかった,プレクスターのPX-W5224Aを引っ張り出します。オーディオ性能が高く,1万円程度で買える廉価版であり,しかもCD-Rドライブの最終世代という事で買うことにしたものですが,ほとんど使わずにいました。
このドライブは,リードもライトもオフセットはゼロです。本当かと思って先のPCMファイルで調べると,確かにオフセットはなく,このデータをライトしたCD-RWをリッピングしたデータと,オリジナルとを比較すると完全一致します。
ということで,リッピングはPX-W5224Aを使う事にします。
さて,あとは圧縮をどうするか,と言う話になりますが,ロスレスのコーデックから,最も標準的であり,オープンソースで,バージョン間の互換性も高いとされ,様々なプラットフォームで動作するFLACを使う事にしました。
FLACは圧縮率も高くありませんし,エンコードも高速ではありませんが,ソースが非公開だったり使っている人が少ない,あるいは現在も開発中というソフトだったりすると,いざというときデコードできる環境がなくなっていて困り果てることもあるかも知れません。なんとかFLACを使いこなしてみましょう。
まず,圧縮率と速度の関係です。FLACは-0から-8までのオプションで,圧縮率を選ぶことができます。最高圧縮率の8では速度が随分遅くなるのですが,ならいくらならいいかを調べる必要があります。
そこで,ある音楽をリッピングしたファイルを用意し,これを実際にエンコードしてみます。結果は以下のようになりました。
-8 12.14秒 圧縮率0.652
-8 -V 13.56秒
-7 8.75秒 圧縮率0.655
-7 -V 10.04秒
-6 3.85秒 圧縮率0.655
-6 -V 5.01秒
-5 3.57秒 圧縮率0.655
-5 -V 4.76秒
-4 2.87秒 圧縮率0.660
-4 -V 4.15秒
-3 2.44秒 圧縮率0.673
-3 -V 3.48秒
-2 2.66秒 圧縮率0.695
-2 -V 3.71秒
-1 2.42秒 圧縮率0.700
-1 -V 3.41秒
-0 2.24秒 圧縮率0.709
-0 -V 3.26秒
-Vというオプションはベリファイを行うオプションで,エンコード時にデコードも行い,データの一致を確認するオプションです。
これを見ると,-7と-8の間でわずか0.2%しか違わないのに,時間は1.4倍も増えています。割が合いません。しかも-7から-5まで同じ圧縮率なのに,時間は1.8倍も差があります。こちらも割が合いません。
-4になると0.5%の差がありますが,時間は1.3倍になり,随分状況が変わってきます。-3では1.3%の差が1.18倍に時間差になっています。実は-2では時間がかえって増えてしまうという結果が出てしまい,あまりあてにならない数字になってしまいました。ディスクキャッシュの関係ではないかと思っています。
まあ,どのみち-2などは圧縮率の関係で使うつもりはありませんので無視させていただき,一番リーズナブルな感じがする-4を選ぼうかと思ったのですが,なにせファイルのサイズもあまり大きいもので試したわけではなく,圧縮率も出来るだけ小さい方がいいなあと思っているので,ここは-5あたりを選ぶことにします。
実は-5というのはデフォルトの設定値であり,なるほどこのあたりが一番おいしいということなのでしょう。でももし,CD300枚をリッピングする時にファイルサイズが5%違ってくると,最終的には1.1GBも違ってきます。悩ましいところですが,
あと,-Vオプションを使うかどうかですが,-5で1.3倍も時間がかかっています。ほとんどの場合,ベリファイをしなくても問題がないことを考えると,安心代として3割増しというのはちょっと高すぎる気がするので,やっぱり使わないことにします。
あとは大きめのハードディスクを調達するだけで準備はOKです。
しかし,多くのCDを全部リッピングするには,随分と時間がかかることでしょう。そこまでして価値がどのくらいあるのか疑問ではありますが,お金では解決しない問題ですので,辛抱してやり遂げようと思います。