## 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

## はじめに

インターネット上ではサウンドを標準化する具体的な情報がほとんどないので、 音楽 CD を焼いてきた私の経験をふまえて、この mini-HOWTO を作成しました。 私はいつもいろいろなところから集めてきたさまざまな曲を取りまとめて音楽 CD を焼きます。曲ごとのボリュームレベルはしばしば実にさまざまです。これ が最初にぶつかった問題でした。さらには、インターネット上の多くのファイル は CD 互換(16 ビット、ステレオ、44.1 kHz)ではないので、変換してやらなけ ればなりません。MP3 ファイルから音楽 CD を焼くプログラムにはいろいろなも のがありますが、ほとんどのものは透過的に変換します。しかし、その際にボ リュームを標準化するのも一緒に行ってくれる単一ツールは見たことがありません ので、私は自分の CD を焼くレシピを書くことにしました。

この文書では、さまざまな場所のソース、音質もすべてばらばらの状態で入手し た音楽曲のコレクションから CD を焼こうとしていて、しかもできるだけ最良の 音質の CD を得たいと思っている方を対象にしています。この mini-HOWTO はお 役に立てるかもしれない方法のあらましを述べています。

### 著作権とライセンス

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 フリー文書利用許諾契約書」の日本語訳はこちらにあります。

## トラックを用意する

### 注意

すべてのコマンドは 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 (cvaill@cs.columbia.edu) の `normalize`というプログラムを使っています。http://www.cs.columbia.edu/~cvaill/normalize/ で入手できます。

   私は次のような構文を使っています( -m は mix モードで、すべてのファイル はできるだけ大きな音になるはずです)

            normalize -m *.wav

## 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ファイルでは必ずしもこうはなって いません。

## 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

## 謝辞

Linux コミュニティに貢献するすべての人とこの HOWTO を完成させてくれた すべての人に感謝いたします。

### 翻訳文書

- Im Eunjea - この文書を韓国語に翻訳。次のところにあります。 http://kltp.kldp.org/eunjea/mp3_burning/

- Mendel L Chan - この文書を中国語に翻訳。次のところにあります。 http://www.linux.org.tw/CLDP/mini/MP3-CD-Burning/

### その他貢献を頂いた方々

- 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 のチェック)