cd-paranoia(1)

名前
cd-paranoia (Paranoia release III libcdio) - オーディオ CD 読み取りユーティリティ。特別なデータ照合機能を持つ。

日付
バージョンIII リリースα9.6 (17 Aug 1999)

書式
cd-paranoia [options] span [outfile]

説明
cd-paranoia は CD-DA 機能を持つ CD-ROM ドライブからオーディオトラックを取り出しま す。このデータは WAV, AIFF, AIFF-C, raw 形式でファイルにセーブすること や、標準出力に送ることができます。ほとんどの ATAPI, SCSI, メーカー独自 の CD-ROM ドライブがサポートされています。 cd-paranoia は対象のドライブが CD-DA 機能を持っているかどうかを判別できます。

単純な読み取りだけでなく、 cd-paranoia は特別に頑健なデータ照合機能、同期機能、エラー処理機能、破損データの再 構成機能を持っています。

オプション

-v --verbose
    自動検出と読み取りの処理について、ばかばかしいほど冗長な表示を行います。 設定やデバッグの際に便利です。

-q --quiet
    読み取り処理の途中に、進行状況やエラー情報を全く表示しません。

-e --stderr-progress
    進行状況を(ラッパスクリプトのために)標準エラー出力に出力します。

-V --version
    プログラムのバージョンを表示して終了します。

-Q --query
    CD-ROM ドライブの自動検出を行い、CD-ROM の TOC の問い合わせと表示を行 い、終了します。

-s --search-for-drive
    たとえ /dev/cdrom のリンクが存在していても、CD-ROM ドライブの完全な 検索を行います。

-h --help
    cd-paranoia の使い方とオプションを簡単な説明を出力します。

-p --output-raw
    ヘッダ無しのデータをホストのバイト順で、インタリーブ処理を施した サンプル音声を含む raw 形式の 16 ビット PCM データとして出力します。 バイト順としてリトルエンディアンあるいはビッグエンディアンを指定するに は、後述の -r または -R オプションを使ってください。

-r --output-raw-little-endian
    ヘッダ無しのデータを LSB first のバイト順で、インタリーブ処理を施した サンプル音声を含む raw 形式の 16 ビット PCM データとして出力します。

-R --output-raw-big-endian
    ヘッダ無しのデータを MSB first のバイト順で、インタリーブ処理を施した サンプル音声を含む raw 形式の 16 ビット PCM データとして出力します。

-w --output-wav
    データを Micro$oft の RIFF WAV 形式で出力します(WAV データのバイト順は 必ず LSB first である点に注意)。

-f --output-aiff
    データを Apple の AIFF 形式で出力します(AIFC データのバイト順は必ず MSB first である点に注意)。

-a --output-aifc
    データを無圧縮 の Apple AIFF-C 形式で出力します(AIFF-C データのバイト 順は必ず MSB first である点に注意)。

-B --batch
    cdda2wav 形式のバッチ出力を行います。cd-paranoia は出力をトラック境界で 複数ファイルに分割します。出力ファイルのファイル名の先頭部分は、'track(番号)' となります。

-c --force-cdrom-little-endian
    一部の CD-ROM は間違ったエンディアンを報告します(あるいはエンディアン に関する情報を全く報告しません)。そのため、cd-paranoia がエンディアンを 間違えることがあります。ドライブをリトルエンディアンのデバイスとして cd-paranoia に扱わせるには、 -c オプションを使います。

-C --force-cdrom-big-endian
    前のオプションの逆で、デバイスをビッグエンディアンのデバイスとして cd-paranoia に扱わせます。

-n --force-default-sectors n
    インタフェースのバックエンドが行う最小単位の読み取りを、 1 回の読み取りごとに n セクタとします。この数は問題を起こすおそれがあります。カーネルは多くの 場合、読み取り要求を最小単位の読み取り(cd-paranoia による自動処理はこれ に対応しています)複数個に分割するか、制限された大きさの範囲でしか 読み取りを許可しません。 普通はこのオプションを使うべきではありません。

-d --force-cdrom-device device
    インタフェースのバックエンドによる読み取りを、最初に見つけた読み取り可 能な CD-ROM ドライブではなく、指定した device から行うようにします。このオプションでは、利用可能である任意の インタフェース(ATAPI, SCSI, メーカー独自)を持つデバイスを指定すること ができます。

-g --force-generic-device device
    このオプションは、SCSI CD-ROM と汎用デバイスの設定を明示的に別々に制御 したい時に -d オプションと組み合わせて使います。このオプションが役立つのは、SCSI の 設定が標準と異なる場合だけです。

-S --force-read-speed number
    CD ドライブからの読み込み速度を設定するには、このオプションを明示的に 使ってください(ドライブが対応している場合)。このオプションを用いると、 ディスクが遅い場合やメモリが少ない場合に起こるアンダーランを減らすこと ができます。

-Z --disable-paranoia
    データ照合と訂正機能を 無効にします。-Z オプションを用いると、cd-paranoia は オーバーラップの設定が 0 である cdda2wav と全く同じようにデータの 読み取りを行います。 このオプションを指定すると -W , -X , -Y オプションも有効になりますが、 -Z -W -X -Y と全く同じでは ありません。 なぜなら、 -W から -Z までのオプションにより照合のレベルが階層的に変わるからです。実際に有効 になるのは最後に指定したオプションだけです。

-Y --disable-extra-paranoia
    読み取ったデータの中間におけるデータ照合を行いません。つまり、 データの読み取り境界におけるオーバーラップ部分のチェックしか行いません。

-X --disable-scratch-detection
    照合の途中では傷の探査も行わず、傷に対して頑健な同期処理も行いません。 -X オプションを指定した場合、傷ついた CD を与えると cd-paranoia は読み取り の失敗を起こします。

-W --disable-scratch-repair
    傷を検出し、同期を保つ処理を行います。ただし壊れたデータの修復は行いま せん。ログファイルの出力を行うと( -i オプション)、全ての傷のフレーム位置がログファイルに出力されます。

出力される顔文字

:-) 正常動作。ジッタは少ないか、全くない

:-| 正常動作。ジッタは許容範囲

:-/ 読み取りでドリフトが発生

:-P 最小単位の読み取り操作において、報告されていない損失がストリーミングにある

8-| 繰り返して読み取りを行ったが、同じ位置で問題が起きた。修正は困難である

:-0 SCSI/ATAPI のデータ転送エラー

:-( 傷が検出された

;-( データの訂正をあきらめた

:^D 読み取り終了

進行表示の意味

<スペース>
    訂正は不要

-   ジッタの訂正が必要

+   報告されていない損失がストリーミングにある。あるいは別のエラーが読み取り 時に発生した

!   ステージ 1 訂正の後にエラーが見つかった。読み取りを複数回繰り返しても 同じエラーが発生し、cd-paranoia はそのエラーをうまく検出できない。

e   SCSI/ATAPI のデータ転送エラー(訂正済み)

V   訂正できないエラー/データのスキップ

引き数 'span'
引き数 span は、読み取りを行うトラックまたはトラックの一部を指定します。 この引き数は必ず必要です。 注意: span が単なる数字でなければ、シェルが引き数 span を展開してしまわない ようにクォートするのが普通でしょう。

引き数 span は、単なるトラック番号か、オフセットとスパンの組合せの指定 となります。オフセットとスパンの組合せを指定する方法は、だいたい以下の ようになります:

1[ww:xx:yy.zz]-2[aa:bb:cc.dd]

ここで 1 と 2 はトラック番号です。角括弧の中の数値は、指定されたトラック における、より細かいオフセット指定です。[aa:bb:cc.dd] は 「時間/分/秒/セクタ」の形式です。値が 0 であるフィールドは指定しなくて も構いません。つまり [::20], [:20], [20], [20.] 等は 20 秒と解釈され、 [10:] は 10 秒と解釈され、[.30] は 30 セクタと解釈されます(75 セクタで 1 秒です)。

オフセットを 1 つしか指定しなければ、これは開始位置のオフセットを表し、 吸い出しはそのトラックの終わりまで行われます。オフセットが 1 つだけあ り、その前後にハイフン(-)がある場合には、省略されているオフセットは ディスクの先頭あるいは末尾として解釈されます。例を以下に示します:

1:[20.35]
    トラック 1 の 20 秒、35 セクタの位置から、トラック 1 の末尾までを吸い 出します。

1:[20.35]-
    1[20.35] の位置からディスクの末尾までを吸い出します。

-2  ディスクの先頭からトラック 2 まで(トラック 2 も含みます)を吸い出します。

-2:[30.35]
    ディスクの先頭から 2:[30.35] の位置まで吸い出します。

2-4 トラック 2 の先頭からトラック 4 の末尾までを吸い出します。

繰り返しになりますが、角括弧および単語の先頭にあるハイフンは必ずクォート して、シェルに展開されないようにしてください。

指定例
クォートも含めた指定例をいくつか示します:

ドライブの調査だけを徹底的に行い、自動検出の結果を全て報告します:

       cd-paranoia -vsQ

ディスク全体を吸い出します。それぞれのトラックは別々のファイルにします:

       cd-paranoia -B "1-"

トラック 1 の時刻 0:30.12 から時刻 1:10.00 までを吸い出します:

       cd-paranoia "1[:30.12]-1[1:10]"

トラック 1 の時刻 0:30.12 から 1 分間のデータを吸い出します:

       cd-paranoia "1[:30.12]-[1:00]"

出力
出力ファイルを指定する引き数は省略可能です。指定されていなければ、 cd-paranoia はサンプル音声を cdda.wav, cdda.aifc, cdda.raw のいずれかに出力します。どのファイルに出力されるのかは、オプション -w, -a, -r,-R のうちいずれを使うかによって決まります(何も指定しなければ -w がデフォルト値です)。出力ファイルを指定する引き数が - ならば、出力は標準出力に対して行われます。どのデータ形式でもパイプに送 ることができます。

謝辞
cd-paranoia の基となったのは Heiko Eissfeldt さん (heiko@colossus.escape.de)が作成した 'cdda2wav' パッケージであり、 以前は cd-paranoia のインタフェースの大部分は cdda2wav からもらってきた ものでした。cdda2wav がなければ、cd-paranoia が作られることはなかったで しょう。

Joerg Schilling さんが作成した汎用 SCSI データ転送ライブラリから、SCSI の専門知識を多く学ばせていただきました。

作者
Monty <monty@xiph.org>

cdparanoia のホームページは以下の場所にあります:

http://www.xiph.org/paranoia/

libcdio のホームページは以下の場所にあります:

http://www.gnu.org/libcdio/