FLACオーディオ:ロスレス音楽の完全ガイド
FLACについて知っておくべきすべてのこと — 最も人気のあるロスレスオーディオフォーマット。FLACの仕組み、MP3より音質が良い理由、あらゆるデバイスでFLACファイルを再生する方法を解説します。
FLACとは?
FLACはFree Lossless Audio Codec(フリー・ロスレス・オーディオ・コーデック)の略で、名前の通りの機能を果たします。つまり、何も失うことなくオーディオを圧縮するのです。MP3やAACがファイルサイズを小さくするためにオーディオ信号の一部を永久に破棄するのに対し、FLACは元の録音のすべてのサンプルを保持しながらファイルサイズを削減します。
その仕組みはシンプルです。FLACはオーディオ信号のパターンを分析し、数学的にモデル化して、予測と実際のデータの差分を保存します。この差分は元のデータよりもはるかに小さいため、効率的に圧縮できます。展開すると、入力されたものとまったく同じオーディオデータが戻ってきます。ビット単位、サンプル単位で完全に一致します。失われるものも、近似されるものもありません。これが「ロスレス」の意味です。
FLACは2001年に作られ、以来ロスレス音楽配信の標準フォーマットとなっています。Qobuz、Bandcamp、TidalはすべてロスレスおよびハイレゾカタログにFLACを使用しています。サンプルレートは44.1 kHzから384 kHzまで、ビット深度は16ビットのCD品質から24ビット、さらには32ビットのハイレゾ録音まで対応しています。
このフォーマットは完全にオープンソースでロイヤリティフリーです。つまり、どの開発者でもライセンス料なしにアプリにFLACサポートを組み込むことができます。このオープン性がFLACが勝利した大きな理由です。
FLAC vs MP3 vs AAC:何が違う?
オーディオフォーマットの状況は混乱しやすいので、最も一般的なフォーマットを分かりやすく比較してみましょう。
| フォーマット | 圧縮タイプ | 一般的なビットレート | ファイルサイズ(4分の曲) | 品質 |
|---|---|---|---|---|
| FLAC | ロスレス | 800 - 1,400 kbps | 30 - 50 MB | ソースの完全な再現 |
| ALAC | ロスレス | 800 - 1,400 kbps | 30 - 50 MB | 完全(Appleエコシステム) |
| WAV | 非圧縮 | 1,411 kbps(CD) | 約40 MB | 完全、ただし圧縮なし |
| MP3 320 | ロッシー | 320 kbps | 約10 MB | 非常に良い、わずかな損失あり |
| MP3 128 | ロッシー | 128 kbps | 約4 MB | 許容範囲、損失が目立つ |
| AAC 256 | ロッシー | 256 kbps | 約8 MB | 良い(MP3より効率的) |
| OGG Vorbis | ロッシー | 160 - 320 kbps | 5 - 10 MB | 良い、オープンソースの代替 |
トレードオフはシンプルです:ファイルサイズ vs 忠実度。FLACファイルは高品質MP3の約3〜5倍のサイズですが、元のオーディオを完全に保持します。MP3とAACは心理音響モデルを使って、ほとんどの人が気づかないであろう音を破棄します — 大きな音にマスクされた静かな音、聴覚の極端な端にある周波数、複雑なパッセージにおける微妙なディテールなどです。
AACは特筆に値します。同じビットレートではMP3よりも技術的に効率的だからです。256 kbpsのAACファイルは一般的に320 kbpsのMP3と同等に聞こえます。しかし、どちらもロッシーです — オーディオ信号から情報を永久に除去しています。
FLACはそのような妥協をまったくしませんが、ファイルが大きくなります。ストレージが安くて豊富な昨今では、かなり簡単なトレードオフと言えるでしょう。
実際に違いを聴き分けられるのか?
誰もがこの質問をしますが、正直な答えは「場合による」です。
厳密な二重盲検リスニングテストでは、ほとんどの人が高品質の320 kbps MP3とオリジナルのCD品質FLACソースを確実に区別することができません。特に、ノイズの多い環境で一般的なイヤホンやBluetoothヘッドフォンで聴いている場合はそうです。現代のロッシーエンコーダーが使用する心理音響モデルは、除去した部分を隠すのが本当に上手いのです。
しかし、違いがより顕著になるシナリオがあります:
- 高品質なヘッドフォンやスピーカー — より良い機器はより多くのディテールを明らかにし、ロッシー圧縮が導入する微妙なアーティファクトも含まれます。
- 静かな環境でのクリティカルリスニング — 音楽に積極的に集中できる制御された環境では、シンバル、リバーブテール、ステレオイメージングにおける圧縮アーティファクトが明らかになることがあります。
- 繊細なソース素材 — ソロアコースティック楽器、広いダイナミックレンジを持つクラシック録音、高周波ディテールの多いトラック(ジャズのシンバル、弦楽四重奏)はロッシー圧縮をより容易に露呈させる傾向があります。
- 繰り返しのエンコード — ファイルが再エンコードされると(あるロッシーフォーマットから別のフォーマットへのトランスコード)、品質が顕著に劣化します。FLACは常にオリジナルを保持するため、この問題を完全に回避します。
FLACについて重要なのは、現在の機器で、現在のリスニング環境で、今聴こえるものだけの話ではないということです。それは選択肢を残しておくことです。FLACファイルは完璧なアーカイブです。後でより小さなファイルが必要な場合はいつでもMP3やAACにダウンコンバートできますが、逆は不可能です。ロッシー圧縮が情報を破棄したら、それは永久に失われます。願っても取り戻すことはできません。
16ビット/44.1 kHzのCD品質規格では、FLACは22.05 kHzまでのすべての周波数を保持します — 人間の聴覚の上限約20 kHzを余裕で超えています。24ビット/96 kHzのハイレゾFLACはこれを48 kHzまで拡張し、より大きなダイナミックレンジを追加します(理論上144 dB対16ビットの96 dB)。この余分なヘッドルームが可聴かどうかは終わりのない議論の対象ですが、アーカイブフォーマットとして保持しておくデメリットはありません。
モバイルでのFLAC:AndroidとiOS
ここからが時々イライラする部分です。
Android
AndroidはAndroid 3.1(Honeycomb、2011年)以降、FLACをネイティブサポートしています。Android上のどの音楽プレーヤーアプリでも、特別なコーデックやライブラリなしにFLACファイルをデコードして再生できます。これは良いニュースです。
問題は、デコード後に何が起こるかです。Androidのオーディオサブシステム — 具体的にはシステムミキサーであるAudioFlinger — は固定のサンプルレートで動作しており、ほとんどのデバイスで通常48 kHzです。FLACファイルが44.1 kHz(標準的なCD品質)の場合、AudioFlingerはハードウェアに送る前に48 kHzにリサンプリングします。
このリサンプリングは致命的ではありません。最近のAndroidデバイスはまともなSpeexベースのリサンプラーを使用しており、品質の劣化は最小限です。しかし、純粋主義者が避けたいと考える余分な変換ステップです。ビットパーフェクト再生のためには、AudioFlingerを完全にバイパスできるアプリが必要です — 通常はAAudioまたはOpenSL ES APIを使用してハードウェアと直接通信します。
外部USB DACを使うと状況はさらに面白くなります。USB DACは複数のサンプルレートでオーディオを受け入れることができます。適切に設計されたプレーヤーはDACと正しいレートをネゴシエーションし、リサンプリングを完全に回避できます。
iOS
Appleのエコシステムでは、内蔵のミュージックアプリはFLACをネイティブサポートしていません。Appleには独自のロスレスコーデックであるALAC(Apple Lossless Audio Codec)があり、同じ目的を果たしています。Apple Musicのロスレスティアはsourcesのストリームにはaudeを使用しています。
iOSでFLACファイルを再生するには、VLC、Foobar2000、または専用のオーディオファイルプレーヤーなどのサードパーティアプリが必要です。これらのアプリはソフトウェアでFLACをデコードし、Core Audioを通じてオーディオをルーティングします。Androidと同様に、iOSにも独自のオーディオミキシングレイヤーがあり、オーディオをリサンプリングすることがありますが、Appleは最近のハードウェアではネイティブサンプルレートのサポートが改善されています。
Appleエコシステムに深く入り込んでいる場合、FLACライブラリをALACに変換するのは実用的な選択肢です — こちらもロスレスなので、変換で品質が失われることはありません。
EchoboxのFLAC再生の仕組み
ほとんどのプレーヤーはオーディオをOSに渡して最善を祈ります。私たちはそうしません。Echoboxはデコードから出力まで再生パイプライン全体を管理します。なぜなら、OSへのすべてのハンドオフは何かが間違う可能性があるからです。
ネイティブデコード
私たちはSymphoniaライブラリを使用してFLACファイルをデコードし、標準的な44.1 kHzから384 kHzまでのFLACサンプルレートの全範囲を処理します。デコーダーは生のオーディオサンプルを出力し、内部処理のために32ビット浮動小数点に変換されます。この32ビット浮動小数点表現は約24ビットの仮数精度(約144 dBのダイナミックレンジ)を提供し、遭遇する可能性のあるどのソースマテリアルの精度も超えています。
サンプルレートとビット深度の保持
デバイスのデフォルトのレートで盲目的に出力するのではなく、Echoboxはデバイスのネイティブサンプルレートを照会し、インテリジェントな判断を行います:
- FLACファイルがデバイスのレートと一致する場合(例:48 kHzデバイスで48 kHzファイル)、オーディオはリサンプリングなしでそのまま通過します。これが理想的なシナリオです。
- レートが異なる場合(例:一般的な48 kHz Androidデバイスで44.1 kHz CDリップ)、私たちは256タップFIRフィルターとBlackmanHarrisウィンドウを使用した高品質sinc補間アルゴリズムでリサンプリングします。これはほとんどのオペレーティングシステムが内部的に使用するリサンプラーよりも大幅に優れています。
- 96 kHzや192 kHzのハイレゾオーディオファイルについても、同じ高品質リサンプラーがデバイスに合わせてレートを下げ、可聴周波数コンテンツをすべて保持します。
重要な利点:リサンプリングを自分たちで処理することで、アプリがあるレートで出力し、AndroidのAudioFlingerがそれを別のレートに変換するときに起こる隠れた二重リサンプリングを回避します。二重ではなく一回のクリーンな変換が得られます。
ビットパーフェクト出力
外部USB DACを使用するリスナーのために、Echoboxは状況を完全に変えるビットパーフェクトモードを提供しています。このモードでは:
- デバイスはトラックのネイティブサンプルレートで再初期化されます — 44.1 kHz FLACはまさに44.1 kHzで再生され、96 kHzハイレゾファイルは96 kHzで再生されます。
- DSP処理チェーン全体(EQ、ボリューム、ゲイン、リミッター)がバイパスされます。デコードされた生のサンプルがそのままDACに送られます。
- リサンプリングは一切発生しません。アーティストとマスタリングエンジニアが承認したビットがそのままDACに届きます。
これにはターゲットサンプルレートをサポートするDACが必要ですが、最新のUSB DACのほとんどは44.1、48、88.2、96、176.4、192 kHzを問題なく処理します。
信号経路診断
FLAC再生で最も便利な機能の一つがEchoboxの信号経路表示です。オーディオのすべてのステージで何が起こっているかを正確に表示します:ソースフォーマットとサンプルレート、リサンプリングがアクティブかどうか、どのDSP処理が適用されているか、デバイスへの最終出力レートなどです。
FLACファイルが正しく再生されているかどうかを疑問に思う必要はありません。リアルタイムで、44.1 kHz/24ビットのFLACが高品質sincフィルターで48 kHzにリサンプリングされていること、またはDACが処理なしのビットパーフェクト96 kHz出力を受信していることを確認できます。
「ロスレス」オーディオが実際に耳に届いているかどうかを疑問に思ったことがあるなら、その種の透明性は重要です。
ネットワークデバイスへのストリーミング
EchoboxはUPnP/DLNA経由でネットワークスピーカーやレシーバーにストリーミングする際のFLACも処理します。Chromecast、Denon、YamahaのAVレシーバーを含むほとんどの最新ネットワークレシーバーはFLACをネイティブサポートしています。Echoboxは各デバイスの機能を検出し、可能な場合はFLACファイルを直接送信し、必要な場合は互換性のあるフォーマットに自動的にトランスコードします。
Bluetoothオーディオコーデックがワイヤレス接続でのリスニング体験にどのように影響するか、またはオーディオファイル向けミュージックプレーヤーで何を探すべきかについては、専用ガイドをご覧ください。Android以外のプラットフォーム対応については、ロードマップもご確認ください。
結論
FLACは最も少ない約束をし、そのすべてを守るフォーマットです。ソースより良い音がするとは主張しません — ソースとまったく同じ音がすると主張し、実際にそうなのです。ファイルはMP3より3〜5倍大きく(一般的な4分の曲で30〜50 MB)、カジュアルなリスニングではほとんどの人が高品質の320 kbps MP3との違いを確実に聞き分けることはできません。自分の機器と環境について正直になりましょう。しかしFLACの本質は今日のリスニングセッションの話ではありません — 後で欲しくなるかもしれないデータを破棄するフォーマットを選んだために、音楽を再購入したり再リッピングしたりする必要がないことです。Androidはネイティブサポートしています(ただしシステムミキサーがオーディオをリサンプリングする場合があります)、iOSではサードパーティアプリまたはALACへの変換が必要で、Echoboxはパイプライン全体を処理します — ネイティブデコード、高品質リサンプリング、USB DACへのビットパーフェクト出力、信号経路診断によりオーディオのすべてのステージで何が起こっているかを正確に確認できます。