LAME ってなんだろう

本家へのリンク
ここでは, LAME のことについてちょっとばかし日本語で説明します。

LAME は Lame Ain't MP3 Encoder の略です。 Ain't は学校で習わない英単語ですが, be not の口語表現です。そう, 「LAME は MP3 エンコーダでない」って言う意味です。 Lame A Mpeg-audio Experience の略だと言う人もいますが, まぁ, 本家にもある通り, 「GNU の偉大なる命名ルール」にしたがって付けられた, 前者を信じておきましょう。

事実 LAME は MP3 エンコーダではありません。MP3 エンコーダの配布には, すべからく MP3 の規格に含まれる特許の問題が付きまといます。 しかし, LAME は MP3 エンコーダではなく, ISO (MP3 の規格を決めている団体) の作った「MP3 エンコーダのサンプルソースコード」に対するパッチであり, また, パッチのみを非商用配布することによってこの特許問題を回避しています。

もっとも日本では, 問題になっている特許が成立していませんので, パッチではなく, エンコーダそのもののソースコードやバイナリを配布することが出来ます。

配布ライセンス

LAME は GPL バージョン 1 に基づいて配布されます。また, 利用者の希望により, バージョン2以降のGPLに基づいて配布することも可能です。 ただし, いずれのGPLを採用するにしても, 商用利用などを行なうと, 特許問題が起きてしまいますので, その際は別途特許のライセンスを取得する必要が出てきます。

LAME の再配布ライセンスとして LGPL を採用すれば, LAME をライブラリ形式にコンパイルし, GPL 以外で配布される他のプログラムに動的リンクさせることも可能になります。

動作プラットフォーム

ほぼありとあらゆるマシン・OSで動きます。 今のところ, レポートされている環境としては, Linux (i86), NetBSD 1.3.2 (StrongARM), FreeBSD (i86), Compaq Alpha(OSF, Linux, Tru64 Unix), Sun Solaris, SGI IRIX, OS2 Warp, Macintosh PPC, BeOS, Amiga, VC++ (Windows9x/NT) などがあります。この他にも, 真っ当な POSIX 互換の OS および, マトモな C コンパイラの動く環境であれば, 多分動くと思われます。

Windows での動作を考えるために, 今のところ configure は用意されていませんが, それほどコンパイルは難しくありません。

エンコード能力と機能, 音質

かなり高いです。これは, 世界中にいるたくさんのコントリビュータ (大体100人ぐらい?) の努力の賜です。可変ビットレート (VBR), ジョイントステレオ, ローパスフィルタ, サンプリング周波数変換, などの様々な機能追加により, かなりの速度向上と音質の向上が出来ています。

ただし, MP3 のような, 人間の音響心理特性を利用した非可逆圧縮を客観的に評価することは非常に難しく, 基本的に二重ブラインド法によるリスニングテスト以外では評価できないと言われています。 ということで, LAME はかなり音がいいと言われていますし, 私もそう思っていますが, ほんとにいいかどうかは, 自分の耳で確かめる以外方法はありません:-)

速度は結構速いと思います。最近のコードは私の魂のコーディング (笑) がつまっているので, C で書いてあるにしてはかなり速くなったと思います。

誰が作ってるの?

コントリビュータには単にコンピュータの好きな人, プロのプログラマ, 音響心理学を専攻する学生や研究者, 音楽家, オンライン放送局の運営者など, いろいろな人がいます。 ちなみに, コントリビュータの一人である私は歌って踊れるプログラマを目指しています。 ふふふ。

このように, 世界中の人からの協力を得て開発が進められるのは, 前述の特許侵害の回避策を講じているからです。 例えば, フリーな MP3 エンコーダとしてはかなり有名な bladeenc はソフトウェア特許を基本的に認めないスエーデンで開発されているため, 何の問題もなく堂々とフルソースが公開された形で開発されていますが, これは他の国の人はあまり堂々と使うことが出来ず, 開発にも携われないのです。

そういうわけで, LAME が「MP3 エンコーダでない」ことが, 世界中から様々な人の協力を受けて, 開発が進む原動力となっているのです。

派生物

LAME は GPL で配布されるフリーソフトですから, 自由に改造し, 改造後のソースを公開することができます。 日本で有名なところでは 午後のこ〜だ2 シリーズでしょうか。 LAME の少し古いバージョンを元にして, intel 互換 CPU 専用にアセンブリ言語で書くことによって高速化をはかったものです。 音質・機能などは LAME の最新版にはかなわない (はず) ですが, 速度に関してはとても凄いものがあります。

もっとも MMX しかない CPU の場合は私のコードの方が速いんですけどね:-p


とみながたけひろホームへ