Opusのビットレートでファイルサイズはどれだけ変わるか 32kbpsから192kbpsまでBGM3曲で実測しました

元のWAVを100としたOpusのファイルサイズの割合を3曲ごとに比べた棒グラフで、32kbpsは3曲とも2.3、64kbpsは3曲とも4.6、96kbpsは6.8から6.9、128kbpsは9.1から9.2、192kbpsは3曲とも13.7になっていることを示していますIT・仕事術

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

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

結論です。元のWAVを100とした割合で比べると、今回のBGM3曲をOpusの固定ビットレート32kbpsから192kbpsまでの5段階に変換した範囲では、全条件の最小は32kbpsの2.3、最大は192kbpsの13.7になりました。32kbpsの出力は、同じ曲の192kbpsの出力に対して、バイト数基準で3曲とも16.9%でした。

BGMのWAVをOpusに変換するときに、ビットレートを変えるとファイルサイズと変換時間とラウドネスがどれだけ変わるのかを、私が実測しました。

  • 元のWAVを100としたファイルサイズの割合は、3曲でほぼ同じでした。
  • 変換時間の中央値は、ビットレートを上げるたびに長くなったわけではありませんでした。
  • 統合ラウドネスは、元のWAVの統合ラウドネスを基準にして、15条件とも-0.09 LUFSから0.01 LUFSの範囲でした。

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

元のWAVを100としたOpusのファイルサイズの割合を3曲ごとに比べた棒グラフで、32kbpsは3曲とも2.3、64kbpsは3曲とも4.6、96kbpsは6.8から6.9、128kbpsは9.1から9.2、192kbpsは3曲とも13.7になっていることを示しています
図1:元のWAVを100とした割合を、曲とビットレートごとに比べました。

図1は、元のWAVを100として、各条件のファイルサイズの割合を棒グラフにしたものです。割合は、3曲でほぼ同じでした。

  • 32kbpsは、元のWAVを100として3曲とも2.3でした。
  • 64kbpsは、元のWAVを100として3曲とも4.6でした。
  • 96kbpsは、元のWAVを100として6.8から6.9の範囲でした。
  • 128kbpsは、元のWAVを100として9.1から9.2の範囲でした。
  • 192kbpsは、元のWAVを100として3曲とも13.7でした。

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

素材は、私の自前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のOpusコーデック(libopus)で変換しました。条件は固定ビットレートで、32・64・96・128・192kbpsの5段階です。変えたのはビットレートだけです。

  • 変換は各条件で3回行い、変換時間は3回の中央値です。
  • ファイルサイズは、変換後のファイルの実測です。
  • 割合は、元のWAVを100とした値を、バイト数から直接計算し、小数第1位に丸めました。
  • 音量は、ffmpegのloudnormフィルタの解析値(統合ラウドネス、単位はLUFS)で比べました。

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

曲条件バイト元のWAVを100とした割合
edu_bright元のWAV8,467,278100.0
edu_bright32kbps195,9412.3
edu_bright64kbps388,0214.6
edu_bright96kbps580,1016.9
edu_bright128kbps774,5829.1
edu_bright192kbps1,158,74213.7
comic_quiet元のWAV8,526,074100.0
comic_quiet32kbps197,2372.3
comic_quiet64kbps390,5974.6
comic_quiet96kbps583,9576.8
comic_quiet128kbps779,7349.1
comic_quiet192kbps1,166,45413.7
kids_jingle元のWAV2,822,478100.0
kids_jingle32kbps65,4772.3
kids_jingle64kbps129,5574.6
kids_jingle96kbps193,6376.9
kids_jingle128kbps258,5189.2
kids_jingle192kbps386,67813.7

ビットレートどうしの割合も、バイト数から直接計算しました。3曲とも同じ値でした。

  • 32kbpsの出力は、192kbpsの出力に対して16.9%でした。
  • 64kbpsの出力は、192kbpsの出力に対して33.5%でした。
  • 32kbpsの出力は、64kbpsの出力に対して50.5%でした。

図2:変換時間の中央値は、ビットレートを上げるたびに長くなったわけではありませんでした

変換時間の中央値を3曲ごとに比べた棒グラフで、Opusの15条件を通して0.298秒から0.958秒の範囲にあり、edu_brightの64kbpsは0.902秒で96kbpsの0.754秒より長くなっていることを示しています
図2:変換時間の中央値(3回)を、曲とビットレートごとに比べました。

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

  • edu_brightの64kbpsの中央値0.902秒は、同じ曲の96kbpsの0.754秒と128kbpsの0.794秒より長くなりました。
  • 3曲を通した中央値の範囲は、32kbpsで0.298秒から0.607秒、192kbpsで0.358秒から0.958秒でした。
  • comic_quietでは、変換時間の中央値が段階ごとに長くなり、32kbpsの0.546秒から192kbpsの0.830秒までになりました。

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

曲条件変換時間の中央値(秒)3回の変換時間(秒)
edu_bright32kbps0.6070.607/0.632/0.589
edu_bright64kbps0.9021.094/0.902/0.684
edu_bright96kbps0.7540.701/0.754/0.827
edu_bright128kbps0.7940.867/0.782/0.794
edu_bright192kbps0.9581.058/0.866/0.958
comic_quiet32kbps0.5460.579/0.538/0.546
comic_quiet64kbps0.5930.593/0.568/0.670
comic_quiet96kbps0.6260.637/0.602/0.626
comic_quiet128kbps0.7790.853/0.779/0.732
comic_quiet192kbps0.8300.830/0.805/0.842
kids_jingle32kbps0.2980.315/0.284/0.298
kids_jingle64kbps0.3470.293/0.358/0.347
kids_jingle96kbps0.3240.320/0.349/0.324
kids_jingle128kbps0.3660.341/0.371/0.366
kids_jingle192kbps0.3580.379/0.358/0.357

変換時間は、この環境での計測です。使う機械が変われば、時間は変わります。edu_brightの64kbpsは、3回の時間が0.684秒から1.094秒までばらつきました。

図3:統合ラウドネスは、元のWAVの統合ラウドネスを基準に-0.09から0.01 LUFSの範囲でした

統合ラウドネスの元のWAVとの差を3曲ごとに比べた棒グラフで、縦軸は-0.16から0.07 LUFSです。15条件を通して-0.09から0.01 LUFSの範囲にあり、差の絶対値が一番大きいのはcomic_quietの32kbpsの-0.09 LUFSで、96kbpsと192kbpsでは3曲とも0.00 LUFSになっていることを示しています
図3:統合ラウドネスの元のWAVとの差を、曲とビットレートごとに比べました。

図3は、元のWAVの統合ラウドネスを基準にして、各条件の統合ラウドネスの違いを棒グラフにしたものです。縦軸は-0.16から0.07 LUFSです。

  • 15条件を通して、元のWAVの統合ラウドネスを基準にした差は、-0.09 LUFSから0.01 LUFSの範囲でした。
  • 差の絶対値が一番大きかったのは、comic_quietの32kbpsで、元のWAVの-31.80 LUFSに対して-31.89 LUFS、つまり-0.09 LUFSでした。
  • 96kbpsと192kbpsでは、3曲とも元のWAVの統合ラウドネスとの差が0.00 LUFSでした。

統合ラウドネスを表にまとめました

曲条件統合ラウドネス(LUFS)元のWAVとの差(LUFS)
edu_bright元のWAV-22.940.00
edu_bright32kbps-22.98-0.04
edu_bright64kbps-22.930.01
edu_bright96kbps-22.940.00
edu_bright128kbps-22.940.00
edu_bright192kbps-22.940.00
comic_quiet元のWAV-31.800.00
comic_quiet32kbps-31.89-0.09
comic_quiet64kbps-31.800.00
comic_quiet96kbps-31.800.00
comic_quiet128kbps-31.800.00
comic_quiet192kbps-31.800.00
kids_jingle元のWAV-20.410.00
kids_jingle32kbps-20.410.00
kids_jingle64kbps-20.400.01
kids_jingle96kbps-20.410.00
kids_jingle128kbps-20.400.01
kids_jingle192kbps-20.410.00

この表の値は、loudnormフィルタの解析値です。聴感の音質は測っていません。

ビットレートのほかに、サンプルレートと再生時間の表示も変わりました

私が出力を調べると、サンプルレートと再生時間の表示が元のWAVとは違っていました。

  • 出力のサンプルレートは、全条件で48,000Hzでした。元のWAVの44,100Hzから、変換時に48,000Hzへ変わりました。
  • 再生時間は、全条件で元のWAVより約0.007秒長く表示されました。edu_brightは元の48.0秒に対して48.0065秒、comic_quietは元の48.333311秒に対して48.339813秒、kids_jingleは元の16.0秒に対して16.0065秒でした。

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

  • 素材は、自前BGMパイプラインで作った3曲です。曲の内容が変われば、割合がわずかに変わる場合があります。
  • 設定は、Opus(libopus)の固定ビットレートに固定した比較です。可変ビットレートやほかの形式では、割合が変わる場合があります。
  • 変換時間はこの環境での計測です。使う機械が変われば、時間は変わります。
  • ラウドネスは解析値の比較です。聴感の音質の違いは測っていません。

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

今回のBGM3曲をOpusの固定ビットレート32kbpsから192kbpsまでの5段階に変換した範囲では、ファイルサイズは元のWAVを100として、32kbpsの2.3から192kbpsの13.7までになりました。

32kbpsの出力は192kbpsの出力に対して16.9%、64kbpsの出力は192kbpsの出力に対して33.5%で、どちらもバイト数基準で3曲とも同じ値でした。変換時間の中央値は、edu_brightの64kbps(0.902秒)が同じ曲の96kbps(0.754秒)より長くなり、ビットレートを上げるたびに長くなったわけではありませんでした。統合ラウドネスは、元のWAVの統合ラウドネスを基準にして、15条件とも-0.09 LUFSから0.01 LUFSの範囲でした。

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

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

コメント

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