FLACの圧縮レベルでファイルサイズはどれだけ変わるか レベル0・5・8をBGM3曲で実測しました

元のWAVを100としたFLACのファイルサイズの割合を3曲ごとに比べた棒グラフで、レベル0は28.2から45.4、レベル5は24.1から34.1、レベル8は23.8から34.0の範囲になっていることを示していますIT・仕事術

記事内に広告が含まれています。

この記事でわかることをまとめました

結論です。元のWAVを100とした割合で比べると、今回のBGM3曲をFLACのレベル0・5・8に変換した範囲では、全条件の最小はcomic_quietのレベル8の23.8、最大はedu_brightのレベル0の45.4になりました。レベル5からレベル8への変化は、レベル5のバイト数を基準にして0.3%から1.1%の減少にとどまりました。

BGMのWAVをFLACで保存し直すときに、圧縮レベルを変えるとファイルサイズと変換時間がどれだけ変わるのかを、私が実測しました。

  • レベル0からレベル5では、3曲ともファイルサイズが減りました。レベル0のバイト数を基準にして14.8%から24.8%の減少でした。
  • レベル8の変換時間の中央値は、3曲ともレベル5より長くなりました。
  • デコードしたPCMのMD5は、9条件全てで元のWAVと一致しました。

図1:元のWAVを100とすると、FLACは23.8から45.4までの範囲になりました

元のWAVを100としたFLACのファイルサイズの割合を3曲ごとに比べた棒グラフで、レベル0は28.2から45.4、レベル5は24.1から34.1、レベル8は23.8から34.0の範囲になっていることを示しています
図1:元のWAVを100とした割合を、曲とFLACのレベルごとに比べました。

図1は、元のWAVを100として、各条件のファイルサイズの割合を棒グラフにしたものです。割合は曲によって違いました。

  • レベル0は、元のWAVを100として28.2から45.4の範囲でした。
  • レベル5は、元のWAVを100として24.1から34.1の範囲でした。
  • レベル8は、元のWAVを100として23.8から34.0の範囲でした。

使った曲と変換の方法をまとめました

素材は、私の自前BGMパイプラインで作った既製曲3曲のWAV版です。いずれも44,100Hz、2チャンネル、PCM 16bitです。

  • edu_brightは、48.0秒、8,467,278バイトです。
  • comic_quietは、48.3秒、8,526,074バイトです。
  • kids_jingleは、16.0秒、2,822,478バイトです。

私はこの3曲を、2026年11月12日に、ffmpegのFLACコーデックで変換しました。圧縮レベルは0・5・8の3段階です。

  • 変換は各条件で3回行い、変換時間は3回の中央値です。
  • ファイルサイズは、変換後のファイルの実測です。
  • 割合は、元のWAVを100とした値を、バイト数から直接計算し、小数第1位に丸めました。
  • デコードしたPCMのMD5と、元のWAVのPCMのMD5を比べました。

3曲9条件のファイルサイズを表にまとめました

曲条件バイト元のWAVを100とした割合
edu_bright元のWAV8,467,278100.0
edu_brightFLACレベル03,842,77545.4
edu_brightFLACレベル52,890,01734.1
edu_brightFLACレベル82,882,23934.0
comic_quiet元のWAV8,526,074100.0
comic_quietFLACレベル02,407,93028.2
comic_quietFLACレベル52,050,67624.1
comic_quietFLACレベル82,027,54023.8
kids_jingle元のWAV2,822,478100.0
kids_jingleFLACレベル01,035,77336.7
kids_jingleFLACレベル5821,87629.1
kids_jingleFLACレベル8812,54528.8

3曲とも、レベルが上がるほどバイト数は小さくなりました。

図2:変換時間の中央値は、レベル0とレベル5の間に一方向の順序がありませんでした

変換時間の中央値を3曲ごとに比べた棒グラフで、FLACの9条件を通して0.135秒から0.459秒の範囲にあり、レベル8は3曲ともレベル5より長くなっていることを示しています
図2:変換時間の中央値(3回)を、曲とFLACのレベルごとに比べました。

図2は、各条件で3回変換した時間の中央値を棒グラフにしたものです。9条件を通して、0.135秒から0.459秒の範囲でした。

  • レベル8の中央値は、3曲ともレベル5より長くなりました。レベル5の中央値を1とすると、edu_brightは約1.7倍、comic_quietは約1.4倍、kids_jingleは約2.2倍です。
  • レベル0とレベル5の中央値には、3曲を通した一方向の順序がありませんでした。edu_brightは0.199秒と0.196秒、comic_quietは0.305秒と0.335秒、kids_jingleは0.194秒と0.135秒です。

変換時間を表にまとめました

曲条件変換時間の中央値(秒)3回の変換時間(秒)
edu_brightFLACレベル00.1990.189/0.201/0.199
edu_brightFLACレベル50.1960.186/0.196/0.203
edu_brightFLACレベル80.3300.353/0.330/0.328
comic_quietFLACレベル00.3050.360/0.296/0.305
comic_quietFLACレベル50.3350.392/0.335/0.314
comic_quietFLACレベル80.4590.459/0.359/0.515
kids_jingleFLACレベル00.1940.194/0.269/0.191
kids_jingleFLACレベル50.1350.135/0.133/0.177
kids_jingleFLACレベル80.2970.297/0.334/0.283

comic_quietのレベル8は、3回の時間が0.359秒から0.515秒までばらつきました。変換時間は、この環境での計測です。使う機械が変われば、時間は変わります。

図3:レベル5からレベル8への減り方は、レベル5を基準に0.3%から1.1%でした

レベル5からレベル8へのファイルサイズの変化率を3曲ごとに比べた棒グラフで、基準はレベル5のバイト数です。edu_brightは-0.3%、comic_quietは-1.1%、kids_jingleは-1.1%になっていることを示しています
図3:レベル5からレベル8への変化率を、曲ごとに比べました。基準はレベル5のバイト数です。

図3は、レベル5のバイト数を基準にして、レベル8でのファイルサイズの変化率を棒グラフにしたものです。3曲とも、レベル0からレベル5への減り方(レベル0のバイト数を基準に14.8%から24.8%の減少)に比べると、減り方は小さくなりました。

元のWAVを100とした割合でレベル5とレベル8の差を見ると、edu_brightは0.1ポイント、comic_quietは0.3ポイント、kids_jingleは0.3ポイントです。

レベルの間でファイルサイズがどれだけ変わったかを表にまとめました

曲レベル0から5への変化(バイト)レベル0から5への変化率(レベル0のバイト数を基準)レベル5から8への変化(バイト)レベル5から8への変化率(レベル5のバイト数を基準)
edu_bright-952,758-24.8%-7,778-0.3%
comic_quiet-357,254-14.8%-23,136-1.1%
kids_jingle-213,897-20.7%-9,331-1.1%

私が表を見て気づいたのは、レベル0からレベル5の変化に比べて、レベル5からレベル8の変化が小さいことです。

デコードしたPCMのMD5は9条件全てで元のWAVと一致しました

各FLACをデコードしたPCMのMD5と、元のWAVのPCMのMD5を比べたところ、9条件全てで一致しました。再生時間も、全条件で元のWAVと一致しました。

今回の3段階のどれを選んでも、デコード後の音のデータは元のWAVと同じでした。

この実測を読むときの範囲をまとめました

  • 素材は、自前BGMパイプラインで作った3曲です。曲の内容によって圧縮の効き方が変わるため、割合はほかの曲では変わる場合があります。
  • 変換時間はこの環境での計測です。使う機械が変われば、時間は変わります。
  • comic_quietのレベル8は、3回の変換時間が0.359秒から0.515秒までばらつきました。
  • 今回比べたのは、ファイルサイズと変換時間と、デコードしたPCMが元のWAVと一致するかどうかです。聴感の評価は行っていません。

今回の範囲では、元のWAVを100として23.8から45.4までになりました

今回のBGM3曲をFLACのレベル0・5・8に変換した範囲では、ファイルサイズは元のWAVを100として、comic_quietのレベル8の23.8からedu_brightのレベル0の45.4までになりました。

レベル0からレベル5への減り方は、レベル0のバイト数を基準にして14.8%から24.8%でした。レベル5からレベル8への減り方は、レベル5のバイト数を基準にして0.3%から1.1%でした。デコードしたPCMのMD5は、9条件全てで元のWAVと一致しました。変換時間の中央値は、レベル8がレベル5の中央値を基準にして約1.4倍から約2.2倍になり、3曲ともレベル5より長くなりました。

関連する実測記事もあわせて読んでみてください

このブログで実測した記事として、BGMの音声形式を実測した記事と、WAVのサンプルレートとビット深度を実測した記事もあります。あわせて読んでみてください。

コメント

タイトルとURLをコピーしました