mpg123(1) mpg123(1)
名前
mpg123 - MPEG 1.0/2.0 形式のオーディオファイルの演奏 (レイヤ 1, 2, 3 対
応)
書式
mpg123 [ -tscvqy01m24 ] [ -b size ] [ -k num ] [ -n num ] [ -f factor ]
[ -r rate ] [ -g gain ] [ -a dev ] [ -o s | -o h | -o l ] [ -d n ] [ -h
n ] [ -p proxy ] [ -@ file ] file ... | URL ... | -
説明
mpg123 は file や URL を読み込み(いずれも複数指定可。また‘‘-’’ を指定す
る と標準入力から読み込みます)、これらをオーディオデバイスで演奏するか(
デフォルトの動作)、標準出力に出力します。 file/URL は MPEG-1/2 のオーデ
ィオビットストリームであるものとします。
オプション
mpg123 のオプションは、伝統的な POSIX 形式でも GNU 形式の長いオプション
名でも指定できます。POSIX 形式のオプションは ‘‘-’’ で始まり、GNU 形式の
オプションは ‘‘--’’ で始まります。
-t, --test
テストモード。オーディオストリームをデコードしますが、出力は行い
ません。
-s, --stdout
デコードしたオーディオのサンプル音を標準出力に出力します。オーデ
ィ オ デ バ イスを使った演奏は行いません。お使いのハードウェアが
mpg123 でサポートされていなければ、このオプションを使わなけれ ば
なりません。出力フォーマットは raw (ヘッダ無し)形式、16 ビット、
ステレオの PCM オーディオデータであり、そのバイト順はホストに 従
います。
-c, --check
フィルタレンジの違反をチェックし、これが起こるとフレームごとに報
告します。
-v, --verbose
詳しいメッセージを出力するようにします。例えば、デコード中にフレ
ーム番号を表示します。
-q, --quiet
静かに動作するようにします。診断メッセージを表示しなくなります。
-y, --resync
入力ファイルでエラーが起きた場合に、再び同期を取ってデコートを継
続しようと試みます。ヘッダが特定の壊れ方をしている場合にも回復を
試みます。このオプションは、 mpg123 が通常 ‘Illegal header’ と表
示して処理をあきらめる壊れた MPEG ファイルがある場合に役に立ちま
す。ただし、このオプションは慎重に使ってください。 MPEG ファイル
に壊れた位置情報があると鋭い音や激しい音が鳴ることがあるので、ボ
リュームが大きすぎるとスピーカーを傷めてしまうかもしれません。
-0, --single0; -1, --single1
チャンネル 0 (左)またはチャンネル 1 (右)だけをデコードします。こ
れらのオプションが使えるのは、ステレオの MPEG ストリームの場合だ
けです。
-m, --singlemix
両方のチャンネルを合成します。このオプションが使えるのは、ステレ
オ の MPEG レイヤ-3 ストリームの場合だけです。CPU に負荷がかかる
負荷はフルステレオでデコードするよりも小さくなります。
-2, --2to1; -4, --4to1
2:1 (22kHz) または 4:1 (11kHz) の割合で出力ストリームのダウン サ
ン プ リングを行います。CPU の負担は小さくなりますが、少なくとも
4:1 のダウンサンプリングを行うとまともに聞けない音になります。
-b size, --buffer size
オーディオの出力バッファを size K バイト使用します。これは一時的
にシステム動作が重くなった時の影響を回避する際に便利です。という
のも、このような状況ではオーディオ出力に割り込みが入ることが通常
だ からです。バッファのサイズには少なくとも 1024 (つまり 1MB。こ
れは 6 秒分のオーディオデータに相当します)を指定すべきです 。300
以下だとほとんど意味がありません。デフォルト値は 0 (バッファリン
グが無効)です。
-k num, --skip num
最初の num フレームを飛ばします。デフォルトではデコードは最初 の
フレームから行われます。
-n num, --frames num
num フレームだけをデコードします。デフォルトでは、フレーム全てを
デコードします。
-f factor, --scale factor
スケール係数を変更します(デフォルト値は 32768)。
-r rate, --rate rate
サンプリングレートを設定します(デフォルトでは自動設定)。MPEG の
ストリームレートとは独立の固定のビットレートが必要ならば、この設
定を変更するとよいでしょう。mpg123 は自動的にレートを変換しま す
。このオプションは --stereo または --mono と組み合わせるべきでし
ょう。
-g gain, --gain gain
オーディオハードウェアの出力ゲインを設定します (デフォルトでは変
更を行いません)。
-a dev, --audiodevice dev
使用するオーディオデバイスを指定します。デフォルト値はシステム依
存です (普通は /dev/audio または /dev/dsp)。複数のオーディオデバ
イスがあり、デフォルトのデバイスを使いたくない場合にこのオプショ
ンを使ってください。
-o s, --speaker
オーディオ出力をスピーカーに送ります。
-o h, --headphones
オーディオ出力をヘッドフォン端子に送ります。
-o l, --lineout
オーディオ出力をラインアウト端子に送ります。
-d n, --doublespeed n
n フレームおきにしか再生を行いません。これにより MPEG ストリーム
の 再生は n 倍速になり、特殊な効果を出すことができます。 --half-
speed オプションと組み合わせて 4 フレーム中の 3 フレームを演奏す
るといったこともできます。ただし、このオプションを使う時は音質に
は期待しないでください。
-h n, --halfspeed n
各フレームを n 回演奏します。これにより、MPEG ストリームの再生速
度 は 1/n になります(n 倍遅くなります)。これを使って特殊な効果を
出すことができます。 --doublespeed オプションと組み合わせて 3 つ
ごとのフレームの長さを倍にするといったことが可能です。ただし、こ
のオプションを使う時は音質には期待しないでください。
-p URL | none, --proxy URL | none
HTTP のリクエストの際に、指定された proxy を用います。これは完全
な URL (‘‘http://ホスト名.ドメイン:ポート番号/’’ の形式)で指定し
なければなりませんが、‘‘http://’’ プレフィックスとポート番号、最
後 のスラッシュは省略してもかまいません(ポート番号のデフォルト値
は 80)。 none を指定すると、プロキシを使わずにそれぞれのサーバか
ら直接ファイルを取得します。‘‘HTTP のサポート’’ セクションも参照
してください。
-u auth, --auth auth
HTTP 経由でファイルを取得する際に用いる HTTP 認証を指定します 。
指定は「ユーザ名:パスワード」の形式で行います。
-@ file, --list file
コ マンドラインで指定したファイルまたは URL (もしあれば)に加え、
file に記述されているファイルや URL のオーディオストリームを読み
込みます。 file は通常ファイルでも適切なリストファイルを指す URL
でも構いませんし、ファイル名や URL のリストを標準入力から読み 込
むことを示す ‘‘-’’ を指定することもできます。注意: -@ オプション
は 1 回しか指定することができません(複数回指定すると、最後に行っ
た指定だけが認識されます)。
-z, --shuffle
シャッフル演奏を行います。コマンドラインとリストファイルで指定さ
れたファイルをランダムにシャッフルします。
--stereo
強制的にステレオ出力にします。
--reopen
1 曲ごとにオーディオデバイスをオープンし直します。
--8bit 強制的に 8 ビット出力にします。
-Z, --random
完全にランダムな演奏を行います。
オペランド
mpg123 は以下のオペランドをサポートしています:
file(複数可)
入力ファイルのパス名(複数個指定することもできま す) 。 こ れ は
MPEG-1/2 オーディオのレイヤ-1, 2, 3 の正しいビットストリームで
なければなりません。 ‘‘-’’ を指定すると MPEG データは標準入力か
ら 読み込まれます。また、 ‘‘http://’’ で始まる名前は全て URL と
して認識されます(次のセクションを参照してください)。
HTTP のサポート
mpg123 は通常ファイルや標準入力から MPEG オーディオストリームを読み込む
だけでなく、HTTP プロトコル経由での MPEG オーディオファイルの取得もサポ
ートしています。このプロトコルは World Wide Web (WWW)で使われています。
こ のようなファイルはいわゆる URL (Universal Resource Locator) を用いて
指定します。URL は ‘‘http://’’ で始まります。このプレフィックスを持つフ
ァ イルがあると、 mpg123 はこのファイルを取得してデコードおよび再生を行
うために、サーバに対する HTTP 接続をオープンしようとします。
WWW のキャッシュ、つまりいわゆるプロキシを通してファイルを取得すると 便
利 な こ と も よ く あ り ま す 。これを行うために、 mpg123 は環境変数
MP3_HTTP_PROXY, http_proxy, HTTP_PROXY をここに挙げた順番で調べます。設
定 されている最初の変数の値がプロキシの指定として使われます。これを上書
きするには、コマンドラインオプションの -p を用います(‘‘オプション’’ セ
ク ションを参照)。 -p none を指定すると、たとえ先に述べた環境変数が設定
されていても、プロキシを全く使わずに直接サーバと接続します。
WWW サーバから取り寄せた MPEG オーディオを再生するには、サーバとの接 続
が十分高速でなければならない点に注意してください。例えば 128k ビット/秒
の MPEG ファイルは、プロトコルのオーバーヘッドに加えて少なくと も 128k
ビ ット/秒(16k バイト/秒)のネットワーク接続を必要とします。ネットワーク
が一時的に止まることが原因で問題が起きる場合には、 -b オプション(バッフ
ァ容量設定)でネットワーク停止を避けてみましょう。ネットワーク接続の全体
的な速度が MPEG オーディオファイルのリアルタイム演奏に十分でなければ 、
最初に( lynx(1) 等を用いて)ファイルをローカルのハードディスクにダウンロ
ードしてからファイルを再生してください。
-u user:pass. WWW サーバ上のファイルにアクセスするために認証が必要なら
ば、 -u ユーザ名:パスワードを使って指定することができます。
割り込み
mpg123 は Ctrl-C を押すことにより、いつでも中断させることができます。複
数のファイルの再生中であれば、現在のファイルの再生が止まり、次のファ イ
ル の再生が始まります。次のファイルにスキップせずに即座に全ての再生を終
えるには、 Ctrl-C を (約 1 秒以内に)2 回連続で押します。
Ctrl-C を押しても聞こえる音がすぐ変わるわけではない点に注意してください
。 これはオーディオデバイス内にオーディオデータがバッファリングされてい
るためです。この遅れはシステムによって違いますが、普通は 1, 2 秒以内 で
す。
関連情報
lynx(1), sox(1), intro(1)
注意
MPEG オーディオ(特にレイヤ-3)のデコードにはかなりの CPU 性能が必要です
。これをリアルタイムでデコードするには、少な く と も Pentium, Alpha,
SuperSparc あるいはこれらと同等のプロセッサでなければなりません。ですが
、 -singlemix オプションを用いてモノラルのみの再生を行う方法もありま す
。 このオプションを使うとレイヤ-3 ストリームに対する CPU 負荷がある程度
小さくなります。 -2 オプションと -4 オプションも参照してください。
これ以外の問題が起きた場合には、 -s オプションを使ってデコード結果を 標
準 出力に出力し、これをファイルにリダイレクトしてください。そしてこのフ
ァイルを適切なユーティリティを使って再生してください。 mpg123 の出力 を
お 使いのオーディオプレイヤーで再生できるように変換するには、 sox(1) 等
のツールが必要となるかもしれません。
mpg123 は必ず 16 ビットステレオのデータを生成する点にも注意してく だ さ
い( -single* オプション群のいずれかを使った場合でも、全く同じステレオチ
ャンネルが 2 つ生成されます)。お使いのハードウェアがこれ以外のフォー マ
ット(例えば 8 ビットモノラル)を要求するのなら、やはり sox(1) 等のコンバ
ータが必要となります。
お使いのシステムが普段は十分リアルタイム再生ができる速さでも、一時的 に
シ ステム負荷が高くなり(cron のジョブやユーザのリモートログイン、「巨大
な」プログラムの起動など)、オーディオ出力に割り込みがかかるような場合に
は、 -b オプションを使って最低 1000K バイトのバッファを確保すべきです。
バグ
既知のバグと制限事項:
MPEG-2 のレイヤ 1, 2 のテストは行っていません。動作しないかも し
れません。(レイヤ 3 は動作するはずです。)
フリーフォーマットのストリームには対応していません。
レイヤ 1 対応のテストは十分ではありません。
CRC エラーのチェックは行っていません。
現 在は DEC Digital Unix, Ultrix, IBM AIX のオーディオハードウェ
アには対応していません。したがって、これらのプラットフォームでは
-s オプションを使わなければなりません。
作者
リーダー:
Michael Hipp
Copyright(C) linux-cmd.com All Rights Reserved. Author Takayuki Yukawa