空音開発Kuon R&D
← KUON LAME ENCODER
技術解説

LAME の仕組み — 心理音響モデル徹底解説

なぜ LAME が他の MP3 エンコーダーと一線を画すのか。1998 年の誕生から 27 年間磨かれてきた、世界最高水準の心理音響モデルを技術視点で徹底解説します。

1. 心理音響モデルとは何か

MP3 エンコーディングの根幹は「人間の耳に聞こえない音を削除する」ことです。これは古典的な信号処理 (FFT による周波数分解 + 量子化) だけでは実現できません。なぜなら、何が「聞こえない」かは人間の聴覚の生理学的・心理学的特性に依存するからです。

心理音響モデルは、大量の聴覚実験データを基に「ある音が鳴っているとき、人間がどの周波数・どの時間帯の音を聞き取れないか」を数学的にモデル化したものです。LAME はこのモデルを内部で動的に評価し、各フレーム (約 26 ms) ごとに「どのビットを削れるか」をリアルタイムで判断します。

2. 聴覚マスキング閾値 (Auditory Masking Threshold)

一定の大きさの音が鳴っているとき、その周辺の小さな音は人間の耳には聞こえなくなります。これが「マスキング (masking)」と呼ばれる現象です。1 kHz の純音が 60 dB SPL で鳴っていれば、800 Hz から 1.5 kHz あたりの 30 dB SPL 程度の音は聞こえません。

LAME は各フレームの周波数スペクトルを 32 のサブバンドに分割し、それぞれのバンドで「マスキング閾値」を計算します。閾値以下の量子化ノイズは聞こえないため、そのバンドのビット精度を下げて全体のビットレートを削減します。これが MP3 が同じ品質で WAV の 1/10 から 1/12 のサイズで保存できる物理的根拠です。

3. テンポラルマスキング (Temporal Masking)

マスキングは周波数だけでなく時間軸にも存在します。大きな音 (例えばスネアのアタック) の前 20 ms と後 200 ms 程度では、人間の聴覚はその他の小さな音をほとんど検出できません。これを「テンポラルマスキング」と呼びます。

LAME はこのテンポラルマスキングを利用して、アタック直前のプリエコー (前ノイズ) を抑制します。具体的には、急激な音量変化を検出した時点でブロック長を短くし (long block 36 サンプル → short block 12 サンプル)、ノイズが時間軸で広がらないように制御します。これが MP3 のドラム音源で「シンバルが滲む」「アタックがぼやける」現象を最小限にする仕組みです。

4. MDCT (修正離散コサイン変換)

MP3 の周波数領域への変換は MDCT (Modified Discrete Cosine Transform) を使います。一般的な FFT と異なり、MDCT は隣接する 2 つのフレームを 50% オーバーラップさせ、それぞれを加算復元することで、フレーム境界でのアーティファクト (タイムドメイン・エイリアシング) を打ち消す設計になっています。

LAME の MDCT 実装はバタフライ演算による高速化が施されており、空音開発の WebAssembly 移植版では SIMD intrinsics (V128 ops) を使ってさらに 1.8-2.5 倍の高速化を達成しています。これは KUON LAME ENCODER の「CBR 320 で 5 倍速」の主要な根拠の一つです。

5. ハフマン符号化 (Huffman Coding)

MDCT 後の周波数係数は、心理音響モデルで決められた精度で量子化されます。量子化された整数列は最後に「ハフマン符号化」で可変長符号に変換され、出現頻度の高い値ほど短いビット列が割り当てられます。

LAME は MP3 規格で定義された 32 のハフマン表から最適なものを動的に選択します。これにより、同じ量子化結果でもより少ないビットで表現でき、音質を犠牲にせずファイルサイズを削減できます。LAME がブロック内で最適な表を選ぶ「外側ループ (outer loop)」は、CBR 320 では 1-2 反復で収束しますが、VBR ではビット予算を満たすために多数反復することがあり、これが CBR 320 の方が VBR よりエンコード速度が速い理由です。

6. ジョイントステレオ最適化 (Joint Stereo)

ステレオ録音の左右チャンネルは、相関の高い箇所が多く含まれます。LAME はこの相関を解析し、L/R 表現と Mid/Side 表現 (M=L+R/√2, S=L-R/√2) を動的に切り替えます。中央寄りの音は M に集中するためビット効率が上がり、同じビットレートでもステレオの広がり感が向上します。

7. CBR / ABR / VBR — 3 つの符号化モード

CBR (Constant Bitrate) は全フレームを同じビットレートで符号化します。互換性が最も高く、ストリーミング・放送に向きます。ABR (Average Bitrate) は平均ビットレートを目標とし、無音区間ではビットを節約します。VBR (Variable Bitrate) はフレームごとに最適なビットレートを動的選択し、品質とファイルサイズの最良バランスを達成します — ただし古いプレーヤーで稀に再生問題が発生することがあります。

8. KUON LAME ENCODER との接続

空音開発の KUON LAME ENCODER は、本記事で解説した LAME 内部技術をブラウザでフル活用できるよう設計されています。LAME C コアを WebAssembly にコンパイルし、SIMD 最適化と wasm-opt -O3 を施した結果、心理音響モデル・MDCT・ハフマン符号化・ジョイントステレオすべてがネイティブに近い速度で動作します。さらに、3 段階品質 (CBR 320 / VBR-V0 / VBR-V2) と詳細モード (CBR/ABR/VBR × 96-320 kbps)、4 プラットフォーム別プリセット (Spotify / YouTube / Podcast / Archive)、ピーク正規化、ID3v2 タグエディタ、複数ファイル一括処理、メタデータ自動転写などプロ品質のすべての機能を統合しています。

KUON LAME ENCODER を試す
本記事で解説した心理音響モデルを、Concerto プラン (¥1,980/月) で実際に体験できます。
アプリを開くLP・FAQ
記事執筆: 朝比奈幸太郎 (Kuon R&D)・公開日: 2026 年 5 月 6 日・参考: LAME 公式ドキュメント, ISO/IEC 11172-3, ISO/IEC 13818-3, Painter & Spanias「Perceptual Coding of Digital Audio」(IEEE Proc. 2000)。