藤本健のDigital Audio Laboratory

第883回

最新エンコーダの性能ってどうなのよ! 令和3年の“MP3事情”を調査した

MP3の最新エンコーダーを差分比較した(写真はApple「Music」で128kbpsエンコードしたもの)

AV Watchが創刊して20年ということで、前回は思い出深い記事ベスト5を紹介した。

その中で第5位に取り上げたのが「パッケージソフト全盛時代の現代MP3事情」(第9回)という記事だったが、やはりMP3などの圧縮オーディオの性能評価は、Digital Audio Laboratoryの大きなテーマの一つでもある。そこで今回は、MP3の最新エンコーダーがどのような状況にあるのか調べてみるとともに、従来とは少し異なる評価もしてみたので、その手法などについて紹介してみたい。

連載開始から約20年。MP3は何がどう変わったのか

改めて考えてみても、MP3の発明というのは音楽の世界において大きな革命だったと思う。

MP3は、ドイツのFraunhofer IIS(フラウンホーファー研究機構 集積回路研究所)が1991年に開発したもので、圧縮が非常に難しい音楽データを聴感上ほとんど変えずに1/10以下といったサイズに落とすことができる画期的な技術だった。もし試したことがなければ、WAVファイルをZIP圧縮してみるといいだろう。ほとんど圧縮できないから、やはり今考えてもMP3は偉大だ。もちろん、その後、AACやWindows Media Audio、OggVorbis、OPUSといったエンコーダが登場し、性能上はMP3を超えるものも多いが、最初に普及させたというのは大きな功績である。

もっとも、MP3が発表されたのとほぼ同じタイミングでソニーがミニディスク(MD)を、フィリップスがデジタル・コンパクト・カセット(DCC)を発表しており、後にATRACと名付けられるオーディオ圧縮技術が開発されているので、フラウンホーファーだけが、すごいというわけではないのだろうが、やはりPCの世界においてMP3の意義は大きかった。

ソニーのミニディスク「MDW80T」。ソニーストア価格で350円(税別)
パナソニックのDCCテープ「RT-D90」。生産終了品

本連載がスタートした時は、すでにMP3誕生から10年が経過していたが、一般的には、まだ普及し始めたばかりのタイミングだった。そんなわけで当時存在したさまざまなエンコーダーを使って、その音質チェックを行なったわけだ。

では、約20年が経過した現在、MP3は何がどう変わったのだろう。

まず大きな変化は、フラウンホーファーの特許が2017年4月に切れ、現在は誰でもがフリーで使える資産になったことだろう。以前はMP3の読み書きをするには有料オプションであるライセンスを購入するソフトも少なくなかったが、いまは数多くのソフトがサポートしており、もはや公的なフォーマットとなっている。

一方、20年前のMP3エンコーダーを振り返ると、当初のパッケージ製品はXing Technologyが主流で、ほかにもフラウンホーファーのエンジンを搭載した製品、オープンソースエンジンの「LAME」、国産フリーウェアの「午後のこ~だ」などが存在していた。

これらが現在どうなっているのかというと、主流エンコードソフトであるWindows「Windows Media Player」、Apple「Music」はいずれもフラウンホーファーのエンジンをそのまま使っているように見える一方、以前Xing Technologyとブランド表記されていたエンジンは、バージョンアップするとともに「Helix」となっていた。調べてみると1999年にXing Technology自体がReal Networkに買収されており、そのReal Networkが開発するMP3エンコーダーの最新版がHelixということのようだ。

オープンソースのLAMEは今も健在であり、最新版は2017年にリリースされた3.10というバージョン。また午後のこ~だは2004年にリリースされた3.13aが最終バージョンとなっていた。

5つのMP3エンコーダーで性能を比較する

今回はこれら5つのソフトを用いて、128kbpsと192kbpsの2種類でエンコードし、実際どんな違いがあるのかを周波数分析する形でチェックしてみた。

少し補足すると、Windows Media PlayerはWAVを直接MP3に変換することができないため、いったんWAVをCDに焼いた上で、そこからリッピングする形でMP3に変換している。Appleはせっかくなので最新M1 MacのMusic Appで変換した。

Windows Media Playerは、リッピングする形でMP3に変換した
最新M1 MacのMusic AppでMP3化した

Helixは、このエンジンを搭載したものもいくつかあるようだが、シンプルに使いたかったので、Windowsのコマンドラインで使えるものを入手し、変換。同様にLAMEもWindowsのコマンドラインで使えるもので変換した。さらに、午後のこ~だは、32bitアプリではあるが、64bit Windows 10に無理やりインストールして実行させている。

Helixは、Windowsのコマンドラインで使えるものを入手し、変換
LAMEもコマンドラインで使えるもので変換した
午後のこ~だは、64bit Windows 10に無理やりインストールして実行した

ただ、一言で128kbps、192kbpsといっても、実はいろいろなモードがあって単純比較できないのが厄介なところ。

固定ビットレート(CBR)、可変ビットレート(VBR)なのかという違いもあるし、ジョイントステレオなのか、ステレオなのかといった違いに加え、細かく設定できるエンコーダーもあれば、とくに指定のないものもあるためだ。よって今回の比較は、100%同一条件の、厳密なものとはいえないことを始めにお断りしておく。あくまで各エンコーダーをデフォルト設定のままとし、2つのビットレート(128kbps、192kbps)でエンコードしてみた結果である。

分析方法としては、まずは以前から行なっているのと同様、efu氏開発のスペクトラムアナライザー「WaveSpectra」を使って表示させてみた。ただ、このソフトはMP3を読み込むことはできないので、波形編集ソフト「Sound Forge」でWAVに変換してから、WaveSpectraに読み込ませている。

Sound ForgeでWAV変換してから、WaveSpectraに読み込ませた

ここでもう一つ。

前々から気になっていたのが、30秒程度のファイルを再生して、その最大値の軌跡だけを表示させると、実際の結果とは結構違ってしまう、ということ。とくに高域において、ほとんど音が出てないのに瞬間的に出た音を記録して表示してしまうという問題がある。

この点については、以前の記事の中でもいろいろと指摘してきたが、ここでは53秒ある楽曲の16秒目で手動で一時停止をするとともに、そこまでの最大値=赤、時間窓4,096における300回平均値=青、最新状況=黒の3つを表示させた。こうすることで、どのような音が出ているのかリアルな感じが分かるはずだ。

以下の画像が、オリジナルのWAVファイルと比較し、Windows Media Player、Music、Helix、LAME、そして午後のこ~だでエンコードした結果だ。それなりに違いがあることがお分かり頂けるだろう。

オリジナルのWAVファイル
Windows Media Player
128kbpsの場合
192kbpsの場合
Music
128kbpsの場合
192kbpsの場合
Helix
128kbpsの場合
192kbpsの場合
LAME
128kbpsの場合
192kbpsの場合
午後のこ~だ
128kbpsの場合
192kbpsの場合

128kbpsでも192kbpsでも、16kHz以上の音がほとんど出てないのが見えるが、Apple「Music」の192kbpsと、「午後のこ~だ」の192kbpsは、かなり高域まで伸びているようだ。

まあ、このように横軸を指数ではなくリニアに表示させて、16kHz以上とか18kHz以上が出ていないということで、違いを見せてきたが、そんな高い音をどれだけ人間が認識できるのかは怪しいところ。

子供であればモスキート音をしっかり把握できるが、20歳を過ぎればだんだん聴こえなくなり、筆者のように50歳を過ぎれば、高域なんてまともに聴こえてないのが事実。その高域だけを比較しても、どれだけの意味があるのかというのは、過去記事でも自問自答してきており、下記回ではオリジナルとの差分を捉えてその音をチェックするなどしてきた。

第504回:MP3圧縮で、どんな音が失われるのか

第578回:MP3圧縮で“失った音”をリアルタイムで確認する方法

ただ、エンコードによって、全体の音量に違いが出てしまうと、この差分の意味が見えなくなってしまうし、もし周波数によって時間のズレが多少なりとも生じていると、単なる差分からだと正しい情報が得られないため、この検証方法以外にいい方法はないだろうかとも思っていた。

“WAVをスペクトラム解析した差分”で性能をチェックする

そんな中、知人から「WAVファイルから直接差分を抜き出すのではなく、WAVファイルをスペクトラム解析した結果の差分を見てはどうか?」というアイディアをもらい、試してみたところ、ちょっと面白い結果を得ることができた。この方法ならば、多少の音量差があったり、時間的な微妙なズレがあっても、その辺は吸収されてしまうので、差分を目で見るという意味では大きな意味がありそうだ。

ここではSteinberg「WAVELAB Pro」を使って、オリジナルのWAVをスペクトラム表示させたものと、MP3エンコードした結果を表示させたものをそれぞれスクリーンショット。それをオープンソース「DiffImg」というソフトを使って、差分を画像として取り出した。

手順1:オリジナルのWAVをスペクトラム表示
手順2:MP3エンコードした結果を表示させ、スクリーンショットを取る
手順3:「DiffImg」を使い、差分を画像として取り出す

下記画像の見方としては、差分が少ない、つまり暗いほうがよりオリジナルに近いことを意味する。その観点からするとApple「Music」の192kbpsと、「午後のこ~だ」の192kbpsがいい結果になっているように見えるが、いかがだろう。

Windows Media Player
128kbpsの場合
192kbpsの場合
Music
128kbpsの場合
192kbpsの場合
Helix
128kbpsの場合
192kbpsの場合
LAME
128kbpsの場合
192kbpsの場合
午後のこ~だ
128kbpsの場合
192kbpsの場合

以上、今回は20年ぶりに見出した新たな比較方法を試してみたのだが、この方法を使ってほかのコーデックについても調べてみると面白い結果が見えてくるかもしれない。また、これまでOPUSを試していないので、この辺のコーデックも改めてチェックするとともに、MP3と比較してみると、面白そうだ。

藤本健

 リクルートに15年勤務した後、2004年に有限会社フラクタル・デザインを設立。リクルート在籍時代からMIDI、オーディオ、レコーディング関連の記事を中心に執筆している。以前にはシーケンスソフトの開発やMIDIインターフェイス、パソコン用音源の開発に携わったこともあるため、現在でも、システム周りの知識は深い。  著書に「コンプリートDTMガイドブック」(リットーミュージック)、「できる初音ミク&鏡音リン・レン 」(インプレスジャパン)、「MASTER OF SONAR」(BNN新社)などがある。またブログ型ニュースサイトDTMステーションを運営するほか、All AboutではDTM・デジタルレコーディング担当ガイドも務めている。Twitterは@kenfujimoto