Buho No.218 目次

MP3といふモノ 第三回

〜そしてまた灰色〜

わいりー


前回話題に上ったポータブルMP3プレーヤーRioですが, 遂に日本でも発売されました。

アキバの大手PC店で ¥28000 ぐらいです。

メモリ容量が小さくて,CD一枚分が入りきらねぇ, とかいろいろ不具合もあるものの, 欲し〜 はぁはぁ

さて既に第三回ですが,今回は実際にMP3を作って聴いてみることにします。 エンコーダとかプレーヤの詳細な評価もしようと思っていたのですが, それについては,遙かに詳しいサイト MP3TidalWave 1 が存在しているため,こっちを参照してもらった方が良かろうかと思います。 とりあえず,今回の話については,適宜TidalWave参照ってことで夜露死苦。 あとは,あまり雑誌とかに載らない, ダークな部分も少しばかり紹介してみようかと。 それにしても,なんでMP3にはこうもアングラな部分がついてまわりますか!? 音声圧縮の基本原理とかは……

一昨年のあじさんの記事を参照

するのが多分一番質が高いと思うんですけど。 もしかしたら次回あたりで書くかもしれませんが,期待しないで下さい。

ぶっこ抜き

例えば,手元のCDをMP3で録音したいなー,と思ったとします。 その場合の手順は次のような感じです。

  1. CDに記録されてるデジタルデータを,PCで扱えるファイル形式に変換
  2. そのファイルをエンコーダにかけてMP3形式にエンコード

自分の歌をPCで録音してMP3にしたいなー,とかいう場合には, 前半の作業は不要です。 ここでいう,「PCで扱えるファイル形式」 とは,無圧縮PCMデータのことで,一般には拡張子が .wav のファイルです。 .wav でも中身が無圧縮PCMとは限りませんが……。 無圧縮PCMとは何か? ということは,とりあえず後回しです。 音楽CDにはCD-DAという形式で,デジタルデータが入っているわけですが, これはこのままではPC上で扱えません。 普段PCのCD-ROMドライブでCDを聴いている時は,大抵の場合, CD-ROMドライブ上でデジタル→アナログ変換を行って, そのアナログデータをサウンドカードに流す,という処理が行われています。 これをサウンドカード側で録音して使うことも可能なのですが, このデジタル→アナログ変換の性能は,かなり残念なカンジTM ですし, せっかくデジタルデータで記録されているものを, 一度アナログにしてから取り込み直すのは無駄無駄無駄無駄無駄無駄無駄ッ というわけで,直接CD-DAをwavへと変換してしまいましょう。 そのためのソフトがCD-ripperと言われるものです。 ぶっこ抜きツールと言われることもあります。

私が普段使ってるのは, Windac32 2

です。 非常にわかりやすいインターフェースなのと, 吸い出したwavを,コーデックを用いて直接MP3にすることが可能なこと(後述), 一番重要なポイントとして, ATAPI接続のCD-ROMドライブに対応している点がいい感じです。 SCSI接続で吸い出せるソフトは結構あるのですが, ごく普通のATAPIドライブに対応してるのは結構少ないんですなぁ。 ちなみにシェアウェアで,登録するまでいくらかの機能制限がついてます。 (一曲エンコードごとにダイアログが出るとか。自動ボタン押し(略))

また,国産のフリーウェアで CD2WAV32 3 というのがあります。 フリーであること,それに強力なエラー訂正機能を持つことから, SCSIのドライブを持っているならお薦めです。 最近のバージョンはATAPIにも対応したそうですが, うちでは吸い出せませんでした。 このソフトもコーデックを使って,直接MP3にすることが可能です。

他には,CD-R焼きソフトのCD-DA吸いだし機能を使う,などの手もあります。 また,吸いだし精度が高いことで名高いプレクスター製のドライブには, 初めからぶっこ抜きツールがついてきてます。

CD-ripperもいろいろありますが, ドライブがデジタル吸いだしに対応してない場合はどうやっても無理です。 12倍速以前ぐらいの古いATAPIドライブは対応してないことが多いですし, 割と最近のモノでも,Aopen製24倍速で吸いだし出来なかった 実例 があります。 東芝ドライブのように等速でしか吸えなかったりするモノもありますが, まぁ吸えたらめでたしめでたしってことで。 dameな場合には諦めて,一度アナログを通すことにしましょう。 CDrecoderというソフトは確か,一見デジタル吸いだしツールのように見えて, 実はサウンドカード経由録音でした。 これを使えば楽に行くと思います。Vectorに転がってることでしょう。

吸いだしに関しての注意点ですが,実に諸説紛々です。 何十倍速とかで吸い出すと音が悪くなるだとか, 吸いだし中に,重い処理を行うとノイズが乗るとか……。 デジタル吸いだしだからそんなことはねぇヨ, と思われる方もいるかもしれませんが, 音楽CD用のフォーマットに使われているエラー訂正機能は, 通常のCD-ROMデータファイルに使われるISO9660と比較すると, 遙かにょゎぃので,往々にしてこういうことが起こるようです。 あまりの議論の多さに,MP3TidalWaveでは様々なドライブ, 吸いだしソフトについて検証を行ったようですが, 何倍速で吸い出しても同じデータがとれるドライブもあれば, データが異なるドライブもあり, 結論としては,

いろいろな条件が複雑に絡まっていてよくわからないが,
とりあえずプレクスター製ドライブは強えぇ

のようです。 経験上注意点として言えることは, 吸いだし中はなるべく他の作業で負荷をかけないことです。 うちのATAPIドライブ使用時では, これによってノイズが乗りまくること多数でした(T-T)

エンコーダの闇

さて,めでたくにしろ,ちょっと残念なカンジTM にしろ, 元となる無圧縮PCMファイル(wav)が出来たら,お次はいよいよエンコードです。 私はちょいと複雑な方法を取っているのですが, それを説明するにはMP3エンコーダの歴史を少々語らねばなりませぬ。

l3enc

この時代のことはよく知りませんが,MP3の開発に深く関わった FraunhoferIIS 4 から l3enc というDOSベースのエンコーダが出ていたようです。 体験版でも,設定が固定ながら,エンコード時間の制限とは無かったようです。 16bitDOSアプリであり,かなり低速なエンコーダですが, 音質については現在でも最高との声があります。 当時はMP3エンコーダといえばこれしか無い状態でしたが, (もしかしたら,ISOの公開ソースベースのものが既にあったかも……) いかんせんコマンドラインベースで,複数のファイルをまとめてエンコードしたり, オプション指定をファイルごとに細かく付けたりしたい場合に不便なため, GUIでこのソフトを使えるフロントエンドがいくつか作られたりしていました。

MP3compressor

初めて使ったエンコーダがこれです。 win用で,インターフェースも実用上問題ない程度の出来で, 音質も割と良好でした。 更に,MP3対応のコーデックをWinへ組み込んでくれるため, wavデータの一種としてMP3データを扱うことが出来る, という利点も持っていました。 Quickモード使用時に音質がかなり低下するだとか, 曲の最後が切れるという問題はあったものの, 窓の杜等でも配布されており,標準的なエンコーダの座を獲得していたと思います。 しかしながら,このソフトには

法的に激しく問題がある事が発覚

し, 現在のところ,合法的に入手するのは困難です。 理由は以下の通り。

同時期に,前出のFraunhoferIIS(以下FIIS)から, MP3producer PRO というエンコードソフトが発売されていました。 本家本元が作っただけあって,高音質かつ,まずまず高速,というモノですが, 日本円にして ¥50000 以上する上に,オンライン購入は出来ず, ドイツから個人輸入の必要アリだとか, インターフェースの出来が残念であって, 複数ファイルの同時エンコードもできん, 等の理由から,ほとんど普及はしていませんでした。 このソフトは,インターフェース部分と, 実際のエンコード,デコードを行うコーデック部分が分離している仕様を 取っていたのですが, MP3compressorはこのコーデックを丸ごとパクって同梱配布していたのです。 オリジナルのMP3producerがマイナーなこともあって,なかなか気づかれず, FIISが乗り出したころには,既にかなりの範囲に広まっていました。 ちなみに,このコーデックのadvanced版はMSに採用されて, IE4あたりに同梱して配られていたこともあったと思います。 advanced版では,デコードは通常に行えますが, エンコードについては22KHz,56Kbps(ラジオ音質)までしか行えません。 (Professional版は44KHz,128KbpsのCD音質まで)

MP3compresorの行った事は,明らかに違法行為であり, そのことについては弁解の余地を与えられないものなのですが, MP3の普及という観点から結果だけを見ると, この事件が果たした役割は結構大きかったりするんじゃなかろうかと思います。 MP3compressorが配布されなかったとしても, 日本から個人でMP3producerを買う人がいたとは考えにくいですし。 しかしながら,リバースエンジニアリングとかでパクるのではなく, 「コーデックが流通した」という事態は, 以後,現在に至るまで,MP3ソフト界に大きな影響を残すことになりました。 とりあえず,「表」なMP3サイトで

「MP3compressor手に入りませんか?」とか訊かないように

気を付けましょう。 場合によっては,ありがちなBBS泥沼喧嘩に巻き込まれることがあったりするかも……。

インターフェースだけのエンコーダ達

Advanced版にせよ,Professional版にせよ, コーデックさえ手にはいるなら, 後はそれに対応したインタフェース部分を作ってやれば良い, ということで,FIIS製コーデックの別途入手を前提とした, インターフェースだけのエンコーダが現れました。 エンコードエンジンを自前で持たないので, エンコーダと呼べるかどうか微妙ですが……。 MP3compressorのコーデック実装にバグがあり, 曲の最後が切れるという問題があったため, MP3compressorが配布中止になる前からこの手のソフトが作られていたようです。 代表的なモノに,色々な意味で有名な Yunasoft製エンコーダ (現在はISOソースをベースにした自前のエンジンも同梱) や, L3ENC_FE 5 等があります。 L3ENC_FEは本来,前出のl3enc用フロントエンド (DOSアプリをGUIで動かすためのソフト) でした。 しかしながら,既に多数存在するフロントエンドを利用できるように, l3enc以降に作られたコマンドラインベースのエンコーダの多くが, コマンドをl3enc互換にしたことや, FIISコーデックをコマンドラインから使えるようにするツールが作られたことから, 万能インターフェースとして仕上がっています。 これを用いる場合には,エンコードエンジンに何を使うかを指定してやる必要が あるのですが,FIISコーデックが既にインストールされている場合には, L3ENC_FEに同梱されている l3codec.exe をエンジンに指定することで, コーデックも使用できます。 Yunaエンコーダが有料なのに対し,L3ENC_FEはフリーであることや, FIIS以外の多くのエンジンに対応できること, などから,私はL3ENC_FEの方を使ってます。 Yunasoftエンコーダについては,実にいろいろな出来事があったのですが, これは次回へとしわ寄せさせて頂きます。 コーデックを使うなら,別に専用のエンコーダに限らず, 前出のWindac32のような吸いだしツールで,直接CDからMP3へ変換したりも出来ます。 例えば,Windac32で「setting」の「wave format」を選ぶと, 保存可能なwave形式の一覧が見られます。 一番上の「integrated wave routine」は無圧縮PCMのようです。 他は,「コントロールパネル→マルチメディア→デバイス→オーディオ圧縮Codecs」 で表示される内容と同じです。 以前はこれで直接CD-DAをMP3に変換していましたが, 吸いだしにかかる時間が伸びてしまい, その間他の作業が出来ないことから, 最近は一度,無圧縮で吸い出してから別途エンコーダにかけてます。

ISOソースなエンコーダ達

かなり初期のころから存在していたものに, ISOが公開しているサンプルソースをベースとしたエンコーダがあります。 この系列の元祖といえるエンコーダは死ぬほど遅いことで有名でしたが, 最近では独自に最適化を加えたり,コンパイルし直したりして FIISのコーデックを凌ぐスピードを得ているものもあります。 独自エンジンを積んでいるフリーのエンコーダは, 大半がISOソースをベースにしています。 国産フリーウェアの SCMPX 6 がそうです。 このソフトはエンコード&デコードをこなし, ID3Tagという,MP3ファイルの付加情報を編集する機能もついた上にフリーという, 昨今ではなかなか珍しい優れモノです。 灰色部分に一切関わらず,かつフリーでMP3を楽しみたいとなると,一番お薦めかも。 と言いたいところなのですが,「一切」とは言えないかもしれません。 海外でも多くのフリーエンコーダを生んだISOソースですが, 最近になって 激震 が起き,海外のフリーエンコーダが多数滅びました。 原因は,FIISが,フリーのエンコーダ作者達に送った一通のメールにあります。 原文はTidalWave内 で読むことが出来ますが, まぁ簡単に言えば,

「MP3の技術自体にうちの特許が含まれてるから,
公開ソースを使ったフリーソフトといえどもライセンス料払え。うりうり。」

ということです。 日本の作者とかブルガリアの作者には送られなかったようですが, これは単に知らなかっただけなのか,特許の有効範囲の問題なのかは未だ不明です。 ライセンス料として提示されたのは

  1. ソフト一本あたり$25。ただし大量の場合は値引きあり
  2. 一曲エンコードあたり$0.01か,売値の1%

というもので,GIFの場合とも異なって,到底フリーを維持できるものではありません。 二番目の条件はいったいどういう風にライセンス料を算出するのか不思議なのですが, これは商用MP3サイトの運営などを考慮に入れているのかもしれません。 以前からISOソース物はあったにも関わらず, この時期にFIISがこのような動きに出たのは,

  1. そろそろMP3技術が普及期に入ったので, これまでの投資の回収をする時期だぜー。
  2. レコード会社からの圧力(猜疑もーど)

かなとか思ってみたりします。

音質についてですが,ISOソースものは全て共通した特徴があるようです。 (当たり前か) FIISコーデックには及ばないとの説が強いですが, サウンドカードにOnkyo-SE70,スピーカーがヤマハYST-M15,という環境と, 私の耳では大して違いはわかりませんでした。 ヘッドホンが手に入ったら又試してみようと思います。 TidalWaveのスペクトラムアナライザで行った波形比較では, 確かにFIISコーデックよりも原音から遠いようです。

その他のエンコーダ達

Xing社製エンコーダが最近勢いを伸ばしてます。 というのは,Rioの販売など,MP3関連で注目を浴びるDiamondMultimediaが, XingのMpegエンコーダをバンドルしているからです。 しかしながら,Xingエンコーダの評判は,お世辞にも良いとは言えません(音質面)。 前出の環境で聴いてみても,コーラスの高音域などが変になるようです。 波形では,高音域がばっさり無くなってます。 20Khz以上の領域がばっさり無くなるのは,MP3全体の傾向なのですが, こいつの場合はもっと下から無くなってます。 7 PC用スピーカーで聴く分には気にならないかもしれませんが, 一般向けに初めて販売される製品にバンドルするには, 残念なカンジだと言わざるをえません。 まぁ速攻予約してRioを買いに走ったような廃人さん達は, んなこたとっくに知っておられるとも考えられますが。 このエンコーダのメリットは,

超爆速

なことです。 そのスピードたるや常軌を逸しており,他のエンコーダの10倍以上の速度です。 どれくらいかというと,Pentium2-400あたりを使った場合, 1分の曲が数秒でエンコード出来てしまうぐらいです。

UnrealEncoder 8…… 国産MP3ソフトパッケージ,「MpegStusioUnreal」として販売されたり, 単体でシェアウェアとして販売されていたりします。 店頭でパッケージとして買えるMP3ソフトは今のところこれぐらいかと思います。 プレーヤの「UnrealPlayer」は使い勝手がよく,すぐれモノですが, パッケージで約¥7000と,他のソフトに比べて多少高いのが遺憾なり。 エンコードにはMP3.ocxの供与を受けて使用しているようです。 音質に関しては,波形を見る限りでは結構残念な気がします。

MP3producer2…… FIISの新エンコーダです。 音質面については旧版と変わりありませんが, インターフェースは多少改良されたそうです。 しかしながら,MP3compressorの件に懲りたのか, コーデックとインターフェースの分離をやめてしまいました。 今まで,コーデックだけ使ってた人からすると改悪ですな。 AudioActiveとかいうソフトが, FIISから正式にエンジンの供給を受けて開発されたそうで, 国内発売が待望されてるようです。

ぐはっつ。 もうプレーヤまで紹介する時間が無い。 とりあえず winamp 9 をお薦めしときます。 定番中の定番ですな。 今回登場したUnrealPlayerや,SCMPXなんかもいい感じかも。

あう,いつの間にやら,どはまり日記と同じぐらいの量になってる上に, 読み返してみると結局

内容がTidalWaveそのまんま

であることに気づいて脱力なり。

さて次回は 「MP3圧縮技術の詳細」が書けたら良いのでしょうが, おそらくは 「Yunasoftに関するいくつかの出来事から見る,アングラMP3の変遷」(謎 の方になってしまう可能性が大であるような気がします。

それでは今宵はこの辺で。


1) http://mr.simplenet.com/layer3/title_1.html
2) http://members.aol.com/schmelnik/dac.html#WinDAC32
3) http://www2s.biglobe.ne.jp/~elfin/fsw.html
4) http://www.iis.fhg.de/
5) http://www.tama.or.jp/~inouek/l3enc_fe.html
6) http://www.geocities.com/SiliconValley/Lakes/6827/
7) 【編註】スペクトル分析してみたら,16kHz以上が捨てられているようでした。
8) http://www.303tek.com/j/prod/index.html
9) http://winamp.lh.net/main.html

今野 俊一 (こんの, knn) <toknn@ijk.com>, <knn@ebony.plala.or.jp>
東京大学 工学部 計数工学科(内定), TSG(理論科学グループ)