7.3. MP3 オーディオ

寄稿: Chern Lee.

MP3 (MPEG Layer 3 Audio) は CD に匹敵する音質でサウンドを再生できます。あなたの FreeBSD ワークステーションにこのプレイヤをインストールしない理由はないでしょう。

7.3.1. MP3 プレイヤ

XMMS (X Multimedia System) は とても人気のある X11 ベースの MP3 プレイヤです。 XMMS のグラフィカルインタフェースは Nullsoft の Winamp とほとんど同一なので、Winamp のスキンを使うことができます。 XMMS はネイティブプラグインにも対応しています。

XMMSmultimedia/xmms の port または package からインストールできます。

XMMS のプレイリスト、グラフィックイコライザそしてその他のインタフェースは 直感的です。 Winamp を使いなれている人は 簡単に XMMS を使えるでしょう。

audio/mpg123 はコマンドライン上の代替となる MP3 プレイヤの port です。

mpg123 はサウンドデバイスと MP3 ファイルを指定して実行できます。 /dev/dsp1.0 デバイスを使用して MP3 ファイル Foobar-GreatestHits.mp3 を再生するのであれば、次のように実行してください。

# mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!





Playing MPEG stream from Foobar-GreatestHits.mp3 ...
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo

7.3.2. CD 音声トラックの抽出

CD 全体または CD トラックを MP3 に変換する前に、CD 上のオーディオデータをハードディスク上に抽出する必要があります。 これには raw CDDA (CD Digital Audio) データを WAV ファイルにコピーします。

sysutils/cdrtools スイートの一部である cdda2wav ツールは CD からオーディオデータを抽出したり、 情報を関係づけるのに使われます。

CD をドライブにいれて次のコマンドを (rootで) 実行して、 CD 全体を (トラックごとに) 個々の WAV ファイルに抽出できます。

# cdda2wav -D 0,1,0 -B

cdda2wav は ATAPI (IDE) CDROM ドライブにも対応しています。 IDE ドライブから抽出するには、 SCSI ユニット番号をデバイス名に置き換えて指定します。 たとえば IDE ドライブから七番目のトラックを抽出するには、 次のようにします。

# cdda2wav -D /dev/acd0 -t 7

-D 0,1,0 は SCSI デバイス 0,1,0 を表します。 これは cdrecord -scanbus の出力に一致します。

個々のトラックを抽出するには、 次のように -t オプションを使用します。

# cdda2wav -D 0,1,0 -t 7

上記の例はオーディオ CDROM の七番目のトラックを抽出します。 範囲を指定して、 たとえば一番目から七番目のトラックまで抽出したい場合、 次のようにします。

# cdda2wav -D 0,1,0 -t 1+7

dd(1) ユーティリティも ATAPI ドライブ上のオーディオトラックを展開するのに使われます。 何ができるか詳しいことは オーディオ CD の複製について Section 15.5.5 を参照してください。

7.3.3. MP3 のエンコード

現在、一般に好まれている MP3 エンコーダは lame です。 lame は Ports Collection の audio/lame に収録されています。

次のコマンドを実行すると、抽出した WAV ファイル audio01.wav を使って audio01.mp3 に変換します。

# lame -h -b 128 \
--tt "曲名" \
--ta "アーティスト名" \
--tl "アルバム名" \
--ty "" \
--tc "コメント" \
--tg "ジャンル" \
audio01.wav audio01.mp3

128 kbits が標準のビットレートのようです。 多くの人はさらに高音質の 160 kbits または 192 kbits を好むでしょう。 ビットレートが高くなるにつれて作成される MP3 ファイルは多くのディスク領域を消費しますが、より高音質となります。 -h オプションを指定すると “低速高品質” モードとなります。 --t ではじまるオプションは ID3 タグを設定します。 このタグにはたいてい曲の情報が含まれており、 MP3 ファイルに格納されます。 lame のマニュアルを参照すれば他のオプションが見つかるでしょう。

7.3.4. MP3 のデコード

MP3 からオーディオ CD を作成するには、 MP3 形式を非圧縮 WAV 形式に変換しなければなりません。 XMMSmpg123 の両方が MP3 から非圧縮ファイル形式への出力に対応しています。

XMMS でディスクへ書き出す方法は次の通りです。

  1. XMMS を起動します。

  2. 右クリックで XMMS メニューを表示します。

  3. Options から Preference を選択します。

  4. Output Plugin を “Disk Writer Plugin” に変更します。

  5. Configure を押します。

  6. 非圧縮ファイルを書き出すディレクトリを入力 (または選択) します。

  7. 普段通り XMMS へ MP3 ファイルを読み込みます。 音量は 100% で イコライザの設定はオフにします。

  8. Play を押します-- XMMS は MP3 を再生しているかのように表示しますが、 音声はきこえません。 実際には MP3 をファイルに出力しています。

  9. 再び MP3 を聴けるように Output Plugin を以前のように元に戻すのを忘れないでください。

mpg123 で標準出力へ書き出す方法は次の通りです。

  1. mpg123 -s audio01.mp3 > audio01.pcm を実行します。

XMMS は WAV 形式でファイルに書き出しますが、 mpg123 は MP3 を PCM オーディオデータに変換します。 両形式は cdrecord を使ってオーディオ CD を作成するのに利用することができます。 burncd(8) を使う場合は raw PCM データが必要です。 WAV ファイルを使用する場合、 それぞれのトラックの先頭に小さなノイズが入るのに気づくでしょう。 これは WAV ファイルのヘッダ情報です。 SoX (audio/sox の port または package からインストールできます) を使うと簡単に WAV ファイルのヘッダ情報を削除できます。

% sox -t wav -r 44100 -s -w -c 2 track.wav track.raw

FreeBSD での CD 作成の詳しい情報は Section 15.5 を参照してください。