MP3を今更評価を使う必要があるか?と思われれるかも知れませんが、今でも互換性が高く様々な機器で再生することができるメリットがあります。 例えばWordpressにMP3音源を埋め込んでブラウザで再生する時トラフィックが悪い環境下で何故か?AACの場合よりスムーズに再生できることを経験しています。
そこで、遅まきながら、MP3の品質と圧縮率に定評のあるLameと同等のエンコーダと思われる「FFmpegのlibmp3lame」に対して「5つの視点」で6種類のAACを音質評価したのと同じ基準で評価してみました。 (注記:Pink-noiseによる劣化率を追加したので、「4つの視点」から「5つの視点」に変更しました。2023/2/28)
予めお断り
「5つの視点」の音質評価は、プラシーボ効果(思い込み)を避けるため、試聴による音質評価は行わずスタティックな音源をベースにCD音質を凌ぐか否かにフォーカスしてデータで評価しています。 あくまで、音質評価の一つの側面を現している参考データとしてご覧頂ければと思います。
FFmpegのMP3変換コマンドラインについて
FFmpegのMP3は、libmp3lame エンコーディングライブラリを使用しています。 詳しい使い方は、FFmpegサイトの「MP3 Encoding Guide」(ここをクリック)を参照してください。
ここでは、「5つの視点」で音質評価するため、ハイレゾ音源をサンプルレート48khz、ビットレート320kbpsで指定するMP3変換コマンドラインを示します。 このコマンドラインはmacOSの場合はターミナルを開いて実行します。command Line ffmpeg -i "in_file_name.wav" -codec:a libmp3lame -b:a 320k -vn -ar 48000 "out_file_name.mp3" 又は、-codec:a libmp3lame オプションを記述しなくてもOK ffmpeg -i "in_file_name.wav" -b:a 320k -vn -ar 48000 "out_file_name.mp3"
オプションの説明
- -codec:a libmp3lame → lame MP3 エンコーディングライブラリを指定(しなくてもOK)
-
-b:a 320k → ビットレート CBRで320kbpsを指定
-
-ar 48000 → サンプルレート 48khzを指定
- -vn → no video の意味でaudioを指定
- 変換元ファイル( in_file_name.wav)は、Flac等でもOK
FFmpegのインストールについて
補 足
一々、ターミナルを介してコマンドラインを実行する作業は面倒です。 そこで、Macのショートカットアプリでコマンドラインを組込んだショートカットを作成しておけば変換作業の効率化が図れます。 下の記事で複数の音声ファイルを一括変換するショートカットを紹介しています。 ショートカット化することをオススメします。
-
MacのショートカットアプリでFFmpegによるAACやMP3への変換作業を自動化する
例えば、FFmpegのAAC及びMP3用エンコーダは多数ありその特徴に合わせて一々、ターミナルを介してコマンドラインを実行しなければならず、変換作業が面倒です。 そこで、Macのショートカットアプリで ...
「5つの視点」評価方法と条件
「5つの視点」で6種類のAACを音質評価したのと同じ基準でFFmpeg・libmp3lameエンコーダを評価しました。
評価点・一覧
各視点の評価が満点で評価合計は12点になります。
- 視点-1 ハイレゾ24bit音源をMP3変換した時の歪率特性
夫々のレベル(0db,-3db,-20db,-48db,-60db)に対してCD歪率(THD+N)より優っている場合は 1点 劣っている場合は 0点 - 視点-2 48khzにダウンサンプリングで再生できる上限周波数特性(F特)
CDの上限再生周波数(22.05khz)より優っている場合は 2点、劣っている場合は 0点 - 視点-3 ハイレゾ(192khz 24bit)リアル音源で高域暴れの有無
暴れが見られない場合は 2点、暴れが見られる場合は 0点 - 視点-4 ハイレゾ音源のタグ情報の引き継ぎ
完全に引き継がれている場合は 2点 一部引き継がれている場合は 1点 引き継がれていいない場合は 0点 - 視点-5 Pink-noiseを変換した時の劣化率
0.5%未満で 1点 0.5%以上で 0点
「5つの視点」評価結果
評価点 合計:6点 /12点(評価点内訳は以下)
視点-4 タグ情報の引き継ぎ
評価点 1点
MP3変換後のTag情報: アートワークのみ引き継ぎNG (引き継ぎ▲)
但し、「FFmpegでAAC変換する時にArtwork(画像)を引き渡す方法」を参考にして頂ければアートワークも引き継げると思われます。視点-5 Pink-noiseを変換した時の劣化率
評価点 1点
下表で320kbpsで劣化率が0.19%を示し、この値は以前調べたAACエンコーダより優れ特筆すべきことです。誤差率グラフのブラウンで示されているラインが320kbpsです。 上限周波数までの帯域(0〜20khz)にわたって元のPink-noiseに対する誤差が非常に少ないことが分かります。 原因は不明ですが、160kbpsのブルーラインを見ると何故か0.5%ほど上にオフセットしているのが気になります。絶対誤差率 %
統計データ320kbps 160kbps 統計データ範囲 0hz〜20khz 0hz〜15khz x(平均) -0.00%
0.65%
σ(stdevp) 0.03% 0.19% x+3σ 0.09% 1.22% x-3σ -0.10% 0.07% 劣化率(2*3σ) 0.19% 1.15% 劣化率・順位
-位 -位 max 0.15%
1.35% min -0.16% -0.15% レンジ
0.31% 1.50% file size(KB) 203 101
音質評価マトリクス(AACと比較)
FFmpeg MP3(libmp3lame)の総評
上記、「音質評価マトリクス」の結果から、libmp3lame エンコーダの評価ランキングは6位でした。
これは、上限周波数(Cut-Off)がCDのナイキスト周波数より低くなっているので評価点が0点になったためランキングが下がりました。 但し、Cut-Offは20khz以上あり実際のサウンドを聴く分には全く十分なレベルであると考えられます。
今回の評価で特筆すべきは、Pink-noiseを変換した時の劣化率0.19%(320kbps)で、「5つの視点」で調べた劣化率の中でBest One でした。 これは、エンコーダの品質が良いことを現しており、サウンドのフォルテ部分での再現性が期待できます。
iTunes MP3との劣化率比較・テスト
MP3変換で一般的によく使われている、「Apple Music(iTunes)」でPink-noiseをMP3に変換した時の劣化率を追加で調べてみました。
iTunes MP3の劣化率は、2.08%(320kbps) でした。 これは、libmp3lame の劣化率が 0.19% でしたので、1桁ほど劣っています。
ハイレゾ音源をMP3に変換する時は、FFmpegのlibmp3lame エンコーダが一択かもしれません。
Lameエンコーダについて(参考)
LAME MP3エンコーダーは、高品質で効率的な圧縮を行うことで知られており、ユーザーは音質をあまり犠牲にすることなくMP3ファイルを作成することができると言われています。 LAMEは多くの一般的なメディアプレーヤーやオーディオ編集ソフトで広く使われており、長年にわたりMP3ファイルを作成するための標準となっています。 名前は「Lame Ain't an MP3 Encoder 」の頭文字から命名された様です。
FFmpegのlibmp3lame との違いの有無を見るために、劣化率を除いた「4つの視点」で評価してみました。
Lame エンコーダは、Home brewでインストールします。 インストールしたバージョンは、Latest LAME release: v3.100 (October 2017)です。
評価した結果は、FFmpegのlibmp3lame エンコーダと同等でしたが、Lame エンコーダはタグ情報が引き継がれませんでした。 この点からFFmpegのMP3エンコーダ(libmp3lame)を使用する方がベターと思われます。
以上、FFmpegのMP3を「5つの視点」で評価した結果でした。 MP3変換を行う時のご参考にして頂ければと思います。
ハイレゾ音源を変換するオススメ・関連記事
AAC変換アプリ・ランキング
AAC(MP3)に変換する・5つのヒント