Linux MP3 CD Burning mini-HOWTO Greg Wierzchowski greg.wierzchowski@usa.net 中谷千絵 - 日本語翻訳 jeanne@mbox.kyoto-inet.or.jp 2001-05-29 Revision History Revision 1.5 2001-11-19 Revised by: GW Fixed omission in Disc-At-Once burning section. Revision 1.4 2001-11-17 Revised by: GW Added Disc-At-Once burning section. Revision 1.3 2001-09-02 Revised by: GW Added another example of decoding MP3 files with lame. Revision 1.2 2001-07-12 Revised by: GW Minor layout changes; Added Translations subsection into Credits. Revision 1.1 2001-06-12 Revised by: GW Minor cleanup; Regexp fix for MP3 to WAV name conversion example. Revision 1.0 2001-05-29 Revised by: GW Initial Release. MP3 ファイルからオーディオ CD を作成するための完全レシピ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table of Contents 1. はじめに 1.1. 著作権とライセンス 2. トラックを用意する 3. CD を焼く 4. DAO(Disc-At-Once) CD を焼く 5. 謝辞 5.1. 翻訳文書 5.2. その他貢献を頂いた方々 6. 日本語訳について 1. はじめに インターネット上ではサウンドを標準化する具体的な情報がほとんどないので 、音楽 CD を焼いてきた私の経験をふまえて、この mini-HOWTO を作成しまし た。私はいつもいろいろなところから集めてきたさまざまな曲を取りまとめて 音楽 CD を焼きます。曲ごとのボリュームレベルはしばしば実にさまざまです 。これが最初にぶつかった問題でした。さらには、インターネット上の多くの ファイルは CD 互換(16 ビット、ステレオ、44.1 kHz)ではないので、変換して やらなければなりません。MP3 ファイルから音楽 CD を焼くプログラムにはい ろいろなものがありますが、ほとんどのものは透過的に変換します。しかし、 その際にボリュームを標準化するのも一緒に行ってくれる単一ツールは見たこ とがありませんので、私は自分の CD を焼くレシピを書くことにしました。 この文書では、さまざまな場所のソース、音質もすべてばらばらの状態で入手 した音楽曲のコレクションから CD を焼こうとしていて、しかもできるだけ最 良の音質の CD を得たいと思っている方を対象にしています。この mini-HOWTO はお役に立てるかもしれない方法のあらましを述べています。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1. 著作権とライセンス This document is copyright 2001 by Greg Wierzchowski and is released under the terms of the GNU Free Documentation License, which is hereby incorporated by reference. Send feedback to greg.wierzchowski@usa.net . この文書は Greg Wierzchowski が著作 権2001 を保持し、GNU Free Documentation License の条項のもとにリリース されており、これによって引用に代えます。フィードバックは、 greg.wierzchowski@usa.net 宛に送って ください。 日本語訳注:「GNU フリー文書利用許諾契約書」の日本語訳はこちら にあります。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2. トラックを用意する 注意: すべてのコマンドは bash シェルを想定しています。 1. すべての MP3 ファイルをひとつのディレクトリに集めます。 2. ファイル名に空白があるなら、最初に空白をアンダーラインに変更してや ります for i in *.mp3; do mv "$i" `echo $i | tr ' ' '_'`; done 3. 次に示すコマンドで 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 ファイルは mpg123 と madplay の両者でデコードトラブルを起こします。lame エンコ ーダにはデコード機能があり、それらのファイルでもうまく扱えるようで す。 (lame はhttp://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/'` 4. "file *.wav" を実行し、16 ビット、ステレオ 44100 Hz とは異なるフ ァイルに対する出力をチェックします。 5. 違った特性を持つファイルがあるなら、上述した方法でそれらファイルを 変換します。たとえば、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 を見てください 。 6. 音量の極端な違いを避けるには、WAV ファイルを標準化します。私は Chris Vaill () の normalizeというプログラム を使っています。http://www.cs.columbia.edu/~cvaill/normalize/ で入 手できます。 私は次のような構文を使っています( -m は mix モードで、すべてのファ イルはできるだけ大きな音になるはずです) normalize -m *.wav ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3. 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 注意:: -pad 引数は必要です。なぜなら CD 上のオーディオトラックはす べて適切なデータ長に調整される必要があるからです。mp3ファイルでは必 ずしもこうはなっていません。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4. 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 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5. 謝辞 Linux コミュニティに貢献するすべての人とこの HOWTO を完成させてくれたす べての人に感謝いたします。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.1. 翻訳文書 ・ Im Eunjea - この文書を韓国語に翻訳。次のところにあります。 http:// kltp.kldp.org/eunjea/mp3_burning/ ・ Mendel L Chan - この文書を中国語に翻訳。次のところにあります。 http://www.linux.org.tw/CLDP/mini/MP3-CD-Burning/ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.2. その他貢献を頂いた方々 ・ Greg Ferguson - 最初にこの文書を HTML から SGML に変換。 ・ Rob Russell - 私の名前の変換例を修正 ・ Terry Davis - の HOWTO を linuxdoc に提出するのを提案 ・ Chris Vaill - normalizeプログラムを作成 ・ Jamie Kellogg - めんどうなファイルに lame でデコードする解決方法を 提案 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6. 日本語訳について 翻訳に関するご意見は JF プロジェクト 宛に連絡してくだ さい。 校正およびご意見を頂いた方々:: 日本語訳 Mar.16 2002 □ Takahiko_Kawasaki < Takahiko_Kawasaki@cii.csk.co.jp> □ Nomoto Hirokazu □ Masanori Kobayasi さん □ KIMURA Tomoaki さん □ YOSHIMURA Keitaro さん □ OBATA Noboruさん □ Konkiti さん □ Seiji Kaneko さん: □ Yuji Senda さん (日本語訳 sgml のチェッ ク)