Linux MP3 CD Burning mini-HOWTO Greg Wierzchowski
greg.wierzchowski@usa.net
千絵 中谷 日本語翻訳
jeanne@mbox.kyoto-inet.or.jp
2001-05-29 MP3 ファイルからオーディオ CD を作成するための完全レシピ 1.5 2001-11-19 GW Fixed omission in Disc-At-Once burning section. 1.4 2001-11-17 GW Added Disc-At-Once burning section. 1.3 2001-09-02 GW Added another example of decoding MP3 files with lame. 1.2 2001-07-12 GW Minor layout changes; Added Translations subsection into Credits. 1.1 2001-06-12 GW Minor cleanup; Regexp fix for MP3 to WAV name conversion example. 1.0 2001-05-29 GW Initial Release. MP3 CD audio recording burning WAV music
<!--Introduction-->はじめに インターネット上ではサウンドを標準化する具体的な情報がほとんどないので、 音楽 CD を焼いてきた私の経験をふまえて、この mini-HOWTO を作成しました。 私はいつもいろいろなところから集めてきたさまざまな曲を取りまとめて音楽 CD を焼きます。曲ごとのボリュームレベルはしばしば実にさまざまです。これ が最初にぶつかった問題でした。さらには、インターネット上の多くのファイル は CD 互換(16 ビット、ステレオ、44.1 kHz)ではないので、変換してやらなけ ればなりません。MP3 ファイルから音楽 CD を焼くプログラムにはいろいろなも のがありますが、ほとんどのものは透過的に変換します。しかし、その際にボ リュームを標準化するのも一緒に行ってくれる単一ツールは見たことがありません ので、私は自分の CD を焼くレシピを書くことにしました。 この文書では、さまざまな場所のソース、音質もすべてばらばらの状態で入手し た音楽曲のコレクションから CD を焼こうとしていて、しかもできるだけ最良の 音質の CD を得たいと思っている方を対象にしています。この mini-HOWTO はお 役に立てるかもしれない方法のあらましを述べています。
<!--Preparing the Tracks-->トラックを用意する <!--Note-->注意すべてのコマンドは bash シェルを想定しています。 すべての MP3 ファイルをひとつのディレクトリに集めます。 ファイル名に空白があるなら、最初に空白をアンダーラインに変更してやります for i in *.mp3; do mv "$i" `echo $i | tr ' ' '_'`; done 次に示すコマンドで WAV ファイルに変換します。 for i in *.mp3; do mpg123 -w `basename $i .mp3`.wav $i; done Mpg123 はどの Linux ディストリビューションにも入っ ているはずですが、手もとにないなら、http://www.mpg123.de/ から入手できま す。 注意:ある種の MP3 ファイルは、mpg123 出力にひずみ がでることがありますので注意してください。最初、私はそのファイルがおかしいの だと考えていましたが、別のプレイヤーで調べたところ問題はありませんでした。 そこで、ディスクに WAV ファイルを書き出せる別の MP3 プレイヤーを探してみた ところ、次のようなものを見つけました。 http://www.mars.org/home/rob/proj/mpeg/ にある MAD mp3 デコーダーです。次のようなコマンド を使います。 for i in *.mp3; do madplay -o `basename $i .mp3`.wav $i; done さらに別の方法もあります。見たところいくつかの mp3 ファイルは mpg123madplay の両者でデコード トラブルを起こします。lame エンコーダにはデコード機能 があり、それらのファイルでもうまく扱えるようです。 (lamehttp://www.mp3dev.org/mp3/ にあ ります)。 for i in *.mp3; do lame --decode $i `basename $i .mp3`.wav; done 注意:`basename $i .mp3`.wav という コマンドは、 MP3 拡張子を WAV で置き換えます。 さまざまな実行方法がありますが、ここでは一例を示しておきます。 `echo "$1" | sed 's/\.mp3$/.wav/'` "file *.wav" を実行し、16 ビット、 ステレオ 44100 Hz とは異なるファイルに対する出力をチェックします。 違った特性を持つファイルがあるなら、上述した方法でそれらファイルを 変換します。たとえば、track01.wav というファイルを変換してサンプルレート 44.1 kHz になるようにするには次のようにします。 sox track01.wav -r 44100 track01-new.wav resample Sox はとても一般的なもので、 どのような Linux ディストリビューションにもデフォルトでインストールされているでしょう。 また次のところでも入手できます。http://www.spies.com/Sox/ しかし、 私のようなお気軽ユーザにはコマンドオプションはちょっと暗号のように思えま す。sox をうまく使うには http://www.spies.com/Sox/sox.tips.html を見てください。 音量の極端な違いを避けるには、WAV ファイルを標準化します。私 は Chris Vaill (cvaill@cs.columbia.edu) の normalizeというプログラムを使っています。http://www.cs.columbia.edu/~cvaill/normalize/ で入手できます。 私は次のような構文を使っています( -m は mix モードで、すべてのファイル はできるだけ大きな音になるはずです) normalize -m *.wav
<!--Burning Your CD--> CD を焼く WAV ファイルから CD を作成するプログラムはたくさんあります。私は、コマン ドラインでは cdrecordを使い、gui では XCDROASTを使っています。cdrecord では、お使いの CD-writer が、どの SCSI デバイスを使うかを知らなければいけません。ATAPI ライターを使っているなら、SCSI エミュレーション(カーネルモジュール ide-scsi) を使います。お使いの ATAPI cdwriter が二つ目の IDE バスにマス ターとして接続されていると仮定します。その場合、 /dev/hdcデバイスファイルになります。それを SCSI デ バイスとして扱いたいとカーネルに伝えるには、 /etc/lilo.conf に次のような行を加えます。 append=" hdc=ide-scsi" また、カーネルが自動的に ide-scsi モジュールをロードしないなら、 rc.local (あるいは環境設定ファイル)に insmod ide-scsiを加えます。一旦 CD-writer を SCSI デ バイスとして認識させられたなら、cdrecord に与える "dev" パラメータが何か を見つけるためにcdrecord --scanbusを実行します。私の システムでは、次に示すようなものを出力します。 scsibus1: 1,0,0 100) 'IOMEGA ' 'ZIP 250 ' '51.G' Removable Disk 1,1,0 101) 'HP ' 'CD-Writer+ 7100 ' '3.01' Removable CD-ROM そこで、 cdrecordのコマンドはデバイスを定義するための dev=1,1,0を含むことになります。私のシステムでの完全な コマンドを示します。 cdrecord dev=1,1,0 -eject speed=2 -pad -audio *.wav <!--NOTE-->注意: -pad 引数は必要です。なぜなら CD 上のオーディオトラックはすべて適切なデー タ長に調整される必要があるからです。mp3ファイルでは必ずしもこうはなって いません。
<!--Burning a DAO CD-->DAO(Disc-At-Once) CD を焼く DAO とは Disc-At-Once の略ですが、これは、現在、トラック間で 2 秒の休止 を入れずに CD を焼く唯一の方法です。パーティ用の CD を焼くには良い方法 です。DAO モードで CD を焼くプログラムは cdrdaoで、 SourceForge から入手できます。http://sourceforge.net/projects/cdrdao/ cdrdaoプログラムは TOC(もちろん 目次(Table Of Contents))と呼ばれる設定ファイルを使います。このようなファ イルを作るにはふたつの方法があります。第一は、cdrdao ソース(contribというディレクトリに、 generate_toc.shというファイルがあります)に含まれて配 付されているシェルスクリプトを使う方法です。変数として .wavファイルのリストを使い、 cd.tocを生成します。 もうひとつの方法は、お好みのテキストエディタで自分でそのようなファイルを 作る方法です。私が使っているものを示しておきます。 CD_DA TRACK AUDIO AUDIOFILE "mix-01.wav" 0 TRACK AUDIO AUDIOFILE "mix-02.wav" 0 TRACK AUDIO AUDIOFILE "mix-03.wav" 0 TRACK AUDIO AUDIOFILE "mix-04.wav" 0 TRACK AUDIO AUDIOFILE "mix-05.wav" 0 wave ファイルの名前の後ろにある0(ゼロ)はファイルの 初めから始めることを意味しています。ファイルの長さ(タイム)を指定するための 第二の数字を置くことができます。xcdroastも同 じようなTOCファイルを作りますし、 cdrdaoソースの testtocs ディレ クトリにも例があります。 cdrdaoはデフォルトでデバイス /dev/cdrecorder を使いますが、これは cdwriter デバイスに リンクしていなければなりません。お使いの cd recorder デバイスが /dev/scd0なら、次のように( root で)リンクを作成しま す。 ln -s /dev/scd0 /dev/cdrecorder TOC ファイルが cd.toc という名前だとすれば、cd を焼くコマンドは簡単なものです。 cdrdao write cd.toc
<!--Credits-->謝辞 Linux コミュニティに貢献するすべての人とこの HOWTO を完成させてくれた すべての人に感謝いたします。
<!--Translations-->翻訳文書 Im Eunjea - この文書を韓国語に翻訳。次のところにあります。 http://kltp.kldp.org/eunjea/mp3_burning/ Mendel L Chan - この文書を中国語に翻訳。次のところにあります。 http://www.linux.org.tw/CLDP/mini/MP3-CD-Burning/
<!--Other Credits-->その他貢献を頂いた方々 Greg Ferguson - 最初にこの文書を HTML から SGML に変換。 Rob Russell - 私の名前の変換例を修正 Terry Davis - の HOWTO を linuxdoc に提出するのを提案 Chris Vaill - normalizeプログラムを作成 Jamie Kellogg - めんどうなファイルに lame でデコードする解決方法を提案
日本語訳について 翻訳に関するご意見は JF プロジェクト <JF@linux.or.jp> 宛に連絡 してください。 校正およびご意見を頂いた方々:: 日本語訳 Mar.16 2002 Takahiko_Kawasaki Takahiko_Kawasaki@cii.csk.co.jp Nomoto Hirokazu nomoto_hirokazu@bud-international.co.jp Masanori Kobayasi さんzap03216@nifty.ne.jp KIMURA Tomoaki さんt-kimura@po.shiojiri.ne.jp YOSHIMURA Keitaro さんramsy@linux.or.jp OBATA Noboruさんnoboru@ylug.org Konkiti さんkonkiti@lares.dti.ne.jp Seiji Kaneko さん:skaneko@a2.mbn.or.jp Yuji Senda さんysenda@pop01.odn.ne.jp (日本語訳 sgml のチェック)