The Linux MP3-HOWTO
By Phil Kerr, phil@plus24.com
v1.40, April 2000
さいとうかん can-s@geocities.co.jp
$Date: 2000/09/18 17:32:55 $
本文書は MP3 音声ファイルを Linux でエンコード、デコード、ミキシングそ
してストリーミングを行うために必要となる、ハードウェア、ソフトウェアお
よび手順について記述しています。
______________________________________________________________________
目次
1. はじめに
2. 本文書の著作権
3. 本文書の入手場所
3.1 翻訳
4. 謝辞
5. 免責事項
6. ハードウェアの必要条件および性能の問題
7. 推奨ソフトウェア
7.1 リッパーと WAV レコーダ
7.2 エンコーダ
7.3 プレイヤー
7.4 ストリーミングサーバ
7.5 ミキシング
7.6 その他
8. システム設定
8.1 アナログ音声録音の設定
8.2 CD-ROM 音声録音の設定
8.3 追加の設定
9. 音声のエンコード
10. CD-ROM からのエンコード
10.1 コマンドラインでのエンコード
10.1.1 RipEnc
10.2 GUI ベースのエンコーダ
10.3 エンコーダの性能
11. MP3 のストリーミング
11.1 Icecast
11.1.1 Shout
11.1.2 LiveIce
11.2 Fluid
11.3 帯域の検討
11.4 著作権の問題
12. MP3 を聴く
12.1 ファイルの再生
12.2 MP3 のストリーミング再生
12.3 ミキシング
12.3.1 eMixer
13. フィードバック
______________________________________________________________________
1. はじめに
本文書は MP3 音声ファイルを Linux でエンコード、デコード、ミキシングそ
してストリーミングを行うために必要となる、ハードウェア、ソフトウェアお
よび手順について記述しています。
本文書では以下のことについて述べています。
o 生音源や外部入力音声のエンコード
o 音楽 CD のエンコード
o ネットワークを経由した MP3 のストリーミング
o MP3 の再生
o MP3 のミキシング
2. 本文書の著作権
This HOWTO is copyrighted 2000 Phil Kerr.
Unless otherwise stated, Linux HOWTO documents are copyrighted by
their respective authors. Linux HOWTO documents may be reproduced and
distributed in whole or in part, in any medium physical or electronic,
as long as this copyright notice is retained on all copies. Commercial
redistribution is allowed and encouraged; however, the author would
like to be notified of any such distributions.
他に定めない限り、Linux の HOWTO 文書は各々の著者が著作権を保持しま
す。 Linux の HOWTO 文書は著作権表示を完全に保存している限り、そのすべ
てあるいは一部を物理的か電子的な媒体により、複製、配布してかまいませ
ん。商業的再配布を許可しますし、奨励します : しかし、どのような形式の
配布の場合であれ、著者は連絡を希望しているものです。
All translations, derivative works, or aggregate works incorporating
any Linux HOWTO documents must be covered under this copyright notice.
That is, you may not produce a derivative work from a HOWTO and impose
additional restrictions on its distribution. Exceptions to these rules
may be granted under certain conditions; please contact the Linux
HOWTO co-ordinator at the address given below.
すべての翻訳、派生著作物、あるいは複数の Linux HOWTO 文書を集める編集
作業には、この著作権条項を例外なく適用します。HOWTO から派生著作物を作
成して、それに配布制限を追加することは認めていません。特定の条件のも
と、例外を認めるかもしれません : 以下に示す Linux HOWTO の調整役へ連絡
してください。
In short, we wish to promote dissemination of this information through
as many channels as possible. However, we do wish to retain copyright
on the HOWTO documents, and would like to be notified of any plans to
redistribute the HOWTOs.
簡単に言うと、著者はできるだけ多くの経路を通じ、この情報の流通を促進し
たいと願っています。しかし HOWTO 文書では、著者は著作権を保持するよう
望んでおり、再配布のいかなる計画も知らせてほしいと思います。
If you have questions, please contact Tim Bynum, the Linux HOWTO co-
ordinator, at linux-howto@metalab.unc.edu via email.
御質問があれば、Linux HOWTO 調整役の Tim Bynum linux-
howto@metalab.unc.edu へメールで連絡してください。
3. 本文書の入手場所
本文書の最新バージョンは Linux Documentation Project
から手に入れることができます。
この HOWTO の Web ページは です。
[訳注 : 日本語訳の最新バージョンは JF プロジェクト
にあります。 ]
3.1. 翻訳
この HOWTO は以下に挙げる言語へ翻訳されています。
注意 : 当然、翻訳作業にはそれなりの時間がかかるので、翻訳はこの文書よ
りも若干古い可能性があります。
o 韓国語
By Lee,So-min
o フランス語
By Arnaud
Gomes-do-Vale
o ハンガリー語
By Andras Timar
o イタリア語
By
Mariani Dario
o スペイン語
By Arielo
o オランダ語
By Reggy Ekkebus
o 日本語
By Saito Kan
翻訳者の皆さん、ありがとうございます。もしあなたがこの HOWTO を翻訳で
きるのなら、著者までメールを下さい。そして、翻訳文書がある URL を知ら
せてください。
4. 謝辞
この HOWTO を書くにあたり、Jeff Tranter の Sound-HOWTO および Yoo C.
Chung の Sound-Playing-HOWTO を大変参考にさせて頂きました。
著者が参考にした他の HOWTO を書いた皆さん、ありがとうございます。
Lars Wirzenius の Linux System Administrators Guide
Olaf Kirch の Linux Network Administrators Guide
Stein Gjoen の Multi Disk System Tuning HOWTO
[ 訳注 : JF プロジェクトによる日本語訳 Sound-HOWTO
, Sound-Playing-
HOWTO およ
び Multi-Disk-HOWTO があります。]
また、フィードバックやコメント、そしてバグレポートなどを送ってくれた皆
さん、大変感謝しています。
WebSentric AG の同僚、特に Mark S. Fischer と Peter Conrad, コメントや
フィードバック、そしてサポートをしてくれて、ありがとう。
5. 免責事項
本文書中の情報は御自身の判断に基づき利用してください。著者は本文書の内
容に関するいかなる責任も負いません。本文書中の構想、事例、およびその他
の内容に関しては、完全に御自身の責任で利用してください(つまり、at your
own risk)。
特に記述がない限り、著作権はすべて著作者が保持します。本文書中にある表
現の使用は、登録商標あるいは意匠権を侵害していないはずです。
特定の商品あるいはブランドの名前は、決して推奨し載せているのではありま
せん。重要なインストールの前に、および定期的にシステムのバックアップを
取ることを強く推奨します。
6. ハードウェアの必要条件および性能の問題
デジタル音声処理はシステムの処理能力および I/O 能力にとても依存する、
多くの資源を要求する処理です。最低でも Pentium クラスのマシンを強く推
奨します。
ラインあるいはマイクから入力するアナログ音源をエンコードするのなら、
PCI サウンドカードが最良の結果をもたらします。ISA バスカードと PCI バ
スカードにおいて I/O 能力の差ははっきりしており、PCI バスには 132
MB/sec 以上の能力があります(PCI-HOWTO からの引用です)。もちろん、信号
- 雑音比 (訳注 : S/N 比) という点においても、サウンドカードの品質は良
ければ良いほど、MP3 へのエンコードも良い結果となるでしょう。著者は
Soundblaster PCI128 を使っていて、ちょうど今 Soundblaster Live Value
へ切り替えました。双方とも良いオーディオ性能を持っていますが、Live は
明らかに S/N 比が高く、セミプロ級の仕事にも充分です。データ処理の古く
からある格言、「入れたのがゴミなら出てくるのもゴミ(garbage in -
garbage out)」を覚えておいてください。
Creative 社は Soundblaster Live! のベータ版ドライバを、以下の場所で配
布しています。
ハードディスクにアナログ音声を記録することを、ダイレクトディスク録音あ
るいは d2d 録音と一般に呼びます。その際には、ディスクの性能とそのイン
ターフェイスが重要です。IDE ベースのシステムを使っているなら、モード 4
あるいは UDMA は問題なくデータを転送できる能力があるので望ましいでしょ
う。
理想的なソリューションは SCSI ベースのシステムを使うことです。なぜな
ら、ドライブとインターフェイスが SCSI-1 の 5Mbit/s から Ultra-Wide
SCSI の 80Mbit/s まで、連続した良い転送能力を持っているからです。IDE
でも 8.3 MB/s から Ultra-ATA の 33 MB/s まで到達できますが、この速度は
ピーク時のものであり、平均転送速度は若干遅いでしょう。もし AV SCSI ド
ライブを見つけられて、そしてそれを買う余裕があるなら、これをぜひ使って
みてください。AV ドライブは連続するデータ転送に対して、データを読み書
きするヘッドシステムを最適化しています。通常、他の SCSI および IDE の
ドライブは書込みヘッドが熱くなるため、連続したデータを転送できないので
す。
[訳注: この段落では原文が若干誤りを含んでいるので、現在原著者に修正を
依頼しています。
正しくは、以下のようになります。
理想的なソリューションは SCSI ベースのシステムを使うことです。なぜな
ら、ドライブとインターフェイスが SCSI-1 の 5MB/s から Ultra2-Wide SCSI
(LVD Wide)の 80MB/s まで、連続した良い転送能力を持っているからです。最
近は Ultra-160 という規格もあり、160MB/s の転送能力があります。IDE で
も 8.3 MB/s から Ultra-ATA の 33 MB/s まで到達できます。更に、 Ultra-
ATA は現在 100Mbyte/s まで高速になっています。しかし、この速度はピーク
時のものであり、平均転送速度は若干遅いでしょう。
もし AV SCSI ドライブを見つけられて、そしてそれを買う余裕があるなら、
これをぜひ使ってみてください。AV ドライブは連続するデータ転送に対し
て、データを読み書きするヘッドシステムを最適化しています。通常、他の
SCSI および IDE のドライブでは、温度変化によって生じるへッド位置のずれ
を補正するため、メンテナンスシーク、あるいはキャリブレーションと呼ばれ
るシーク動作を定期的に行います。このメンテナンスシーク中はデータの読書
きができないので、ハードディスクレコーディングなどの連続したデータの読
み書きが要求される用途では音 (あるいは映像) が途切れるなど、悪影響が生
じるおそれがあります。AV SCSI ドライブは、このメンテナンスシークを行わ
ないハードディスクです (翻訳者は詳しいことは分かりません)。]
ヘッドが上がったり必要な転送速度を確保できなくなったら、キャッシュが
バッファとして動作します。従って、キャッシュを持っていないドライブより
も持っているドライブの方が確実です。
充分な性能のドライブでないと、信号の記録に失敗した箇所で録音データの脱
落および異常に悩まされるでしょう。ライブなどの一度限りのイベントを録音
するなら、良い SCSI ベースのシステムに投資してください。
システムへの高い負荷もデジタル録音の際のデータ脱落の原因になります。録
音の際に、バックグラウンドタスクはシステムに一時的な不具合を引き起こす
ことがあります。特にネットワーク系のサービスは、できる限り少数のバック
グラウンドサービスだけを動かすことをお奨めします。ネットワークサービス
の設定や起動スクリプトについては、SAG および NAG を参照してください。
[ 訳注 : SAG: Linux System Administration Guide
, NAG: Linux Network Administration
Guide . 現在のところ日本語訳はあり
ません。 ]
仮想記憶ページングもデータ欠損を引き起こすので、できるだけ多くの物理メ
モリで動作させてください。少なくとも 32MB のメモリを推奨したいのです
が、更に多くのメモリが必要になるかもしれません。
システムから最大限の性能を引き出したいなら、恐らくカーネルを最適化して
みるのも悪くないでしょう。
上に挙げたハードウェアを持つシステムは、音声データのエンコード用として
はかなり高い能力のものです。だから、手近で使っていて能力の劣る旧式のシ
ステムを過小評価しないでください。
システム管理者にとって、優れた結果を出すよう能力の低いシステムを調整す
ることは、良い挑戦になるでしょう。そして、最後には恐らく、幸せな Linux
Box ができあがることでしょう。
もうひとつの重要な点はオーディオケーブルです。安くて粗末なケーブルやコ
ネクタを使うと、録音の品質も貧弱になってしまいます。(RCA コネクタとも
呼ばれる)アナログプレイヤーとアンプを接続するコネクタと同じ形の端子が
サウンドカード上にあるなら、それを使ってください。金メッキのコネクタも
音質を維持するためにも役立ちます。相互干渉の危険があるので、オーディオ
ケーブルはデータケーブルから遠ざけてください。
最良のオーディオケーブルに大金を費やしても、システムの他の部分が最適化
できていなければ、無駄に終ることを忘れないでください。
CD-ROM から MP3 へエンコードするために、CD-ROM から生データを読み込み
ます。その際に必要となる時間は、ドライブの速度や型により決まります。恐
らく、かなり辛抱強い人以外にとって、標準速ドライブは非常に遅いでしょ
う。
録音中に録音している音楽を聴きたいのなら、CD-ROM の接続に内部コネクタ
を用いるか、ヘッドホンをヘッドホン出力へ接続する必要があります。MP3 は
CD-ROM のヘッドホン出力では聴けませんが。
サウンドカードの設定に関する詳細な解説書には Sound-HOWTO を読むと良い
でしょう。
[ 訳注 : JF プロジェクトによる日本語訳 Sound-HOWTO
があります。]
7. 推奨ソフトウェア
通常、音声を MP3 へ変換するには 2 段階の工程があります。まず音声を WAV
フォーマットで録音し、その後 WAV ファイルを MP3 へ変換します。ひとつの
プログラムで両方の処理ができるものもあります。
CD あるいは 直接の音声入力からなど、どのフォーマットから音声をエンコー
ドするのかによって、WAV ファイルを作成するために必要となるソフトウェア
ツールが決まります。
[ 訳注 : に関連するリンクがい
くつか載っています。]
音声入力をエンコードしたいのなら、サウンドカードの入力を録音し WAV 形
式で保存するプログラムが必要になります。以下に役に立つソフトウェアを挙
げます(コメントの多くは各アプリケーションの Web ページから頂きまし
た)。
7.1. リッパーと WAV レコーダ
アナログ音声のライン入力からの録音 :
o Wavrec
Wavrec は Wavplay の一部として配布され、
からダウンロ
ードできます。
CD の音声データを WAV フォーマットへ変換することは、CD リッピングとし
て知られています :
o CDDA2WAV
o Cdparanoia
インターネット上で「リッパー」として一般に知られている Compact Disc
Digital Audio (CDDA) 抽出ツールがあり、Cdparanoia はそのひとつで
す。このアプリケーションは Paranoia ライブラリを用いており、ライブ
ラリが実際の抽出を行います (Paranoia ライブラリのソースは
Cdparanoia と一緒に配布されています)。Cdparanoia は cdda2wav と同様
に、CDROM から音声をデジタルデータとして直接読み込み、アナログ部分
を経ずに WAV や AIFC 形式、あるいは 16 ビットリニア PCM 形式で記録
したりパイプへ渡すなどを行います。cdda2wav に比べると、Cdparanoia
は非常に低速です。しかし、CD に傷などがあるために読込みが難しい場合
でも、非常に良好なデータを得られます。
o RipEnc
RipEnc は Cdparanoia, cdda2wav, tosha, Bladeenc, 8hz-mp3, l3enc の
フロントエンドで、ボーンシェルスクリプトです。吸い出す曲の名前を自
動的につけるために、CDDB を利用しています。手動で名前を付けるオプ
ションもあります。CD 全体、あるいは特定の曲を吸い出せます。ID3 タグ
もサポートしています。
[訳注 : CDDB には CDDB Inc. と freedb.org
の 2 種類があります。
には ID3 タグの解説があります。]
o RipperX
RipperX は、GTK を使用した、CD から音声を吸い出して MP3 へエンコー
ドするプログラムです。Cdparanoia, BladeEnc, XingMp3enc, 8hz-mp3,
Lame および ISO v2 エンコーダのプラグインがあります。CDDB と ID3 タ
グもサポートしています。
o Grip
Grip は GTK ベースの CD プレイヤーであり、CD リッパーと MP3 エンコ
ーダでもあります。内部に組み込まれた Cdparanoia で CD を吸い出せま
すし、 (cdda2wav のような)内蔵ではない外部のリッパーも用えます。ま
た、MP3 エンコーダのフロントエンドでもあり、CD があれば簡単に MP3
へ変換できます。 CDDB サーバからトラック情報を検索するために、CDDB
プロトコルをサポートしています。Grip は DigitalDJ とともに動作し、
音楽コレクションの「コンピュータ化された」統合バージョンを提供しま
す。
[訳注: DigitalDJ は MySQL と連係して ID3 データを蓄積しながら動作し
ます。]
7.2. エンコーダ
WAV ファイルを MP3 フォーマットへ変換するためにエンコーダが必要になり
ます。
o Blade's MP3 Encoder
BladeEnc はフリーの MP3 エンコーダです。MpegEnc と同に ISO の圧縮ル
ーチンをもとにしており、ISO のエンコーダと同等かそれ以上の品質が期
待できます。MpegEnc との主な違いは外見と速度です。BladeEnc には
MpegEnc のような使いやすいインターフェイスがありませんが、3 倍以上
高速であり複数のフロントエンド GUI があります。
[ 訳注 : 今となっては、BladeEnc の音質はかなり悪いほうです。音質は
``Lame'' が優秀で、エンコード速度は「午後のこ〜だ」が高速です。 ]
o Lame
GNU という名称の偉大な歴史にのっとり、Lame とは ``LAME Ain't an Mp3
Encoder.'' を表しています。Lame は dist10 ISO デモ用ソースへの、GPL
に基づいたパッチになっています。Lame だけでは MP3 を作成できませ
ん。Lame 単体ではコンパイルすらできず、動かすためには ISO のソース
が必要になります。ISO のデモ用ソースは無料で入手できますが、(フリー
のエンコーダを配布することを含み) 商用利用には FhG (ドイツの
Fraunhofer Gesellschaft 社)とライセンス契約を結ぶ必要があるでしょ
う。
o 午後のこ〜だ
「午後のこ〜だ」はインテル x86 CPU 用の非常に高速な MP3 エンコーダ
です。 LAME ver 3.29beta をもとにしており、PEN@海猫さん、酒居さん、
うるりさん、計さん、滋生さんが最適化を行いました( にある NASM もダウンロードしてコンパイルする必要
があります)。
7.3. プレイヤー
MP3 を再生するには当然プレイヤーが必要です :
o Xmms (以前は X11Amp として知られていました)
このプレイヤーは Windows 95/98/NT での Winamp の大部分の特長を持っ
ています。もちろん、Linux 版でしか使えない特別な機能もあります。
[ 訳注 : X11Amp は登録商標だったので、名前を変更したようです。外見
も音質も美しく、訳者の主観ではこれが最高でしょう。 ]
o Xaudio
Xaudio は非常に高速で頑健な、多くのプラットホームで動作するデジタル
音声再生用のソフトウェアです。特に、MPEG オーディオ (MP1, MP2 およ
び MP3) のデコードが対象です。
o AlsaPlayer
AlsaPlayer は新しいタイプの PCM 音声プレイヤーです。高度にマルチス
レッド化してあり、ALSA ライブラリとドライバを使用します。Linux や
UNIX のプレイヤーに特有の、非常に面白い特長があります。PCM音声デー
タに由来する全ての音声メディアをプラグインによって再生できる枠組み
の作成を目指しています。
順方向と逆方向の「両方で」再生速度を制御できる、Linux で最初で唯一
の GPL のプレイヤーです!! MP3 と CD で速度を変えて再生できます:)
o mpg123
mpg123 とは何でしょう? 高速でフリーな移植性が高い、UNIX 用の MPEG
オーディオプレイヤーです。MPEG 1.0/2.0 レイヤ 1, 2 とレイヤ 3 (MP3
ファイルとして有名です)をサポートしています。Linux, FreeBSD,
NetBSD, SunOS, Solaris, IRIX, HP-UX などの様々なプラットホームで動
作が確認されています。CD と同等の音質 (44 kHz, 16 bit, stereo) で再
生するには、Pentium (あるいは高速の 486), SPARCstation10, DEC Alpha
などの CPU が必要です。モノラルあるいは音質が悪い再生(22 kHz や 11
kHz) なら、486 の遅い CPU でも再生できます。
o Freeamp
FreeAmp は拡張性のある、クロスプラットホームのオーディオプレイヤー
です。 GPL で非常に高速かつ音質の良い Xing MPEG デコーダを最適化し
たバージョンになります。ユーザが期待している多くの機能や、使いやす
いインターフェイスを提供します。
o GQmpeg(訳注)
GQmpeg は MPEG オーディオプレイヤー mpg123 の X のフロントエンドで
す。再生リストと複数の再生オプションをサポートしています。GQmpeg で
MPEG オーディオ再生するためには、mpg123 バージョン .59o が必要にな
ります。
http://www.geocities.com/SiliconValley/Haven/5235/mpeg-index.html
7.4. ストリーミングサーバ
ストリーミングサーバはイントラネットあるいはインターネットなどのネット
ワークを経由する MP3 の「放送」を可能にします。
o Icecast
ようこそ! Icecast は linuxpower.org チームが提供する、MPEG レイヤ 3
オーディオの放送システムです。Icecast には iceplay と icedir が入っ
ています。iceplay はエンコード済みのファイルを Icecast サーバへ送
る、再生リストの配布プログラムです。
o Fluid
Fluid ストリーミングサーバはネットワークを経由してストリーミングを
行うプログラムで、現在は MP3 形式を使用しています。
(old site)
(new site)
7.5. ミキシング
o LiveIce
LiveIce は放送用 MPEG ストリームのエンコーダ Icecast の送信クライア
ントです。Shout や IceDJ などのクライアントとは異なり、あらかじめエ
ンコードしてある MP3 だけではなく、生放送を可能にします。
o eMixer
eMixer は mpg123 の使いやすいフロントエンドで、ふたつの MP3 音声を
再生したり、ミキシングしたりできます。eMixer はふたつの MP3 音声を
ミキシングできるので、クロスフェーダーのように振る舞い、コンピュー
タに DJ のような能力を効果的に与えます。eMixer は様々な「リアルタイ
ムの」状況で非常に役立ちます。Liveice のミキシング部分をもとにして
書いた、オリジナルの MP3 ミキシングコードに基づいています。
7.6. その他
音量の正規化
o Wavnorm
生音声や古い CD からエンコードすると、音量がばらついていることに気
付くかもしれません。
エンコード後の MP3 の音量を変更するには、Wavnorm を使用して音量の正
規化を行う必要があります。
[訳注 : 正規化とは、ばらついている各音源の最大音量を、すべての音源
について同じ音量にすることです。]
sox はとても使いやすい音声変換ツールです。手に入れることをお勧めしま
す。 Wavnorm を使うのなら必要になります。
ミキサープログラムも必要になるかも知れません。 Xmixer は良く働き、多く
のディストリビューションに含まれています。
[ 訳注 : Xmms ならミキサーも付いています。Gnome
には gmix が、KDE には
kmix が付属しています。 ]
8. システム設定
この節では、アナログ入力あるいは CD-ROM から音声を録音するために、
Linux システム設定の基礎について述べます。
この節では、RedHat が動いている Intel ベースの Linux システムを基本と
します。しかし、当然各ディストリビューションについて普遍的な記述でもあ
るはずです。著者はまもなく SPARC 版 HOWTO の執筆にとりかかる予定です
(もし他のハードウェア上でこの HOWTO を用いて成功したなら、私に連絡を
取ってください)。
当たり前ですが、前提条件はサウンドカードが動作していることです。これに
ついては、Jeff Tranter が書いた優れた Linux Sound HOWTO を読むよう勧め
ます。その後、Yoo C. Chung による Linux Sound Playing HOWTO を熟読して
ください。上に挙げた HOWTO は両方とも、私が書けるよりもずっと優れた内
容で、Linux でサウンドシステムを動作させる詳細について扱っています。
[ 訳注 : JF プロジェクトによる日本語訳 Sound-HOWTO
, Sound-Playing-
HOWTO があ
ります。]
8.1. アナログ音声録音の設定
まず、オーディオの設定をしてください。Linux Box へ音声を伝える方法は多
数あり、一般的な手法は以下の通りです :
オーディオ装置のライン出力とサウンドカードのライン入力をつなぎます。多
くのオーディオ装置にはライン出力端子があります。ライン出力レベルはオー
ディオ装置が送り出す電圧を規定している標準です。私の記憶が確かなら、家
庭用およびセミプロ用装置が 500mV で、プロ用装置が 750mV です。大部分の
サウンドカードの標準は 500mV でしょうけど、いくつかの新しいプロ用オー
ディオ装置は高品位の標準に基づいているかもしれません。高水準の録音をし
ない限り、たいした違いはないはずです。
通常、ラインレベル出力は HI-FI 装置をアンプに接続するために用いるの
で、テープデッキ、チューナ、CD プレイヤー、DAT および MD プレイヤーは
問題なく接続できるはずです。アナログレコードプレイヤーはより多くの問題
があるかもしれないので、以下の更なる情報をご覧ください。
VTR から音声も高品質で録音できます。多くの VTR は音声のライン出力があ
るはずですし、あるいはお使いの VTR に SCART ソケットがあるのなら、そこ
からライン出力を取り出せます。
[ 訳注 : SCART ソケットとは欧州で VTR や TV を接続するための PAL 規格
に規定のあるコネクタです。(アナログ RGB マルチと同じ)角型の 21 ピンの
コネクタで、1 個のコネクタの中に、ステレオ音声、コンポジット、そして
Y/C (輝度/色) などの信号があります。このコネクタの付いたケーブル1本あ
れば、VTR や TV 間を迷わずに接続できるようになっています。NTSC 規格を
採用している日本や米国では、縁のないものです。]
アンプのテープ出力をサウンドカードのライン入力へ、サウンドカードのライ
ン出力をアンプのテープ入力へ接続してください。この作業は HI-FI アンプ
につながっている昔ながらのテープレコーダの代わりに、Linux システムを使
用することを意味します。テープへ入るサウンドカードのライン出力で録音レ
ベルを確認できます。
マイクはサウンドカードのマイク入力へつないでください。マイクが発生する
電圧はラインレベルよりはるかに小さく、マイクをサウンドカードのライン入
力へ接続しても何も録音できないでしょう。
警告: この逆に、ラインレベル装置をサウンドカードのマイク入力へ接続する
と、サウンドカードに損傷を与えるかもしれません。
アナログレコードプレイヤーはマイク入力へつなぎます。
Mark Tranchant さん、以下の情報をありがとう。
アナログレコードからの、そのままの出力は非常に低いレベルです。しか
し、アナログレコードをマイク入力へ直接接続して、良い結果を期待すること
はできません。アナログレコードでは、動いているレコード針の物理的特性に
合わせて、低音を少なくし高音が多くなるよう最適化しマスタリングします。
従って、出力を補正する必要があります。この補正は厳密に定義されており、
RIAA 補正と呼ばれています。まず出力をアナログレコード用のプリアンプに
通し、ライン入力へ接続する必要があります。
[訳注 : RIAA = Recording Industry Association of America, 米国レコード
工業会 ]
音楽用キーボードおよびシンセサイザはサウンドカードのライン入力へ接続す
べきで、ギターは DI ボックス (Direct Injection : 信号をラインレベルへ
変換するために使用する) を経由してライン入力へ接続します。
サウンドカードへ何かを接続する前に、ボリュームが最小になっていることを
確かめてください。マイクを使用するなら、マイクが切ってあるか、あるいは
スピーカから離してあるかどうか、確かめてください。
8.2. CD-ROM 音声録音の設定
CD-ROM から音声データを取り出すために Linux システムを設定することは、
かなり簡単です。
サウンドカードへ接続したスピーカやアンプを通じ CD-ROM で再生しているト
ラックが聴こえるなら、それを録音するのは難しくありません。
8.3. 追加の設定
システムに普通にログインし、ミキサープログラムを用いて、録音レベルを大
きすぎず音がひずまない程度の、充分な大きさへ設定してください。通常、筆
者は耳で聞いて判断しているだけですが、しばらくすればあなたも自分の道具
にちょうどいいレベルが分かってくるでしょう。
音源からエンコードする際には特に、不必要なすべてのサービスを停止する
か、シングルユーザモードへ移ることを勧めます。これは不要なサービスのな
い最小限の状態で動かし、録音時におけるシステムの一時的な不安定要因をで
きるだけ少なくするためのものです。
著者は資源を独占的に使用して録音ができるよう SCSI ドライブを分離して設
定していて、以下 /mp3 と表記します。性能向上を主目的として、SCSI ドラ
イブを使っています。また、明らかなことですが、音声データを書き込んでい
る際にディスクヘッドが突然他の部分へ飛んで行かないよう、専用のドライブ
で録音すると良いでしょう。:)
複数のディスクを持つ Linux システムを設定する詳細については、Stein
Gjoen による Multi-Disk-HOWTO をよく読んでください。きっと役立つでしょ
う。
[ 訳注 : JF プロジェクトによる日本語訳 Multi-Disk-HOWTO
があります。]
9. 音声のエンコード
まず、ドライブに充分な空き容量があることを確かめてください。44.1 kHz
サンプリング 16bit 量子化ステレオの CD レベル音質では、1 分でほぼ 10MB
(各チャンネルに 5MB) 必要です。
通常、著者は 48kHz サンプリング 16bit 量子化ステレオの DAT レベル音質
で録音します。
著者は以下の方法で Wavrec を使います :
______________________________________________________________________
/usr/local/bin/wavrec -t 60 -s 48000 -S /mp3/temp.wav
______________________________________________________________________
最初の部分は Waverec の絶対パスです。'-t 60' は録音時間を秒で指定しま
す。
3 つめのオプション '-s 48000' は サンプル/sec でサンプリングレートを指
定します。(48000 が DAT 用で、44100 が CD 用です。) 最後のオプションは
出力ファイルのパスです。
オプションのすべてを見るには、'waverec -help' とするか、マニュアルをご
覧ください。これが WAV ファイルを作成します。
次に、MP3 フォーマットへエンコードする必要があります。以下のように
BladeEnc を使ってください。
______________________________________________________________________
/usr/local/bin/bladeenc $ARGV[0];
exit;
}
else {
print "Usage cdriper [no of tracks] [destination directory]\n\n";
}
______________________________________________________________________
確認 : 上のスクリプトは非常に初歩的で、エラー確認や CDDB 検索のような
技がありません。皆さんがお暇なときに改良してください。 :)
ポイントになる行はこれです :
______________________________________________________________________
$cdcap = system("cdparanoia", $count, "/mp3/cdda.wav");
______________________________________________________________________
この行は CD リッパーである Cdparanoia を呼び出しています。 Cdparanoia
は CD の音声データを WAV フォーマットへ変換します。
著者は Cdparanoia を使っていますが、 CDDA2WAV を使いたいならコマンドラ
インは次のようになります:
______________________________________________________________________
$cdcap = system("cdda2wav", $count, "/mp3/cdda.wav");
______________________________________________________________________
目につくオプションはリップするトラック数を表す $count で、次が出力する
WAV ファイルのパスです。著者の例では、このパスは MP3 用の SCSI ドライ
ブにある、tmp ディレクトリになっています。
各トラックごとにリップとエンコードをせずに済むように、そして
Cdparanoia のバッチモードを使わず CD を吸い出せるように、著者はこの
Perl スクリプトを書きました。Cdparanoia をバッチモードで動かすと CD 全
体を吸い出し、600MB 以上の空き容量を必要とします。しかし、このスクリプ
トを使えば、使用するディスクの容量を削減できます。
Lame や午後のこ〜だを使いたいのなら、エンコーダの行を書き換えてくださ
い:
______________________________________________________________________
$enc = system("lame /mp3/cdda.wav $track -b 256");
______________________________________________________________________
or
______________________________________________________________________
$enc = system("gogo /mp3/cdda.wav $track -b 256");
______________________________________________________________________
以下に、エンコーダそれぞれのコマンドラインオプションを載せます。
Bladeenc
______________________________________________________________________
BladeEnc 0.91 (c) Tord Jansson Homepage: http://bladeenc.mp3.no
===============================================================================
BladeEnc is free software, distributed under the Lesser General Public License.
See the file COPYING, BladeEnc's homepage or www.fsf.org for more details.
Usage: bladeenc [global switches] input1 [output1 [switches]] input2 ...
General switches:
-[kbit], -br [kbit] MP3 ビットレートの設定。
デフォルトは 128kbps (モノラルでは 64kbps)
-crc MP3 ファイルにチェックサムを付加する
-delete, -del エンコードがうまくいったら元の音声ファイルを消す
-private, -p 出力ファイルにプライベートフラグを設定する
-copyright, -c 出力ファイルに著作権フラグを設定する
-copy 出力ファイルのオリジナルフラグを消去する
-mono, -dm 左右のチャンネルを混ぜてモノラル MP3 を生成する
-leftmono, -lm 左のチャンネルのみのモノラル MP3 を生成する
-rightmono, -rm 右のチャンネルのみのモノラル MP3 を生成する
-swap 左右のチャンネルを入れ替える
-rawfreq=[freq] RAW ファイルのサンプリング周波数を指定する。
デフォルトは 44100kHz
-rawbits=[bits] RAW ファイルの量子化ビット数を指定する。
デフォルトは 16 ビット
-rawmono RAW ファイルがステレオではなくモノラルだと指定する
-rawstereo RAW ファイルがステレオだと指定する(デフォルト)
-rawsigned RAW ファイルが符号付きと指定する(デフォルト)
-rawunsigned RAW ファイルが符号なしと指定する
-rawbyteorder=[order]RAW ファイルのバイトオーダーを指定する。
リトルエンディアンあるいはビッグエンディアン。
-rawchannels=[1/2] RAW ファイルのチャンネル数を指定する。
-rawmono, -rawstereo と同等である。
Global only switches:
-quit, -q エンコード後にキーを押さなくても終了する
-outdir=[dir] 指定したディレクトリに MP3 ファイルを保存する
-quiet 画面出力の停止
-nocfg 設定ファイルを無視する
-prio=[prio] BladeEnc の優先度を設定する。
HIGHEST, HIGHER, NORMAL, LOWER, LOWEST(デフォルト),
IDLE が指定できる
-refresh=[rate] 表示の更新周期。1=高速, 2=標準
-progress=[0-8] 経過表示の有無。0=Off, 1=標準
入出力ファイルとして標準入出力も使用できる。
______________________________________________________________________
Lame
______________________________________________________________________
LAME version 3.50 (www.sulaco.org/mp3)
GPSYCHO: GPL psycho-acoustic model version 0.74.
USAGE : lame [options] [outfile]
, は "-" (標準入出力)も使用できる
OPTIONS :
-m mode (s)tereo, (j)oint, (f)orce or (m)ono (デフォルト j)
force = 全フレームに ms_stereo を強制し、高速で
特別なマスキングモデルを使用する。
-b ビットレートを設定する。デフォルトは 128kbps
(VBR では最小ビットレートの指定になる)
-s sfreq 入力のサンプリング周波数。デフォルトは 44.1kHz
--resample sfreq 出力のサンプリング周波数。デフォルトは入力のサンプリング周波数
--mp3input 入力が MP3 ファイルだと指定する
--voice 実験的なボイスモード
-v 可変ビットレート (VBR) を指定する
-V n VBR の音質を指定する。デフォルトは n=4
0= 良い音質だがファイルが大きくなる
9= ファイルが小さくなる
-t Xing VBR 情報タグを無効にする
--nohist VBR ヒストグラムを表示しない
-h 音質を向上させる(かもしれない)
-f 高速モード (音質が悪い)
-k sfb=21 カットオフを無効にする(訳注:高音域も残す)
-d 各チャンネルでブロック形式が異なることを許す
--athonly マスキングに ATH のみを使用する
-r 入力として raw pcm を使用する
-x 入力のバイトオーダーを逆にする
-a ステレオ音声をモノラルへ変換してモノラルエンコードを行う
-e emp デエンファシス n/5/c (古いオプション)
-p エラー保護として、各フレームに 16bit のチェックサムを付加する。
(チェックサムは正確に計算される)
-c 著作権ありの印をつける
-o オリジナルではないとの印をつける
-S VBR ヒストグラムなどの高度な画面表示を行わない
以下のオプションを指定すると ID3 タグを付加する
--tt 曲名(最大 30 文字)
--ta アーティスト名(最大 30 文字)
--tl アルバム名(最大 30 文字)
--ty 曲・アルバムの製作年(最大 4 文字)
--tc 追加情報(最大 30 文字)
MPEG1 サンプリング周波数 (kHz): 32 44.1 48
ビットレート (kbps): 32 48 56 64 80 96 112 128 160 192 224 256 320
MPEG2 サンプリング周波数 (kHz): 16 22.05 24
ビットレート (kbs): 8 16 24 32 40 48 56 64 80 96 112 128 144 160
______________________________________________________________________
午後のこ〜だ
______________________________________________________________________
午後のこ〜だ ver. 2.30Final (Apr 13 2000)
Copyright (C) 1999, 2000 PEN@海猫 と へるみ
酒居敬一さん, うるりさん, Noisyuさん, 計さんに多大なる感謝
午後のこ〜だはLAME3.29betaを元にLGPLに基づいて公開されたソフトです
使い方
gogo inputPCM [outputPCM] [options]
inputPCM は wavファイルを指定
inputPCMに'stdin'を指定すると標準入力モードになる
outputPCM は省略可能
使用可能なオプション一覧
-b kbps/-br bps ビットレート[単位 kpbs/bps]
-silent 途中経過非表示[未指定時は表示]
-m {s,m,j} 出力形式 s:ステレオ, m:モノラル, j:jointステレオ
-nopsy 心理音響モード無効(未指定時は有効)
-off {3dn,mmx,kni(sse),e3dn}
WAVEヘッダを解析しないで自分で設定する場合
-offset bytes 読み飛ばすヘッダサイズ
-8bit 8bit-PCM [未指定時 16bit-PCM]
-mono mono-PCM [未指定時 stereo-PCM]
-bswap 16bitPCMのlow, high byte交換
-s kHz 入力WAVの周波数変換指定[単位 kHz]
-cpu n 実装されているCPUの数(未指定時は自動検出)
-d kHz 出力MP3の周波数変換指定[単位 kHz]
-emp {n,c,5} de-emphasis設定
-lpf {on,off} 16kHフィルタ設定(省略時は128kbps以下なら有効:160kbps以上なら無効)
-delete エンコード終了後ファイル削除
-i 上書き確認
-o dir 出力ディレクトリ
-riff {wave, rmp} RIFF/WAVE または RIFF/RMP 形式出力
-test ベンチマークモード
-lang {sjis,eucjp,eng,ger} 言語の選択
______________________________________________________________________
[訳注 : 翻訳の時点で最新の、「午後のこ〜だ」日本語版へルプです。 ]
10.1.1. RipEnc
RipEnc は今までに挙げたソフトウェアと同様の動作をしますが、シェルスク
リプトで書かれいて使いやすくなっています :)
______________________________________________________________________
RipEnc version 0.7, Copyright (C) 1999 Michael J. Parmeley
, RipEnc comes with ABSOLUTELY NO WARRANTY
RipEnc は完全に無保証のソフトウェアです。
現在、バックグラウンドで動いているエンコードプロセスはありません。
encode.log ファイルは 982607 バイトです。
<詳細は 'd', エンコードログ表示は 'v', ログ消去は 'del' を入力してください。>
1) 作業用ディレクトリの変更....................[/megajukebox/tmp]
2) エンコーダの選択............................[lame]
3) リッパーの選択..............................[cdparanoia]
4) ID3 タグ編集ツールの選択....................[none]
5) 手動入力か CDDB による自動入力か............[manual]
6) CDA 用の環境変数 XMCD_LIBDIR の設定.........[/var/X11R6/lib/xmcd]
7) ファイル名変換の設定........................[artist-name_of_song.mp3]
8) CD 全体の吸出し?............................[no]
9) 小容量ハードディスク用オプションの設定......[no]
10) CD-ROM デバイスの選択......................[/dev/cdrom]
11) MP3 のビットレート設定.....................[256]
12) 作業ディレクトリのファイル一覧を出力
13) スタート
14) このソフトウェアについて
15) 終了
?
______________________________________________________________________
10.2. GUI ベースのエンコーダ
GUI ベースのエンコーダは、コンソールベースのエンコーダにある機能のすべ
てを GUI で包んでいます。そして、使いやすいユーザインターフェイスも
持っています。Grip と RipperX は使い方が似ており、双方とも CD からひと
つあるいは複数の曲を選択して変換できます。アルバムと曲の情報をサーバか
ら取得して手で入力する手間を省ける、CDDB もサポートしています。
10.3. エンコーダの性能
エンコーダの節で、BladeEnc, Lame そして午後のこ〜だの、3 つのエンコー
ダについて述べました。これらのエンコーダ間の主な違いは、エンコード時の
性能です(とはいえ、前述したコマンドラインオプションにも違いがありま
す)。
ちょっとした例を挙げます。CD から曲を抽出し、異なるエンコーダを使用し
てエンコードしました。すべてのエンコーダは同一のシステム条件で動作さ
せ、ステレオの MP3 ファイルを作成しました。
______________________________________________________________________
[dj@megajukebox]$ ls -l cdda.wav
-rw-rw-r-- 1 dj dj 59823164 Feb 10 00:56 cdda.wav
[dj@megajukebox]$ bladeenc cdda.wav -br 256
BladeEnc 0.91 (c) Tord Jansson Homepage: http://bladeenc.mp3.no
===============================================================================
BladeEnc is free software, distributed under the Lesser General Public License.
See the file COPYING, BladeEnc's homepage or www.fsf.org for more details.
Files to encode: 1
Encoding: ../test.wav
Input: 44.1 kHz, 16 bit, stereo.
Output: 128 kBit, stereo.
Completed. Encoding time: 00:05:58 (0.78X)
All operations completed. Total encoding time: 00:05:58
--------------------------------------------------------------------------------
[dj@megajukebox]$ lame cdda.wav -b 256
LAME version 3.50 (www.sulaco.org/mp3)
GPSYCHO: GPL psycho-acoustic model version 0.74.
Encoding ../test.wav to ../test.wav.mp3
Encoding as 44.1 kHz 128 kbps j-stereo MPEG1 LayerIII file
Frame | CPU/estimated | time/estimated | play/CPU | ETA
10756/ 10756(100%)| 0:02:28/ 0:02:28| 0:02:29/ 0:02:29| 1.9074| 0:00:00
--------------------------------------------------------------------------------
[dj@megajukebox]$ gogo cdda.wav -m s -b 256
GOGO-no-coda ver. 2.24 (Feb 12 2000)
Copyright (C) 1999 PEN@MarineCat and shigeo
Special thanks to Keiichi SAKAI, URURI, Noisyu and Kei
MPEG 1, layer 3 stereo
inp sampling-freq=44.1kHz out sampling-freq=44.1kHz bitrate=256kbps
inp sampling-freq=44.1kHz out sampling-freq=44.1kHz bitrate=128kbps
input file `../test.wav'
output file `../test.mp3'
{ 10751/ 10755} 100.0% ( 2.94x) re:[00:00:00.03] to:[00:01:35.42]
End of encoding
time= 95.430sec
______________________________________________________________________
Bladeenc や Lame よりも、午後のこ〜だの方がはるかに優れたエンコードア
ルゴリズムを使用していると分かりました。
11. MP3 のストリーミング
ストリーミングサーバは TCP ベースのネットワークで MP3 ファイルの送信を
可能にします。また、インターネットや局所的なネットワーク(イントラネッ
ト)でも同様のことができます。
接続の形式は WEB サーバと非常に似ており、クライアント(MP3 プレイヤー)
がサーバへ接続するとファイルが配信されます。
ストリーミングサーバの設定は非常に簡単です。まず Icecast、次に Fluid
の順に説明します。
11.1. Icecast
Icecast をダウンロードして tar ファイルを展開したあと、doc/ ディレクト
リをよく見ると良いでしょう。HTML のマニュアルは非常に役に立ち、幅広い
情報を含んでいます。
ソースをダウンロードしたら、システムに適した命令を実行しコンパイル作業
を行ってください。
etc ディレクトリにある設定ファイル icecast.conf へ(訳注:今あなたが設定
している) Icecast サーバの名前を正しく記述しなければ、 Icecast は正常
に動作しません。サーバ名は IP アドレスへ正確に変換できなければなりませ
ん。
Icecast を起動したときに以下のメッセージが出たなら、何か問題がありま
す。
______________________________________________________________________
-> [05/Jan/2000:17:21:04] WARNING: Resolving the server name [your.server.name] does not work!
______________________________________________________________________
etc ディレクトリにある icecast.conf を編集してください。
``server_name'' のエントリを追加し、サーバ名を入力してください。サーバ
名が不明なら、hostname コマンドあるいは /etc/hosts を見ればサーバ名が
分かります。
必要な変更が済んだら、設定ファイルを bin ディレクトリへコピーするか、
以下のように -c オプションで設定ファイルを指定して Icecast を起動する
必要があります。
______________________________________________________________________
./icecast -c ../etc/icecast.conf
______________________________________________________________________
すべて正しく設定が済んだら、以下のような出力が見えるはずです。
______________________________________________________________________
[dj@megajukebox bin]$ ./icecast -c ../etc/icecast.conf -d /home/dj/mp3/icecast/
Icecast Version 1.3.0 Starting...
Icecast comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of Icecast under the terms of the
GNU General Public License.
For more information about these matters, see the file named COPYING.
[05/Jan/2000:18:36:30] Icecast Version 1.3.0 Starting..
[05/Jan/2000:18:36:30] Using stdin as icecast operator console
[05/Jan/2000:18:36:30] Tailing file to icecast operator console
[05/Jan/2000:18:36:30] Server started...
[05/Jan/2000:18:36:30] Listening on port 8000...
[05/Jan/2000:18:36:30] Using [megajukebox] as servername...
[05/Jan/2000:18:36:30] Max values: 1000 clients, 1000 clients per source, 10 sources, 5 admins
-> [05/Jan/2000:18:36:30] [Bandwidth: 0.000000MB/s] [Sources: 0] [Clients: 0] [Admins: 1] [Uptime: 0 seconds]
______________________________________________________________________
-d オプションはログファイルとテンプレートファイルのディレクトリを設定
します。
以下に、コマンドラインオプションの一覧を挙げます:
______________________________________________________________________
-c [filename]
設定ファイルを指定します。コマンドラインオプションは設定ファイルによる
設定を上書きすることに注意してください。カレントディレクトリの
icecast.conf は特に指定しなくても既に読み込まれています。従って、 新し
い設定ファイルが上書きするものを除き、icecast.conf で記述した設定はす
べてサーバが使用します。
-P [port]
すべてのクライアントと音源、そして管理用に使用するポートを指定します。
デフォルトは 8000 です。
-m [max clients]
クライアントからの接続を許可する最大数を指定します。クライアント接続数
がこの値に達すると、すべてのクライアントとの接続を拒否して 'HTTP/1.0
504 Server Full' と出力します。
-p [encoder password]
エンコーダがサーバへ音声データを送る際に使わなければならないパスワード
を指定します。crypt() をサポートするようコンパイルしたなら、暗号化済み
の文字列を指定しなければなりません。
-b
(デーモンのように) Icecast サーバをバックグラウンドで起動します。サー
バ管理コマンドを使用するには、Telnet などを使って管理者としてサーバへ
接続する必要があります。
-d [directory]
Icecast のログのすべてを指定したディレクトリに作成します。また、
Icecast はこのディレクトリからの相対パスで、テンプレートファイルを探す
ようになります。
______________________________________________________________________
これでサーバが起動しました。次に、MP3 ファイルを指定してサーバへ接続す
る必要があります。
Shout と LiveIce ふたつから、MP3 データをサーバへ配布するアプリケー
ションを選択できます。
11.1.1. Shout
Shout は Icecast にストリーミングを行う MP3 の再生リストを提供します。
Shout は Icecast の配布パッケージに含まれています。
以下のようにして、ストリーミングする MP3 ファイルの再生リストを作成し
ます。
______________________________________________________________________
find [MP3 directory] -name *.mp3 -print > playlist
______________________________________________________________________
基本的には、Shout を起動するには以下のようにコマンドを実行します。
______________________________________________________________________
[dj@megajukebox bin]# ./shout megajukebox -P hackme -p playlist
______________________________________________________________________
-P オプションは Icecast へマウントポイントを追加するために必要となるパ
スワードを指定します。hackme のように適切に設定してください。パスワー
ドを変更することを強く勧めます。さもないと、誰かがあなたのマシンを乗っ
取りますよ。:) -p オプションは再生リストがある場所を指定します。
コマンドラインオプションの一覧を以下に挙げます。
______________________________________________________________________
[dj@megajukebox bin]# ./shout
Usage: shout [options] [[-b - Shout のファイルすべてに使用するディレクトリを指定する
-C - 設定ファイルを指定する
-D - (system()) で各曲の前に dj_file を実行する
-P - パスワードを指定する
-S - すべての設定を表示して終了する
-V - 冗長出力
-X - 解説を指定する
-a - 自動ビットレート補正を使用する
-b - ビットレートの初期値を指定する
-d - dj を有効にする
-e - 接続するポート番号を指定する
-f - 指定したビットレートではないファイルはとばす
-g - 指定したジャンルを使用する
-h - この文章を表示する
-i - 古い icy ヘッダを使用する
-k - 再生リストを切り捨てない(維持する)
-l - リピート再生
-m - マウントポイントを指定する
-n - 名前を指定する
-o - ビットレート自動設定を使用する
-p - 再生リスト名を指定する
-r - シャッフル再生
-s - ディレクトリサーバへメタデータを送らない(秘密モード)
-u - URL を指定する
-v - バージョンを表示する
-x - cue ファイルを更新しない (計算量の節約)
-z - バックグラウンド実行(デーモンモード)
-t - タイトルの配布を有効にする
______________________________________________________________________
11.1.2. LiveIce
LiveIce にはふたつの動作モードがあります。Icecast へ再生リストを渡せま
すし、サウンドカードからの生音声をリアルタイムに流すこともできます。
ソフトウェアを構成するために、 Tar アーカイブを展開して README を読ん
でください。その後、LiveIce の動作に必要な mpg123 がインストールしてあ
ること、そして動作するかどうかを確認してください。
LiveIce を設定するにはふたつの方法があります。設定ファイルを vi や
emacs などで編集する方法と、TK ベースの設定ツールを使う粋な方法のふた
つです :)
liveice.cfg の本質について最も詳しく書いてあるのは LiveIce の Web ペー
ジです。liveice.cfg のすべてのオプションについて解説しています。
LiveIce を (MP3 リストからストリーミングする)ミキサーモードにセットす
る設定ファイルを以下に載せます。
注: 設定ファイルにはコメントを加えてありますので、カット & ペーストし
たときに、コメントが次の行へかからないように気を付けてください。そうし
ないと、LiveIce は動作しなくなります。
______________________________________________________________________
# liveice の設定ファイル(自動生成)
SERVER megajukebox # サーバ名 *名前を引ける必要があります*
PORT 8000 # Icecast が使用するポート番号
NAME Megajukebox # MP3 プレイヤーとディレクトリサーバに送るサーバ名
# 例) 'Sarah FM' or 'ThisTown: Loud and Heavy Jazz - Internet Radio 24/7'
GENRE Live # ジャンルに関する情報 例)'Talk' or 'Dance'
DESCRIPTION # 放送局に関する情報 例)'The best for reggae in the North'
URL http://megajukebox:8000 # サーバの URL
PUBLIC 0 # ディレクトリサーバに放送局と放送内容を知らせたい場合は 1
# それ以外は 0
XAUDIOCAST_LOGIN # ICY_LOGIN か X_AUDIOCAST_LOGIN を指定する。X_AUDIOCAST が良い
MOUNTPOINT /techno # X_AUDIOCAST を指定した場合のみ、Icecast ストリームのマウントポイント名を指定する。
# それ以外はデフォルト値の icy_0
PASSWORD hackme # Icecast の管理者パスワード
SAMPLE_RATE 44100 # ストリームのサンプリング周波数
STEREO # MONO か STEREO を指定する
NO_SOUNDCARD # 以下を見てください
HALF_DUPLEX # サウンドカードとの通信方式を指定する。HALF_DUPLEX (半二重) あるいは FULL_DUPLEX (全二重)
USE_GOGO # 使用するエンコーダを指定する。README の一覧を確認してください。
BITRATE 128000 # ストリームのビットレートを指定する(以下を参照せよ)
VBR_QUALITY 1 # 可変ビットレートを有効にする
MIXER # 以下を見てください
PLAYLIST /megajukebox/playlist # 再生リストの場所(詳細は本章の後半にあるコマンドをご覧ください)
TRACK_LOGFILE track.log # 配信された MP3 ストリーム一覧のファイル名と場所
______________________________________________________________________
設定ファイルが書けたら、以下のように LiveIce を起動してください:
______________________________________________________________________
[dj@megajukebox liveice]$ ./liveice
/megajukebox/playlist
1
opening connection to megajukebox 8000
Attempting to Contact Server
connection successful: forking process
opening pipe!...
writing password
Setting up Interface
Soundcard Reopened For Encoding
Input Format: 16Bit 44100Hz Stereo
Output Format: 256000 Bps Mpeg Audio
IceCast Server: megajukebox:8000
Mountpoint: /techno
Name: megajukebox - this and that radio - broadcasting 24/7
Genre: Techno
Url: http://megajukebox
Description: a load of digital noise -> but i know you like it :)
Press '+' to Finish
adding /megajukebox/demotunes/track_1.mp3
adding /megajukebox/demotunes/track_2.mp3
adding /megajukebox/demotunes/track_3.mp3
adding /megajukebox/demotunes/track_4.mp3
/megajukebox/demotunes/track_4.mp3
Adding New Channel 1
Adding New Channel 2
Channel 1 selecting
/megajukebox/demotunes/track_1.mp3
Channel 2 selecting
/megajukebox/demotunes/track_1.mp3
Playing track_1.mp3
searching for Id3v2
searching for Id3v1
copying the data
fixing the nulls
adding the url
closing input file
Using log track.log
______________________________________________________________________
最後の行はピークメーターです。
ミキサーモードの操作キー一覧を挙げます:
______________________________________________________________________
操作 チャンネル 1 キー チャンネル 2 キー
~~~~~~ ~~~~~~~~~~~~~ ~~~~~~~~~~~~~
チャンネルの次の曲を選択 1 a
チャンネルの前の曲を選択 q z
チャンネルのスタート/ストップ 2 s
チャンネルのリセット w x
音量を大きく 3 d
音量を小さく e c
再生速度を早める 4 f
再生速度を遅くする r v
スティッキーモード On/Random/Off
5 g
チャンネルの試聴 t b
ランダム再生 u m
______________________________________________________________________
上記の liveice.cfg はミキサーモードのものです。LiveIce をオーディオモ
ードで使用するには、MIXER と書いてある行を NOMIXER へ、NO_SOUNDCARD を
SOUNDCARD へ変更し、LiveIce を再起動してください。
正しいオプションを指定し忘れると、面白い警告を受けます;)
______________________________________________________________________
946:Error: Line In mode *and* no soundcard??????? Eeejit!
______________________________________________________________________
正しく設定し外部の音源を接続したのなら、ストリーミングできるでしょう
=:)
______________________________________________________________________
[dj@megajukebox liveice]$ ./liveice
/megajukebox/playlist
0
Initialising Soundcard
16Bit 22050Hz Stereo Full Duplex
opening connection to megajukebox 8000
Attempting to Contact Server
connection successful: forking process
opening pipe!...
writing password
Setting up Interface
Soundcard Reopened For Encoding
Input Format: 16Bit 22050Hz Stereo
Output Format: 32000 Bps Mpeg Audio
IceCast Server: megajukebox:8000
Mountpoint: /daves_band_live_at_the_club
Name: megajukebox - Dave and the Dynamite - Live at the Roxy
Genre: Live/Rock
Url: http://megajukebox
Description: megajukebox::Louder than a frog in a trashcan..... and almost as musical
Press '+' to Finish
Lvl: L: 8704 R: 11776
______________________________________________________________________
最後の行は信号レベル表示で、入力信号が高すぎると *clip* (切捨て)の警告
が発生します。できるなら、入力のゲインを下げてください。
鋭敏な目をもっているなら、liveice.cfg の最初のコメントに自動的に生成さ
れたファイルだと書いてあることに気付くかもしれません。TK ベースの GUI
である liveiceconfigure.tk を使っている、あるいは手動で設定変更をした
のなら、設定を保存した際に設定ファイルから上記のコメントがなくなりま
す。 GUI を使うか、vi や emacs の使い方を学びましょう。:)
11.2. Fluid
パッケージを展開したら、展開したディレクトリへ移動して README を読んで
ください。:)
Fluid には送信、中継、転送の 3 つの基本的なモードがあります。ここで
は、送信についてのみ説明します。
送信に関連する設定ファイルは config/MP3TX.cfg にあります。サーバをテス
トするには、以下のようにして起動してください。この時点では、デフォルト
の設定ファイルで問題ないはずです。
______________________________________________________________________
$ java Fluid TX
______________________________________________________________________
当たり前の話ですが、まず最初に何らかの形で Java をインストールする必要
があるでしょう。 で手に入る、 Blackdown に
よる JDK の移植を使用できます。あるいは RedHat を使っているなら、Kaffe
を使えます。
Fluid にはサンプルの MP3 ファイルがいくつか付属しています。従って、す
べて正常に動作すれば、以下の例と似ている出力を目にするはずです(この例
では Kaffe を使用しサーバを起動しましたが、Java を使って起動する必要が
あるかもしれません)。
______________________________________________________________________
[dj@megajukebox Fluid-Beta2J]$ kaffe Fluid tx
------- Fluid Streaming Server Beta 2 -------
This program is ShareWare(tm) and it will not
be crippled in any way because of it. However
if you do like the program and will use it
commercial purposes, we ask of you to contact
us at the address below for pricing info:
Eldean AB E-mail:
Sjoangsvagen 7 fluid@subside.com
S-192 72 Sollentuna
SWEDEN
Fluid is Copyright Subside (C) 1998
written by Lars Samuelsson
http://www.subside.com
---------------------------------------------
* Transmission mode *
Reading config from: config/MP3TX.cfg
Reading playlist: playlist.m3u
Server started on port: 2711
Accepting administrator login on port: 2710
P| Dr. Nick - Hello Everybody
______________________________________________________________________
上記のような出力になったら、正常に動作しているでしょう。しかし、デモ
ファイルをストリーミングするだけじゃなくて、それ以上のことをやりたいで
すよね!
ストリーミングしたい MP3 の再生リストをコンパイルする必要があります。
このリストはユーザが変更したり配送要求できない静的なリストになります。
これは playlist.m3u という名前で、デフォルトではルートディレクトリにあ
ります。
特定のディレクトリ(あるいはディスク)にあるすべての MP3 ファイルについ
て、再生リストをコンパイルするには、以下のようにコマンドを使ってくださ
い。
______________________________________________________________________
find [MP3 directory] -name *.mp3 -print > playlist.m3u
______________________________________________________________________
デフォルトではサーバは 2711 番のポートを使用し、リスナーはこのポートへ
接続してきます。このポート番号を変えたいのなら、設定ファイルで変更でき
ます。
管理者用ポートへ telnet し、サーバをリモート管理できます。このポートは
デフォルトでは 2710 番で、以下のように操作します。
______________________________________________________________________
[dj@megajukebox Fluid-Beta2J]$ telnet localhost 2710
Trying 127.0.0.1..megajukebox
Connected to localhost.localdomain.
Escape character is '^]'.
jaguar
You are connected to the -Fluid- Streaming Server
Type "help" for a command reference
help
The following commands are available:
help conn curr exit
curr
Information about the currently broadcasted song:
Title: Beer Talk
Artist: Homer Simpson
Album: The Simpsons
Year: 1996
Comment: Borrowed this as an example
Genre: Comedy
______________________________________________________________________
``jaguar'' はデフォルトの管理者パスワードです。パスワード入力のプロン
プトは出ないので、そのまま待っていたりしないでください! パスワードを
初期設定から変更するよう勧めます。そうしないと、侵入者を招き入れること
になりますよ! パスワードの変更は、以下のように設定ファイルで行います:
______________________________________________________________________
[dj@megajukebox config]$ cat MP3TX.cfg
2711
2710
5
4096
32
1000
jaguar
playlist.m3u
current.txt
# --- 各行の説明 ---
# 1. (サーバが使用する)ポート番号
# 2. (リモート管理用の)ポート番号
# 3. (サーバが許可する)最大接続数
# 4 読み書きのパケットサイズ [Byte]
# 5. MP3 ファイルのビットレート [kbps]
(すべての MP3 ファイルは同じビットレートでなければならない)
# 6. 曲間のポーズ [msec]
# 7. リモート管理用のパスワード
# 8. (.m3u 形式の)再生リスト名
# 9. (ID3 タグから)曲情報を書き込むファイル名
______________________________________________________________________
ここで参照する m3u 形式の再生リストは、先に find コマンドで作成したも
のと同じ形式になります。
11.3. 帯域の検討
MP3 サーバにおいてビットレートの設定を高くしすぎると、ストリーミングは
大量の帯域を消費する可能性があります。
この現象を考察してみましょう。T1 回線は 1.55 Mbps ほどの容量がありま
す。 MP3 を 128kbps ステレオ音声でストリーミングすると、接続する各々の
プレイヤーは 256kbps の帯域を使用するでしょう。従って、6 人のユーザだ
けが、その MP3 サーバへ同時に接続できます。そして 256kbps では、多くの
モデム接続のユーザが接続できません!
[訳注 : 必ずしも、ステレオ音声がモノラル音声の 2 倍の帯域を消費するわ
けではありません。エンコード形式によっては、2 倍よりもずっと小さくなり
ます。]
従って、サーバがインターネットへ接続している回線の帯域だけではなく、ど
のようなユーザが接続してくるのかも考慮して、ストリームのビットレートを
決めなければなりません。56k モデムのユーザが接続するには、24kbps ステ
レオがちょうど良い音質の音声になり、一本の T1 回線で同時に 32 個の接続
をほぼまかなえるでしょう。
サーバがイントラネットで動いているとしても、やはり帯域幅の問題を考慮し
なければなりません。ネットワークが 10Mbps の場合は特にその必要がありま
す。
ISP あるいはネットワーク管理者に、これからストリーミングを始めると知ら
せてください。そうしないと、後になってからショックを受けるかもしれませ
ん。ある制限値を超えた帯域には、追加料金を課す ISP もあります。そし
て、ネットワーク管理者はネットワークがなぜ遅いのかを知りたがっています
:)
11.4. 著作権の問題
許可や著作権料などの支払いのないストリーミングを、レコード会社が好まな
いのはもっともなことでしょう。それでは、何をストリーミングできるので
しょうか?
[訳注:著作権関連など] ストリーミングには法的な責任が伴うので、法律の分
野にも気を配る必要があるでしょう。
以下に 2 つのリンクを挙げます。ひとつは、技術をとりまく制約をなくすよ
う主張している、Electronic Frontier 財団です。もうひとつは、著作権侵害
からアーティストの権利を守ろうとする、米国レコード協会 (RIAA) です。
両方のサイトを見るよう、強く勧めます。また、あなたが実際に住んでいる場
所の、ストリーミングと著作権に関連するサイトも見るよう勧めます。
o Electronic Frontier 財団
o 米国レコード協会
[訳注 : 日本国内においては、音楽著作権は著作者からの委託を受け、
JASRAC が独占的に管理しています。日本国内で
音楽配信を行いたいのなら、必ず見ておきましょう。 ]
12. MP3 を聴く
さあ、聴ける MP3 ファイルがいくつかできているでしょう。そして、ファイ
ルでもストリームでもどちらでも好きなほうを再生できます。
12.1. ファイルの再生
すべてのプレイヤーで、簡単に MP3 ファイルを再生できます。コマンドライ
ンベースか X ベースなのか、それだけが各プレイヤー間の主な違いです。
MP3 ファイルを再生するには、以下のように引数として MP3 ファイルを渡し
ます:
______________________________________________________________________
[dj@megajukebox]$ mpg123 /mp3_files/SampleFile.mp3
or
[dj@megajukebox]$ xaudio /mp3_files/SampleFile.mp3
______________________________________________________________________
[ 訳注 : SampleFile.mp3 は再生したい MP3 ファイルの名前です。 ]
複数のファイルを連続再生したいのなら、そのファイルを並べて引数にしてく
ださい:
______________________________________________________________________
[dj@megajukebox]$ alsaplayer /mp3_files/SampleFile1.mp3 /mp3_files/SampleFile2.mp3
______________________________________________________________________
ディレクトリ中のすべてのファイルを再生するには、再生するファイルにマッ
チするようなワイルドカードを使ってください:
______________________________________________________________________
[dj@megajukebox]$ xmms /mp3_files/*.mp3
______________________________________________________________________
12.2. MP3 のストリーミング再生
MP3 ストリームをとても簡単に再生するには、ファイル名をストリーム送信元
の URL とポート番号へ置き換えるだけです:
______________________________________________________________________
mpg123 http://localhost:8000
or
freeamp http://megajukebox:2711
______________________________________________________________________
12.3. ミキシング
12.3.1. eMixer
eMixer は DJ のミキシングテーブルと同じようなやり方で、MP3 をミックス
できます。
新しいバージョンでは 2 枚のサウンドカードをサポートしているので、1 枚
目のカードでミックスしたものを出力し、もうひとつで次の曲を聴いて頭出し
することもできます。
いつもの通りにアーカイブを展開し、readme のインストール方法の部分を読
んでください。
MP3 の再生リストを作成する必要があります。ストリーミングの節で触れたよ
うに、find コマンドを使って作成してください。
eMixer を動かす前に、mpg123 をインストールしなければなりません。
以下に、キー操作の一覧を挙げます (readme からの引用です)。
______________________________________________________________________
キー操作
"↑, ↓" 再生リストのスクロール
"page up, page down" 再生リストの画面全体のスクロール
"enter" トラックの再生/停止
"tab" チャンネルの変更
"}","]" ボリウムと再生速度制御のトグル
"space" 現トラックをもう一度再生
"left, right" フェードコントロール
"insert" チャンネル 1 のボリウム/再生速度を減らす
"home" チャンネル 1 のボリウム/再生速度を増やす
"delete" チャンネル 2 のボリウム/再生速度を減らす
"end" チャンネル 2 のボリウム/再生速度を増やす
"< , / , >" 左右のバランス制御
" + , = " (NEW) フェーダー間のスイッチ
" q " チャンネル 1 の再生/停止
" w " チャンネル 2 の再生/停止
" p " 再生モードの変更 ― 一曲再生、ループ、連続、ランダム
" a " 全チャンネルの再生停止
" f " ファイルメニュー
" u " ユーティリティメニュー
" h " ヘルプメニュー
" ~, ` " キャンセルメニュー
" s " SIM 再生オン
(SIM はふたつのチャンネルで同時に
同じトラックを再生します)
______________________________________________________________________
13. フィードバック
新しいハードウェアおよびソフトウェアが常に発表されています。本文書で挙
げているハードウェアかソフトウェアの新しいバージョンを使っている、ある
いは本文書に何か追加できるのなら、phil@plus24.com まで情報を送ってくだ
さい。著者は次のリリースへその情報を含めます。
著者はすべての質問に返事を書きたいのですが、仕事のためにすばやく返信で
きないこともあります。御理解ください。
[ 訳注 : 本文書の日本語訳に関しては さいとうかん
までお願いします。]
改訂履歴を以下に示します。
v1.40.j1, 2000 年 9 月 18 日
翻訳: さいとうかん
校正:
o Tsutomu Kawashima
o 後藤雅晴
o 武井伸光
o MIZUHARA Bun
v1.31.j1, 2000 年 4 月 24 日
翻訳: さいとうかん
校正:
o 武井伸光
o 山下義之
v1.10.j1, 1999 年 12 月 29 日
翻訳: さいとうかん
校正:
o Teruo KATOH
o 佐藤亮一
o 武井伸光
o 藤原輝嘉
o 森本 淳
o 吉永 功
(敬称略 五十音順)
Happy MP3'ing!!