Help us understand the problem. What is going on with this article?

音声コーデック 音質比較 AAC vs MP3 vs Opus vs Vorbis

More than 3 years have passed since last update.

スペクトログラムの差分で比較する。
具体的には、オリジナルファイルのスペクトログラムと、コーデックを通し、変換後のスペクトログラムを画像編集ソフトのレイヤーに貼り付け、レイヤー効果で差分を取る。最終的に視覚化されるのは非可逆コーデック(Lossy)で失われた情報となる。
ネット上には、高音域がどこまで出るかだけを見て音質を評価する情報がある。これは意味がなく、より重要なのは可聴域における音質である。 大多数の人間は17kHzとかそれ以上の高音はほぼ感じない。(これもまた、ネット上に音声でテストするサイトがあるが、こういったサイトはクリッピングが発生しており、歪みの形で可聴域で聴こえている場合があるWaveGeneAudacityで正しくトーンを生成してテストすべきである。)

テスト曲:Perfect sky Chorus ver.

前に書いた 音楽ファイルが96kbpsになる日――Opus音声コーデックの実力 では差分は取らずに、スペクトログラムだけを貼ってある。今回は視覚的にコーデックの比較をするために画像の差分をとった。

128kbps

画像を拡大して画面の輝度を最高にし、部屋を暗くして、黒く見える部分に緑が見えることに注目してほしい。
128kbpsでの比較。以下のように Opus > qaac = Vorbis > LAME となる。ここで注意して見たいのは、目立つ高域のロスではなく、人の耳にとりわけ影響がある中音域の可聴域である。LAMEでは明らかに可聴域に緑の部分が見られることがわかる。VorbisとAACでは若干Vorbisのほうが緑っぽいが大体同じものとなる。Opusは緑の部分が少なくロスは少ないが、高音域を若干犠牲にしている。これはだいたい16〜17kHzとなり、そこに緑が若干目立つ。
このビットレートではどのコーデックもローパスフィルターを通している。LAMEは16kHz、AACとVorbisは18kHz、Opusは20kHzである。Opusは(CELTモードでは)ビットレートにかかわらず、ローパスフィルターは20kHzとなる。だがローパスフィルターが16kHzに掛かっていたとしても、聴覚上の違いはほぼわからない。このローパスフィルターは、どうせ高域にビットを割り当てても意味が薄いので、その代わりに可聴域へビットレート割り当てするためにある。

AAC: qaac (Apple) CVBR 128

aaccvbr128.png
不自然な点が気になるが可聴域の品質は高い。

MP3: LAME VBR v5

mp3vbrv5.png
全体的に見劣りする。

Opus: opusenc VBR 128

opusvbr128.png
原音と差が少なく、抜きん出た品質の高さである。16kHz以上は少しロスが増え20kHz以上は完全にロスとなる。

Vorbis: aoTuV 20110424 (based on Xiph.Org's libVorbis 1.3.5) VBR q4.0

vorbisq4.png
緑が目立つものの、拡大してみると、8kHz以下はかなりロスが少ない。

256kbps

Opus > AAC = MP3 = Vorbisのように見える。なぜならば、AACとVorbisは可聴域に緑の斑点がよく見えるがLAMEは意外と見られない。また、Opusは緑の斑点が最も見えず、最高の品質である。一方で、高音域はローパスフィルターを通していないAACとVorbisが勝る(が、可聴域の再現性はOpusより若干悪い)。
以下の画像は拡大して黒く見える部分をよく見てほしい。黒く見えても、緑の濃さに違いがある。

AAC: qaac (Apple) VBR q109

aacq109.png
全体的に安定。AppleのAACエンコーダは優秀。

MP3: LAME VBR V0

mp3v0.png
可聴域の部分は意外と良い結果になっている。が、MP3はコーデックの仕様上高い音が苦手(まあ、人間には劣化は知覚できないけど)。

Opus: opusenc VBR 240

opusvbr240.png
拡大すると、可聴域の部分ではAACやVorbisよりも緑の部分が少ない(というか、ほぼ真っ黒で、すなわち、原音に近い)。ただし、LPFのために超音波より上はカット(聞こえないので無問題)。

Vorbis: aoTuV 20110424 (based on Xiph.Org's libVorbis 1.3.5) VBR q8.0

vorbisq8.png
AACと似ているが、Opusよりは微妙に悪いようである。

結論

  • Opus最強。実際に音楽ファイルを扱う際は、メタタグの運用上の便利さとしてはMP3かVorbisとなるだろう。AACはReplayGainの取り扱いがソフトによって異なるらしい。OpusはFoobar2000で付けたReplayGainがVLCで読めないなどがある。
  • 総合的に評価するなら Opus>AAC=Vorbis>MP3
    • AACはAppleのエンコーダーを使うと、 AAC>Vorbis となる印象
  • 意外と高ビットレートのVBRにおけるLAMEは音質が高い。

おまけ: 原音のスペクトログラム

上記画像ファイルとこれの差分を取れば、上記コーデックの完全なスペクトログラムが手に入ると思われる。
002. Will-316O2.flac.png

keiya
筑波大生です
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away