広告 ピュア音源による音質評価 ロスレス圧縮(FLAC・ALAC)

ピュア音源で検証!FLACはWAVと同じ音質なのか?

スポンサーリンク

 

LPレコードをハイレゾ録音する際、無圧縮のWAVではなく、可逆圧縮のFLACフォーマットで保存するケースは多いと思います。 私自身もファイルサイズを削減するため、VinylStudioで録音するときはデフォルト圧縮率「Level 5」のFLACを利用しています。

しかし、そもそもFLACは「可逆圧縮=音質劣化なし」(ロスレス圧縮)と言われますが、本当にWAVと全く同じ音質なのでしょうか?

実際にピュア音源のノコギリ波を用い、圧縮レベルを変えたFLACファイルを作成し、波形・スペクトル比較を行って検証しました。

 

ピュアー音源のノコギリ波について

 

 

スポンサーリンク

 

 

FLACフォーマットの特徴について

「SourceForge.netのFLACプロジェクトの日本語ミラーサイト」から引用、

引用

現在、オンラインでの音楽配信では主にMP3やAACといった形式が使われています。MP3やAACは音楽ファイルを元のサイズの10分の1程度にまで圧縮できますが、わずかながら音質の劣化が発生してしまいます。いっぽう、音質をまったく劣化させずにファイルサイズを小さくできる圧縮手段もあります。このような圧縮は「可逆圧縮」と呼ばれており、圧縮率は小さいものの、圧縮・展開を行っても音質が変化しないのが特徴となっています。 「FLAC」は、このような可逆圧縮を行う音声コーデックです。

 

テストに用いた音源(ノコギリ波による検証)

  1. 以前ブログ記事で紹介した、WaveGenというソフトで、1khzのノコギリ波をハイレゾのWAVEフォーマット(192khz 24bit)で保存します。
  2. WaveGenの出力設定は、1khzノコギリ波、-3dbで5秒間 WAVEファイルに出力
  3. VinylStudioでWAVEをインポートした後、下記の様に圧縮率を設定しFLACフォーマットにエンコードします。
  4. 夫々のファイルをAudacityに取り込み周波数分析し、音質劣化程度を観察します。

 

VinylStudioのFLAC・圧縮率オプションの設定画面(圧縮率レベルは、0から8段階から選択できます。)

 

WAVとFLACのファイルサイズ・波形比較

WAVEファイル FLAC-5 FLAC-0(参考)
FLAC圧縮Level ーー 5:default 0:max file size
サイズ 5.49 MiB 2.30 MiB 4.59 MiB
圧縮率 100% 41.9% 83.6%
フォーマットレート 192khz 24bit 192khz 24bit 192khz 24bit
OBR モード CBR モード VBR モード VBR モード

 

WAVE波形】【FLAC波形タグを交互に切り替えると波形の違いを確認できます。 (Audacityで表示した波形)

WAVEファイル:オリジナルファイル:24bit 192khz

WAVEファイルの
DLは、このボタンをクリック

FLAC-5ファイル:WAVEファイルからFLACにエンコード:24bit 192khz

FLACファイルの
DLは、このボタンをクリック

 

ポイント

以上は、Audacityに夫々のファイルを取込み、デコードされた波形を確認したものです。 FLACは、可逆圧縮の通り、リンギング部分も含めてオリジナルのWAVE波形とほぼ同じに復元されていることが判ります。

 

FLACは本当に可逆圧縮なのか?2種類の方法で検証

下に示す2つの方法でFLACが「可逆圧縮」か否かを検証しました。

検証
1
Audacityで波形の差分を確認する

FLACファイルの波形を上下反転(逆相)して、その波形とWAVE波形とを加算したときゼロになれば両者の波形は同じと言えるので、Audacityを使って調べてみました。 つまり波形の差分で確認する手順を以下に示します。

手順-1

WAVEファイルとFLACファイルをAudacityに取込み、取り込んだFLACに対して、エフェクトで上下反転(逆相)を行います。 青枠を参照してください。

手順-2

上のWAVEトラックと反転したFLACトラックをMIXして新しいトラックを作成したのが下の画像です。 縦軸を最大感度(0.0005vつまり上の縦軸に対して-66db)にした状態で、Lch、Rchともフラット(無音)になっています。

 

ポイント

WAVEとFLAC波形が完全に一致しているから、上のLch Rchのレベルがゼロ(無音)になったということです。 つまりFLACが元のWAVEに復元できているので、可逆圧縮と言えます。

念のため、無音のトラックを周波数分析しテキストに書出したところ、全帯域にわたって、-inf(下限)なっていました。

 

検証
2
ファイルのハッシュ値で確認する

元のノコギリ波WAVEファイル(WAVE-0)をFLACファイルに変換し、FLACをWAVEファイル(WAVE-1)に変換した時、元のWAVEファイルに正しく復元されているか(ファイルの同一性)をハッシュ値で確認できます。 つまり、WAVE-0とWAVE-1のファイルのハッシュ値が一致すればFLACは「可逆圧縮」であると言えます。

ハッシュ値の算出方法など、詳しくは下の記事を参照頂くとして、WAVE-0とWAVE-1のファイルのハッシュ値が一致したのでFLACは「可逆圧縮」であることが確認できました。

参 照FLACとALACが元のWAVファイルに復元されるか?ハッシュ値で調べてみました。

過去の記事では、FLACやALACフォーマットをAudacity上で元のWAVファイルとの絶対誤差から復元(可逆性)を確認しました。 FLACやALACの可逆性を確認する方法の一つに「ファイルのハッシ ...

ハッシュ値とは、あるデータ(例えばファイルなど)に対して計算される固定長の文字列や数字のことです。 この値は、元のデータの内容に基づいて計算され、データが変更されていないか、あるいは一致するかどうかを確認するために使用されます。

 

FLACファイルの周波数分析

WAVE、FLACファイルをAudacityに取込み、夫々を周波数分析しグラフ化しました。 更に、その差分(誤差)も併せてグラフ化しました。

スペクトル分析条件:関数hanning window、size16384

測定期間:1sec〜4secの3秒間 FLACの圧縮率レベルは”5”(FLAC-5)

ポイント

スペクトルの差分(劣化)が生じる箇所は、非常にレベルの低いノイズフロアレベル(-120db)で僅かながら誤差が生じています。 この誤差は、Audacityのスペクトル精度上に生じている可能性が高いように思われます。

 

まとめ:FLACはWAVと音質的に同一か?実験から見えた結論

  • オリジナルのWAVEとFLACのノコギリ波の波形は、一致しています。
  • FLAC波形の上下反転した波形とWAVE波形をミックスすると、無音になることから、FLACは、WAVEに復元され、可逆圧縮と言えると思います。
  • ファイルのハッシュ値で確認し、FLACは「可逆圧縮」であると確認できました。
  • スペクトルの差分(劣化)について、この実験は、Audacityのスペクトル分析から間接的に誤差を求めていますので、このために僅かながら誤差が生じているものと思われます。

    注意ポイント

    結論
    FLACファイルは、可逆圧縮であることが検証できたので、音質劣化は生じないと思われます。 また、圧縮率(FLAC-5は圧縮率が50%以下)、の観点から、今まで通り圧縮率レベルは”5”(FLAC-5)でLPレコードのハイレゾ化を進めて行こうと思います。

     

    以上、ピュア音源でFLACフォーマットを評価した結果でした。

    ビットレート変動の可視化

    参 照FLACとALACの違いを比較|ビットレート変動の可視化と可逆性の検証

    前回の記事では、不可逆圧縮フォーマットである AAC や MP3 のビットレート変動について解説しました。  今回はそれに続き、可逆圧縮方式である FLAC(Free Lossless Audio C ...

    ロスレス圧縮のカテゴリはこちら

     

    スポンサーリンク

     

    スポンサーリンク