音楽 CD を作成する

ライブの生演奏録音やカセットテープなどの, 外部のソースから音楽 CD を作成する方法.

作業環境

Hardware

Software

WAV ファイルの作成

外部から入力されるソースを, サウンドカードを介して WAV ファイルに録音する. サウンドカードの LINECAPTURE を録音可能に設定し ( alsamixer または amixer を使用 ) 値を適当に設定する. この際,録音レベルに注意する. クリップしないように,少し低めに設定しておいて, 後で音量を調整 ( ノーマライズ ) する.

例えば,次のようにしてちょうどいい録音レベルを設定する. 入力ソースの一番音量の大きそうな部分を再生し, テスト録音してみる.

$ ecasound -i:/dev/dsp -t:5 -o:test.wav

これで test.wav に 5 秒間録音される. そして test.wav の録音レベルをチェックする.

$ ecasound -i:test.wav -o:null -ev
・・・
Neg   -2.0 dB:   0,0.000%                0,0.000%
Neg   -1.0 dB:   0,0.000%                0,0.000%
(audiofx) Peak amplitude, period: pos=0.39253 neg=0.43314.
(audiofx) Peak amplitude, all   : pos=0.39253 neg=0.43314.
(audiofx) Clipped samples, period: pos=0 neg=0.
(audiofx) Clipped samples, all   : pos=0 neg=0.
(audiofx) Max gain without clipping, all: 2.30874.
(audiofx) -- End of statistics --------------------------------

下から 2 行目の all の値が 1.0 以上になるように,カットアンドトライで調整する.

録音レベルの調整が済んだら,WAV ファイルに録音する. この場合は 2800 秒間録音する.

$ ecasound -i:/dev/dsp -o:orig.wav -t:2800

外部のソースを WAV ファイルに録音したら, WAV ファイルの音量が最大になるように調整する(ノーマライズする). 前と同じように,-ev オプションを指定して ecasound を実行し,クリップしないで上げられる音量の最大値を調べる.

$ ecasound -i:orig.wav -o:null -ev
・・・
Neg   -2.0 dB:   53,0.000%               14,0.000%
Neg   -1.0 dB:   0,0.000%                0,0.000%
(audiofx) Peak amplitude, period: pos=0.79147 neg=0.81982.
(audiofx) Peak amplitude, all   : pos=0.79147 neg=0.81982.
(audiofx) Clipped samples, period: pos=0 neg=0.
(audiofx) Clipped samples, all   : pos=0 neg=0.
(audiofx) Max gain without clipping, all: 1.21977.
(audiofx) -- End of statistics --------------------------------

下から 2 行目の all の値を百分率に変換し, -ea オプションの引数として指定する.

$ ecasound -i:orig.wav -ea:120 -o:res.wav

これで,作成する CD の元となる WAV ファイルの作成は完了.

TOC ファイルの作成

Cdrdao を用いて WAV ファイルから CD を作成するためには, TOC ファイルを作成する必要がある. TOC ファイルを用いたトラック分けの例を以下に示す.

CD_DA

// Track 1 - The Four Horsemen [0:00:00 - 6:24:00]
TRACK AUDIO
FILE "res.wav" 0 6:24:00

// Track 2 - Cliff Burton - Solo [6:24:00 - 10:43:00]
TRACK AUDIO
FILE "res.wav" 6:24:00 4:19:00

// Track 3 - For Whom the Bell Tolls [10:43:00 - 15:12:00]

・・・

// Track 10 - Metal Up Your Ass [41:55:00 - end]
TRACK AUDIO
FILE "res.wav" 41:55:00

ファイルの先頭に CD_DA と記述する. // はコメントである. FILE の行の書式は以下の通りである.

FILE "res.wav" start_position length

length を省略すると,res.wav の最後までがそのトラックになる.

start_positionlength を 手動で計算すると間違えやすいので, cccd.pl のような Perl スクリプトを用意して, 動的に TOC ファイルを作成すると確実であろう.

CD への焼き込み

作成した TOC ファイルを元に,CD-R に焼き込む.

Cdrdao は ATAPI ドライブに対応していないので, ATAPI の CD-R ドライブを使用するためには ide-scsi モジュールを組み込む必要がある. Linux をブートする時に,カーネルのパラメータとして hdc=ide-scsi のように,CD-R デバイスに ide-scsi を指定する.
[ 追記 : Cdrdao のサイトをチェックしてみたら, ATAPI CD-R ドライブがサポートされた 1.1.8 がリリースされていた ]

CD-R ドライブがどのデバイスに繋っているのかを調査. root で実行しないとデバイスにアクセスできないことがある.

# cdrdao scanbus
Cdrdao version 1.1.7 - (C) Andreas Mueller <andreas@daneb.de>
  SCSI interface library - (C) Joerg Schilling
  Paranoia DAE library - (C) Monty

Check http://cdrdao.sourceforge.net/drives.html#dt for current driver tables.

Using libscg version 'andreas-0.5-UNIXWARE_Patch'

0,0,0: TOSHIBA, DVD-ROM SD-R1312, 1011

0,0,0 に繋がっていることがわかる.この結果を元に,焼き込む.

# cdrdao write --device 0,0,0 --driver generic-mmc tocfile.toc

焼き込みテストをしたい場合は,write コマンドを simulate に置き換える.


viusulce@hotmail.com
Last modified: Mon Mar 29 11:40:16 JST 2004