分析と広告のためのCookie
分析と広告のためにCookieを使っており、どちらもGoogleに送られます。拒否しても、目に見える動作は何も変わりません。プライバシーポリシーを読む
FLAC
可逆圧縮で、WAV のおよそ半分。音楽を保存するならこれが選ばれます。
FLAC
FLAC はコーデックです。符号化そのものであって、それが入って運ばれる箱ではありません。 長期保存のために使われます。
拡張子は .flac、正式名称は Free Lossless Audio Codec です。ただしどちらも、そのファイルが中に何を持てるかほどには多くを語りません。このページの残りは、その中身についての話です。
Xiph.Org が 2001 年に公開しました。 仕様は RFC 9639 です。
古さが役に立つのは、ごく実務的な理由からです。形式が古いほど、それを覚える時間が多くのプログラムに与えられてきたということだからです。
仕様書がそのまま公開されているので、中身を推し量るのではなく文書を読んで実装できます。この形式が数多くのプログラムに載っているのはそのためであり、20 年前に書かれたファイルが今も開けるのもそのためです。ただし「仕様が公開されている」ことと「使用料が要らない」ことは別の話です。中でコーデックを包んでいる形式では、特許のライセンスは仕様書が答えていない別の問題として残ります。
FLAC ファイルは中身をそのまま保存します。保存し直しても何も変わらないので、開いて、直して、また保存する——それを何度繰り返しても劣化は積み上がりません。これが、渡すための形式ではなく作業のための形式である理由です。
1 チャンネルあたり最大 32 ビット。
1 チャンネルあたり 8 ビットを超えるぶんこそが、編集のあいだ階調が段に割れるのを防いでいます。作業用のファイルでは効きますが、完成したファイルではまず関係ありません。
最大 8 本です。2 本あればステレオは完成で、ほとんどのものはそこまでです。2 本を超えるとサラウンドの話になり、それを定義してすらいない形式へ変換するときは、この部分が真っ先に折りたたまれます。
FLAC ファイルは壊れたファイルが黙って誤読されるのではなく、壊れていると分かるようにするチェックサムを備えています。
チェックサムは何も直しません。ファイルが壊れていると教えてくれるだけです。ただしそれは、今それを知るか、送った相手から知らされるかの違いです。
Audacity、foobar2000、VLCが読めますし、同じ種類のプログラムならたいてい読めます。
ファイルが開かないとき、形式が悪いことはめったにありません。たいていはプログラムのほうが形式より古いのです。もっと古い形式に変換してしまうのが確実な逃げ道で、このサイトの残りの部分はそのためにあります。
これは今のブラウザーならどれでも読めます。
ですからページに置くのも、メッセージに添えて送るのも、安心してできます。相手が何をインストールしているかを考える必要がありません。
FLAC ファイルは文書のプロパティを持てます。
このうち何が変換後まで残るかは、変換先の形式次第です。そして正直な答えはたいてい「一部だけ」です。
FLAC は、開いて手を入れるために作られています。作業が続いているあいだはこの形式でファイルを持ち、完成したものが必要になるたびに、ここから書き出してください。
FLAC を展開すれば、入れたのとまったく同じサンプルが戻ってきます。すべての値が、同じ順番のまま。これは音の聞こえ方についての主張ではなく、データについての主張であり、展開した出力を元のファイルとバイト単位で比較すれば確かめられます。
これが MP3 や AAC、Opus との違いのすべてです。それらは人の聴覚が聞き逃すものをモデル化して捨てます。良い工学であり、たいてい聞き取れない損失ですが、恒久的です。FLAC はそういう取引を一切しません。ZIP のように、構造を見つけることで圧縮しています。何を気づかれないかを判断しているのではありません。
FLAC は典型的に、対応する WAV の 50〜60% ほどに収まります。無圧縮で 600 MB を占める CD 一枚分のアルバムは、およそ 300〜350 MB になります。これは本物の節約ですが、非可逆コーデックが達成する結果 ── 同じアルバムが 60 MB ── にはるかに及びません。
この天井は実装の限界ではなく数学的な限界です。音声はそれほど反復的ではなく、可逆圧縮は本物の冗長性しか利用できません。可逆な音声を十分の一のサイズで謳っているものがあれば、それは可逆でないか、音声ではないかのどちらかです。
FLAC は 2001 年に Josh Coalson によって公開され、いまは Xiph.Org 財団が保守しています。仕様も参照実装も無料で、特許の主張もライセンスの手続きもありません。
Apple Lossless(ALAC)も似たようなサイズで同じ仕事をこなしますが、2011 年までは独占的な形式でした。FLAC は十年先にオープンだったので、音楽アーカイブの既定、CDリッピングツールの既定、ハイレゾのダウンロードストア、あらゆるオープンソースの音楽プレーヤーの既定になりました。一方 ALAC はおおむね Apple のエコシステムの内側にとどまりました。
エンコーダーは 0 から 8 までのレベルを提供します。出てくる音声はどのレベルでも同一です。可逆なのだから当然です。変わるのはエンコーダーがどれだけ懸命に冗長性を探すかで、それによってエンコードにかかる時間と結果のサイズが決まります。
いちばん速い設定といちばん遅い設定の差は、ファイルサイズではわずか数パーセントで、時間の差は相当なものです。レベル5がよい理由があって既定になっていて、レベル8を気にするのは主に、大きなライブラリを一回だけアーカイブする人たちです。デコードの速さはどのレベルでもほぼ変わりません。
Apple を除けば、ほぼすべてです。歴史的には Android がずっとネイティブに対応していて、Windows と Linux も扱え、どのブラウザーでも再生でき、VLC やまじめな音楽プレーヤーはどれも読み込め、いまのネットワークオーディオ機器の多くもこれを想定しています。
Apple は長らく例外でした。iTunes と iOS は十年以上にわたって FLAC を再生せず、これが一般消費者に届かなかった最大の理由です。最近の iOS は Files アプリの中でなら扱えますが、Music ライブラリはいまも ALAC を好みます。FLAC のライブラリを Apple Music の中に置く必要があるなら、ALAC への変換が可逆なままの渡り方で、どちらの方向にも音質の変化はありません。
FLAC は Vorbis コメントを使います。固定の項目一覧もサイズ制限もない、自由な名前と値のペアです。長い値を含め何でも保存できて、ID3 と違って回避すべき旧来の構造がありません。
カバー画像もここでは専用の場所を持ちます。Ogg のようにコメント欄に無理やり詰め込むのではなく、専用の画像ブロックです。音声データの埋め込みチェックサムと合わせて、長年整理された状態を保たなければならないライブラリに、FLAC は際立って向いています。
ほぼすべての FLAC はヘッダーに、元の無圧縮音声の MD5 署名を保存していて、デコーダーは自分が生成したものがそれと一致するか検証できます。壊れかけたディスクや悪い転送でファイルが壊れていれば、チェックは失敗しそう告げます。十六個のゼロバイトはそこに正当に現れることがあり、エンコーダーが署名を知らなかったことを意味します。参照実装は `--no-md5-sum` のときと、シークバックできなかったときにこれを書きます。
これが FLAC が CD コレクションのアーカイブに選ばれる理由です。ライブラリは何年も経ってから一括で検証でき、静かに進むビット腐敗はトラックが変な音で再生されて初めて気づくのではなく、検出可能になります。損傷を検出はしますが、修復はできません。
FLAC は最大 32 ビット、655 kHz までのサンプルを扱えるので、ハイレゾのダウンロード ── 一般的には 24 ビット、96 または 192 kHz ── はこの形式で配布されます。ファイルは CD 品質の FLAC の三倍から四倍のサイズになります。
その余分な解像度が聞き分けられるかどうかは、真剣に議論の分かれるところで、正直な要約としては、統制された聴取テストで確実な違いが示されたことはありません。余分なビット深度がはっきり役立つ場面は一つあり、それは編集です。RAW 写真での余地が調整による損傷を防ぐのと同じ理由で、余地があとの処理を助けます。
ストレージの限られたスマートフォンや車、FLAC を再生しない何かが行き先なら MP3 や AAC へ。これはごく普通のことで、何もおかしなことではありません。高いビットレートを使ってください。元が完全なので、失われるのはあなたが選んだ分だけです。
ツールが無圧縮の入力を求めるなら WAV へ。多くのオーディオ編集ソフトや音声処理のパイプラインがそうです。ライブラリを Apple Music の中に置く必要があるなら ALAC へ。可逆から可逆なので何も変わりません。そしてどの場合でも FLAC を残してください。それがアーカイブ用のコピーであり、そこから作った非可逆ファイルはいつでも作り直せますが、逆はできません。
| 拡張子 | .flac |
|---|---|
| メディアタイプ | audio/flac |
| 公開元 | Xiph.Org |
| 初版 | 2001 |
| 仕様 | RFC 9639 |