音風景ブログ

目隠しテストによるエンコーダの音質評価などを行うブログです。

160kbpsでのMP3,AAC他の音質比較

結果

iTunes ≒ aoTuV ≒ Opus > LAME VBR > 午後のこ〜だ > BladeEnc > ffmpeg内蔵エンコーダ(実験段階)

評価

エンコーダ LAME 午後 BladeEnc aoTuV Opus iTunes ffmpeg
リリース年 2010 2004 2001 2011 2011 2010 2011
バージョン 3.98.4 3.13 0.94.2 b6.03 0.11.2 qt7.6.9 r30805
フォーマット MP3 MP3 MP3 OGG Opus AAC AAC
ビットレート VBRv4 160k 160k q4.7 160k 160k 160k
true my heart POPS 4.2 3.6 3.1 5.0 5.0 3.9 2.1
愛があれば大丈夫 POPS 3.8 4.1 3.3 4.0 3.7 4.4 2.9
27-カスタネット ソロ 3.6 3.3 2.3 5.0 4.1 4.5 2.9
拍手 applaud ライブ 4.0 3.4 3.2 3.5 3.6 3.8 2.7
fatboy テクノ 3.8 2.6 2.1 4.3 3.7 4.7 2.9
Tarentella 管楽器 2.6 3.0 3.4 4.3 3.8 5.0 3.3
水瀬さんち 男女声 3.6 3.4 3.2 3.7 5.0 5.0 2.9
Miles Davis ジャズ 3.3 3.6 3.4 5.0 3.9 5.0 2.8
58-ギター 弦楽器 4.2 4.1 2.9 4.4 4.4 4.5 3.6
55-Haydn 管楽器 5.0 5.0 5.0 5.0 5.0 5.0 2.6
41_30sec 打楽器 3.7 2.8 2.1 4.1 3.8 5.0 1.9
finalfantasy 撥弦楽 3.5 3.9 3.1 5.0 5.0 5.0 2.5
ATrain ジャズ 4.3 3.8 3.6 4.5 5.0 5.0 3.9
BigYellow POPS 3.9 3.7 3.6 4.1 5.0 5.0 3.0
FloorEssence テクノ 4.3 3.3 2.7 5.0 5.0 3.7 2.8
macabre オケ 5.0 4.1 5.0 5.0 5.0 5.0 3.8
mybloodrusts 弦楽器 3.6 2.9 3.0 3.9 5.0 4.3 2.7
Quizas ラテン 5.0 4.2 3.2 5.0 5.0 5.0 2.6
VelvetRealm テクノ 3.4 3.5 2.7 4.2 3.2 3.8 2.5
雨降花 POPS 4.0 3.8 2.8 4.3 4.0 5.0 2.5
↑音源 平均点 3.94 3.60 3.19 4.47 4.41 4.63 2.85
実レート平均 162k 155k 154k 162k 155k 159k 156k
全サイズ 6989KB 6979KB 6966KB 6915KB 6957KB 6983KB 7048KB
エンコーダ LAME 午後 BladeEnc aoTuV Opus iTunes ffmpeg

テストに利用した音源を試聴したい方、ダウンロードしたい方、ログを見たい方はこちらへ。
http://zak.s206.xrea.com/bitratetest/main.htm

方法

銘柄に対する先入観が影響しないように、ABC/HR for Java 0.53aを利用して、ランダムに並び替えてから、銘柄も圧縮/非圧縮の区別も伏せて採点した。1=音質劣化が非常に気になる 2=気になる 3=少し気になる 4=原音からの音質変化が分かるが、気にならない 5=音質変化がわからない、区別できない。4.9点以下の評点をつける場合は、ABXテストを20回行い、15回以上(これ以上の成績をまぐれで出す確率は約2%)正解して、違いを聞き取れることを確認してからそうした(2.9以下の場合は省略)。

使用したオプション

携帯動画変換君で、以下のコマンドで一気に処理。

[Item29]
Title=AllSoundTest4 160k
TitleE=AllSoundTest4 160k
Command0=""<%AppPath%>\cores\lame" -h -V 4 "<%InputFile%>" "<%OutputFile%>v4.mp3""
Command1=""<%AppPath%>\cores\gogo" -b 160 "<%InputFile%>" "<%OutputFile%>go160k.mp3""
Command2=""<%AppPath%>\cores\bladeenc" -br 160 "<%InputFile%>" "<%OutputFile%>be160k.mp3""
Command3=""<%AppPath%>\cores\venc603" -q4.7 "<%InputFile%>" "<%OutputFile%>q47.ogg""
Command4=""<%AppPath%>\cores\celtenc" "<%InputFile%>" --bitrate 160 --comp 10 "<%OutputFile%>op160k.oga""
Command5=""<%AppPath%>\cores\qtaacenc" "<%InputFile%>" --abr 160 "<%OutputFile%>qt160k.m4a""
Command6=""<%AppPath%>\cores\ffmpeg30805" -y -i "<%InputFile%>" -strict experimental -acodec aac -ab 160k "<%OutputFile%>ff160k.mp4""

(2012.1.24追記)詳細な優劣の分析を追加と画像を新しく。

詳細な優劣の分析

続きを読む

vo-aacencの音質評価

結果

期待外れ。

AAC-LC 128kbpsでの比較では、iTunes(qtaacenc)>neroAacEnc>>libfaac>vo-aacenc 0.1.0>ffmpeg内蔵エンコーダくらい。
(2012/01/03追記)vo-aacenc 0.1.1もテストしてみましたが、似たような結果となりました。
(2012/01/15追記)128kbps, 192kbpsビットレートを上げても改善なし。

評価

エンコーダ vo-aacenc neroAacEnc neroAacEnc faac ffmpeg内蔵
リリース年 2011 2009 2009 2009 2011
ビットレート 128kbps 128kbps ABR 0.4 VBR 128kbps 128kbps
true my heart POPS 4.5 5.0 5.0 3.1 2.1
愛があれば大丈夫 POPS 3.0 3.2 3.4 2.8 2.0
27-カスタネット ソロ 2.8 3.9 3.5 2.7 1.9
拍手 applaud ライブ 3.2 3.5 3.3 2.7 2.6
fatboy テクノ 2.2 3.8 3.6 2.9 1.9
Tarentella 管楽器 3.4 3.0 2.7 3.8 2.5
水瀬さんち 男女声 2.4 3.8 3.5 2.8 2.1
Miles Davis ジャズ 2.3 4.2 3.8 2.7 2.5
58-ギター ソロ 2.1 4.5 4.2 3.5 2.7
55-Haydn 管楽器 2.3 4.5 5.0 5.0 2.6
41_30sec 打楽器 2.4 5.0 5.0 2.6 2.0
finalfantasy 撥弦楽 4.3 4.1 3.8 3.4 2.5
ATrain ジャズ 2.6 5.0 4.6 3.8 2.9
BigYellow POPS 3.1 4.0 3.8 3.3 2.5
FloorEssence テクノ 2.6 3.3 3.5 3.1 2.3
↑音源 平均点 2.88 4.05 3.91 3.21 2.34
全サイズ 4045KB 3898KB 3746KB 3874KB 3629KB
エンコーダ vo-aacenc nero nero faac ffmpeg内蔵

テストに利用した音源を試聴したい方、ダウンロードしたい方はこちらへ。
http://zak.s206.xrea.com/bitratetest/main.htm

方法

プラシーボ効果が入らないように、ABC/HR for Java 5.2を利用して、ランダムに並び替えてから、銘柄も圧縮/非圧縮の区別も伏せて採点した。1=音質劣化が非常に気になる 2=気になる 3=少し気になる 4=原音からの音質変化が分かるが、気にならない 5=音質変化がわからない、区別できない

使用したオプション

携帯動画変換君で、以下のコマンドで一気に処理。

[Item26]
Title=AllAACTest3 128
TitleE=AllAACTest3 128
Command0=""<%AppPath%>\cores\ffmpeg29060" -y -i "<%InputFile%>" -acodec libvo_aacenc -ab 128k "<%OutputFile%>voa128k.mp4""
Command1=""<%AppPath%>\cores\neroAacEnc" -if "<%InputFile%>" -br 128000 -of "<%OutputFile%>ne128k.mp4""
Command2=""<%AppPath%>\cores\neroAacEnc" -if "<%InputFile%>" -q 0.4 -of "<%OutputFile%>ne40.mp4""
Command3=""<%AppPath%>\cores\ffmpeg29060" -y -i "<%InputFile%>" -strict experimental -acodec aac -ab 128k "<%OutputFile%>ff128k.mp4""
Command4=""<%AppPath%>\cores\ffmpeg18607" -y -i "<%InputFile%>" -acodec libfaac -ab 128k "<%OutputFile%>fa128k.mp4""

aoTuV beta5.7と6.02の音質比較

結果



平均点はq1(80kbps相当)では昔のbeta5.7が良く、q4(128kbps)では新しいbeta6.02のほうが良かったが、標本数が少ないため、どちらかのエンコーダにより有利な音源ばかりを偶然に選んでしまった可能性は否定できない(有意差ではない)。

評価

フォーマット Ogg Vorbis Ogg Vorbis Ogg Vorbis Ogg Vorbis AAC AAC
エンコーダ beta5.7 beta6.02 beta5.7 beta6.02 faac faac
ビットレート q1 q1 q4 q4 80kbps 128kbps
true my heart POPS 3.5 3.4 5.0 5.0 2.3 3.3
愛があれば大丈夫 POPS 3.2 3.5 4.0 4.1 2.4 4.2
27-カスタネット ソロ 2.8 2.5 5.0 5.0 2.1 2.7
拍手 applaud ライブ 3.2 2.9 2.8 3.9 2.2 3.4
fatboy テクノ 4.0 3.8 4.3 4.4 2.2 2.7
Tarentella 管楽器 2.7 2.6 5.0 5.0 2.1 3.1
水瀬さんち 男女声 3.3 3.2 4.2 4.0 1.8 2.7
Miles Davis ジャズ 2.4 2.5 4.5 5.0 2.0 2.6
58-ギター ソロ 3.6 3.7 5.0 5.0 2.0 3.9
55-Haydn 管楽器 5.0 5.0 5.0 5.0 2.3 5.0
41_30sec 打楽器 4.2 3.9 5.0 5.0 2.1 3.0
finalfantasy 撥弦楽 4.0 3.8 5.0 5.0 2.2 3.5
ATrain ジャズ 3.1 3.3 5.0 4.7 2.2 4.2
BigYellow POPS 2.8 3.6 4.3 3.9 1.9 2.8
FloorEssence テクノ 3.6 3.4 5.0 5.0 2.2 2.9
↑音源 平均点 3.43 3.41 4.61 4.67 2.13 3.33
全サイズ 2629KB 2664KB 4179KB 4436KB 2458KB 3874KB
エンコーダ beta5.7 beta6.02 beta5.7 beta6.02 faac faac

テストに利用した音源を試聴したい方、ダウンロードしたい方はこちらへ。
http://zak.s206.xrea.com/bitratetest/main.htm

方法

プラシーボ効果が入らないように、ABC/HR for Java 5.2を利用して、ランダムに並び替えてから、銘柄も圧縮/非圧縮の区別も伏せて採点した。1=音質劣化が非常に気になる 2=気になる 3=少し気になる 4=原音からの音質変化が分かるが、気にならない 5=音質変化がわからない、区別できない

2012/07/17追記

80kbpsについて、精密度を上げたテストがあります。

研究者の多くはエラーバーの意味をろくに理解していない

研究者の多くはエラーバーの意味をろくに理解していない


今日、私は認知科学日記の読者がエラーバーをどれだけ理解しているかを問うオンライン投票を開始した――エラーバーとはよくグラフに乗っている、あの小さなI字型の、統計学の賜物である。正しく理解していないだろうということは、大体予想済みである。なぜそんなに自信があるかって? それは2005年、サラ・ベリア(Sarah Belia)らのチームが、最前線の心理学、神経科学、医学ジャーナルに論文を掲載したことがある数百人の研究者を対象に行った研究成果があるからである。彼らのうちエラーバーと有意さの関係について正しい知識を示したのはほんの一握りであった。論文を掲載した研究者たちができないなら、どうしてカジュアルなブログの読者ができることを前提としてよいだろうか?

信頼区間

まずそもそも、問題の解決法を知るため、少々の説明が必要である。信頼区間というコンセプトの背景には、全人口を網羅する研究調査はめったに行われないという事実がある。50人の女性の反射神経を測定して、そこから全世界の女性の反射神経について一般化した結論を得ることもあるかもしれない。全女性の本当の平均を知ることは不可能だが、たまたま測定することになった50人の女性について平均と95%信頼区間を公表する場合、何度も50人の女性を再抽出すると、95%の確率で、信頼区間内に実際の全女性の平均があることを示している。


今、男性の平均の反射神経を測定して、女性のものと違いがあるかどうか知りたいとしよう。50人の男性も調査対象として、95%信頼区間を算出し、2つの平均とそれぞれの信頼区間を比較すると、それはおそらく図1のような感じになるだろう。もしグループ1が女性でグループ2が男性なら、そのグラフが示すのは、女性の反射神経について、真の平均値が信頼区間1に入っている確率は95%であり、男性の反射神経について、真の平均値が信頼区間2に入っている確率は95%であるということである。問題は、どれくらいの2区間の近接度までは、有意差があると言えるのだろうか?


心理学や神経科学では、pが.05以下、要するに真の平均の違いを見誤る確率が5%以下であるときに、有意差があるという基準をみたす。統計学的な理由については触れないことにするが、だいたい同じ数でだいたい信頼区間の大きさも同じとすると、このグラフがベリアらのチームが提案した問題の答えを示している。
図1:


信頼区間は全長さの25%まではオーバーラップしても2グループ平均の有意差を示している。それ以上は重なると有意とはいえない。それで、ベリアらのチームが対象としたどのくらいの研究者が正しい答えを導き出せたか? 誤差25%以内までを許容範囲としてもたった35%であった。30%以上の回答者は2信頼区間が触れた段階から有意ではないと答えた。それは容認されるp<0.05に比べて厳しすぎる基準であり、p<0.006、真の平均が同じである確率は1%未満であるということになる。

標準誤差

しかしおそらく、対象の回答者たちは単に信頼区間と標準誤差の概念を混同しただけなのかもしれない。多くの分野では、標準誤差のほうが一般的だ。それに関して、ベリアらのチームは前回の集団から1/3の人々をランダムに抽出して、95%信頼区間の代わりに標準誤差のグラフを見せてみた。



どんな仕事をさせた? もう一度、少々の説明が必要である。標準誤差は、信頼区間よりも小さいことが多い。十分大規模なグループでは、真の平均が標準誤差内にあてはまる確率は68%である。大多数の場合68%信頼区間とほぼ同じことである。実は、おおざっぱな経験則として、2つのグループについて標準誤差がオーバーラップするとき、2つのグループが有意ではないと言える。


実は、グラフを視認する目的では、標準誤差の範囲はエラーバーの半分ほど離れてはじめて違いが有意だといえる。次のグラフが問題の答えを示している。


たった41%の回答者しか正解しなかった。全体として、回答者は気前がよすぎて、平均を近づけすぎた。30%近くがエラーバーを触れさせた。一般的なp<.05と比較して、その場合の有意レベルはp<.16である。

エラーバーが適用できないとき

3番目の最後の研究者たちには、”ひっかけ”問題を与えられた。似たような図を与えられたところまでは同じだが、グラフは同一グループによる練習テストと本番テストのものだと告げられた。同一の人々による再テストは非常に相関があるので、エラーバーは有意かどうかを決定するのには使えない(*)。たった11%の回答者しか、その問題を割り当てられた空欄にコメントしなかった。ちなみに、ついさっきエラーバーに関して弁解を書く羽目になった認知科学日記のグラフは、たしかにテスト-再テスト法についてのものなので、このケースでエラーバーを書くことは、よく言っても不適当、誤解を招くことになるだろう。


ベリアらのチームはエラーバーをもっと使うことを推奨している;具体的には信頼区間を、そして自分自身や、生徒に対してどう理解すればよいかを教育すべきだといっている。


読者の中には、認知科学日記の、エラーバーをさっぱり省く方法について、責任を回避するかのようだという方もいるかもしれない。しかし私たちは文章の形で研究者の主張がどれだけ信頼に足るものであるかを十分説明していると考えている。そのうえ、多くのジャーナルの記事は今でもエラーバーの類を一切書かないでいるから、私たちがそれを書くことは難しいか、不可能である。そしてエラーバーを確かに理解している人は、いつでもオリジナルの記事を必要に応じて調べることができる。それでも、多くの人々が――多くの研究者ですら――エラーバーを理解しないことをわかった上ででも、読者の、エラーバーを書くか、省くかの方針についての提言を興味を持って聞こうと思っている。

Most researchers don't understand error bars | ScienceBlogs

(*) 訳注:この状況では、練習で良い結果を出した人は本番でも同じような良い結果を出すという相関が予想される。この場合、大きく重なっているから有意ではない、という判断ができなくなる。エラーバーが離れているから有意である、という判断ならできる。

携帯・スマホ等でのコーデックの音質評価

携帯やスマホのスピーカー、密閉型以外のイヤホン等、低音の再現に難のある機器で、ある程度雑音のある環境において控えめのボリュームで再生した場合の音質評価。
生活雑音と、携帯機器から発せられる典型的な音響を人工的にシミュレートした環境下で、これらの機器の使用者はあまり音質にこだわらないことが想定されるので、かなり甘めに採点。


1.0=圧縮による劣化が非常に聞き取りの邪魔になる 2.0=聞き取りの邪魔になる 3.0=気になるが聞き取りの邪魔にならない 4.0=気にならない

フォーマット AAC AAC HE-AAC HE-AAC MP3 OGG
エンコーダ ffmpeg内蔵 libfaac iTunes Nero LAME aoTuV
設定 -ab 48k -ab 48k --abr 48 -br 48000 -V 9 -q-1
↓音源 cutoff使用 ソース配布 qtaacenc 2009年版 2009年版 2009年版
true my heart 2.7 2.8 4.0 3.0 4.0 3.5
愛があれば大丈夫 3.0 2.8 3.6 3.0 3.1 3.0
拍手 applaud 2.9 2.5 2.6 2.6 3.0 2.2
水瀬さんち 3.3 2.5 3.8 3.5 2.9 3.7
Miles Davis 3.0 2.6 4.0 2.9 3.2 3.0
58-ギター 2.9 2.5 3.6 4.0 2.5 3.7
55-Haydn 3.8 3.2 4.0 4.0 4.0 3.6
macabre 3.2 2.8 3.0 3.5 3.3 3.3
平均 3.1 2.7 3.6 3.3 3.3 3.3
ビットレート 51kbps 58kbps 49kbps 46kbps 63kbps 43kbps
計サイズ 716KB 801KB 676KB 637KB 879KB 603KB
エンコーダ ffmpeg内蔵 libfaac iTunes Nero LAME aoTuV


結論:HE-AACが使える環境ならiTunes(qtaacenc経由)かNero、OGGが使える環境ならaoTuVがおすすめ。スマホや携帯の小さなスピーカで聞くことが最初から決まっているならffmpeg内蔵AACエンコーダも悪くない。ただし、再生環境によってはひどい音になる。ビットレート制限がきつくなく、ffmpeg1本ですませたい場合は、libfaacの128kbpsがおすすめ。


生活雑音は、-50dBのホワイトノイズから、1-pole 1kHz LPFで最大15dB上げて作成。
ステレオ分離の悪さは、左右ボリュームを50%ずつ反対に配分して再現。
低音の減衰は、1-pole 1kHz HPF と 1.5kHz HPFで再現。この3つで、携帯機器の典型的な使用環境を再現した。
シミュレートによる再生の様子 http://zak.s206.xrea.com/bitratetest/mobileplay16.ogg


テストに利用した音源を試聴したい方、ダウンロードしたい方はこちらへ。
http://zak.s206.xrea.com/bitratetest/main.htm
プラシーボ効果が入らないように、ABC/HR for Java 5.2を利用して、ランダムに並び替えてから、銘柄も圧縮/非圧縮の区別も伏せて採点した。
使用したオプションは以下の通り。

[Item24]
Title=Mobile low bitrate test 48kbps
TitleE=Mobile low bitrate test 48kbps
Command0=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -strict experimental -cutoff 11000 -acodec aac -ab 48k "<%OutputFile%>ff48k11.mp4""
Command1=""<%AppPath%>\cores\ffmpeg18607" -y -i "<%InputFile%>" -acodec libfaac -ab 48k "<%OutputFile%>fa48k.mp4""
Command2=""<%AppPath%>\cores\qtaacenc" "<%InputFile%>" --abr 48 --he "<%OutputFile%>qh48k.m4a"
Command3=""<%AppPath%>\cores\neroAacEnc" -if "<%InputFile%>" -br 48000 -of "<%OutputFile%>nh48k.mp4""
Command4=""<%AppPath%>\cores\lame" -h -V 9 -S "<%InputFile%>" "<%OutputFile%>v9.mp3""
Command5=""<%AppPath%>\cores\venc" -q-1 "<%InputFile%>" "<%OutputFile%>qm1.ogg""

2011/2/17追記:平均点の算出を間違えていました。すでに修正済みです。

AACの音質比較

結果

AACの64kbpsでは、iTunes 10.0とNeroAACEncが良く(HE-AAC使用時)、現在実験段階となっているffmpeg内蔵のエンコーダ(cutoffオプション使用)は昔のLAMEの同ビットレートと同じくらい悪い。FAAC(libfaac)とffmpeg内蔵のエンコーダの音質(そのまま使用)はさらに悪い音質。

AACの96kbpsでは、iTunes 10.0が最良音質、次にNeroAACEncが良く、現在実験段階となっているffmpeg内蔵のエンコーダとFAAC(libfaac)の音質は悪い。CBRを利用した昔のLAMEと同程度の悪さである。

AACの128kbpsでは、iTunes 10.0が最良音質、NeroAACEncも互角、次にlibfaac、現在実験段階となっているffmpeg内蔵のエンコーダに-cutoff 17000オプションを追加したもので、2002年のLAME CBR 128kbpsと同じくらいの音質。最下位はffmpeg内蔵エンコーダをそのまま使った時の音質。

評価

エンコーダ LAME 3.92 ffmpeg内蔵 ffmpeg内蔵 libFAAC iTunes10.0 NeroAACEnc
↓音源 参考→ 2002年版 実験段階 -cutoff 11000 バイナリ配布不可 2010年版 2009年版
true my heart POPS 2 1.1 2 1.7 3.8 4.4
愛があれば大丈夫 POPS 2.4 1.5 2.1 1.9 2.6 2.7
27-カスタネット ソロ 2.4 1.7 1.8 1.7 2.5 2.6
拍手 applaud ライブ 2.2 2 2.3 1.8 3.2 3
fatboy テクノ 1.7 1.4 1.5 2.3 1.7 2.1
Tarentella 管楽器 2.1 1.8 2.1 2 3.3 3.2
水瀬さんち 男女声 2.2 2 2.1 1.7 3.1 2.8
Miles Davis ジャズ 2.3 1.5 2.2 1.6 3.7 3.5
58-ギター ソロ 2.2 1.9 2.2 1.9 3.1 3.2
55-Haydn 管楽器 2.2 2.5 2.5 2 4.5 3.8
↑音源 平均点 2.15 1.74 2.05 1.82 3.13 3.11
全サイズ 965KB 1040KB 966KB 934KB 965KB 942KB
エンコーダ LAME 3.92 ffmpeg内蔵 ffmpeg内蔵 libFAAC iTunes10.0 NeroAACEnc

注:数十人が参加した2011年4月の公開リスニングテストで、HE-AACはNeroよりもiTunesのほうが少々平均点が高いという結果が出ています。
http://listening-tests.hydrogenaud.io/igorc/results.html

エンコーダ LAME 3.92 ffmpeg内蔵 libFAAC iTunes10.0 NeroAACEnc
↓音源 参考→ 2002年版 実験段階 バイナリ配布不可 2010年版 2009年版
true my heart POPS 2.3 1.3 2.2 4 4.3
愛があれば大丈夫 POPS 2.3 1.7 2.2 3.7 2.8
27-カスタネット ソロ 2.3 1.7 2.2 3.3 2.8
拍手 applaud ライブ 2 2.2 2.2 3.1 2.5
fatboy テクノ 1.9 1.4 2.4 2.7 2.3
Tarentella 管楽器 2.2 2.4 2.3 3.9 2.4
水瀬さんち 男女声 2.4 2.3 2.2 4.1 2.6
Miles Davis ジャズ 2.4 2.1 2.2 4.1 3.5
58-ギター ソロ 2.5 2.6 2.3 4.3 3.4
55-Haydn 管楽器 2.1 2.6 2.4 5 3.6
↑音源 平均点 2.23 2.05 2.27 3.82 3.03
全サイズ 1.41MB 1.37MB 1.34MB 1.40MB 1.33MB
エンコーダ LAME 3.92 ffmpeg内蔵 libFAAC iTunes10.0 NeroAACEnc

注:数十人が参加した2011年7月の公開リスニングテストで、iTunes≒Fraunhofer IIS>Coding Technologies>Nero>>>ffmpeg内蔵という結果が出ています。
http://listening-tests.hydrogenaud.io/igorc/aac-96-a/results.html

エンコーダ LAME 3.92 ffmpeg内蔵 ffmpeg内蔵 libFAAC iTunes10.0 NeroAACEnc
↓音源 参考→ 2002年版 実験段階 -cutoff 17000 バイナリ配布不可 2010年版 2009年版
true my heart POPS 4.3 1.6 4.2 3.3 4.6 5
愛があれば大丈夫 POPS 3.2 2.5 3.1 3.2 3.8 3.3
27-カスタネット ソロ 2.5 2 1.9 2.7 4 3.3
拍手 applaud ライブ 2.3 2.6 2.8 2.6 3.3 3
fatboy テクノ 2 1.6 1.8 2.8 4.1 3.9
Tarentella 管楽器 2.7 2.5 3.4 3.1 4.2 2.9
水瀬さんち 男女声 3.5 2.6 2.6 2.9 3.8 4.2
Miles Davis ジャズ 2.6 2.3 3 3 4 3.7
58-ギター ソロ 3.6 2.6 2.4 3.6 4.7 3.8
55-Haydn 管楽器 2.7 3.2 3.3 4.5 5 5
↑音源 平均点 2.92 2.33 2.84 3.15 4.12 3.80
全サイズ 1.88MB 1.76MB 1.73MB 1.77MB 1.82MB 1.78MB
エンコーダ LAME 3.92 ffmpeg内蔵 ffmpeg内蔵 libFAAC iTunes10.0 NeroAACEnc


前回の比較で、AAC-LCの64kbpsではNeroの方が良く、128kbps以上ではiTunesの方が高音質であることがわかったが、平均的に見て、96kbpsではiTunesが勝っている。

テストに利用した音源を試聴したい方、ダウンロードしたい方、ログを見たい方はこちらへ。
http://zak.s206.xrea.com/bitratetest/main.htm
プラシーボ効果が入らないように、ABC/HR for Java 5.2を利用して、ランダムに並び替えてから、銘柄も圧縮/非圧縮の区別も伏せて採点した。1=音質劣化が非常に気になる 2=気になる 3=少し気になる 4=原音からの音質変化が分かるが、気にならない 5=音質変化がわからない、区別できない
64kbps,128kbpsは日時をおいて2回採点して、平均を取った(10×6×2=120回採点)。96kbpsは3回採点して平均を取った(10×5×3=150回)。

cutoffオプションについて

ffmpeg内蔵・現在実験段階(strict experimental)のAACエンコーダをffmpegで使うときには、-cutoffをつけると、少し音質が改善する。非可逆圧縮において、カットオフ周波数を下げると音がこもった感じになるが、代わりに良く聞こえる中域の音質が向上する。FAACは高域をカットしすぎて音がこもる傾向にあり、現在実験段階のffmpeg内蔵エンコーダは低・中域音の音が悪い。20kHz以上のヒトには聞こえない音域まで再現しようとしてビットを無駄に消費している。経験的に、14kHz以上の音はばっさり切ってもそんなに気にならず、16kHz以上の高域が含まれているかどうかは、ほぼ音質に無関係である。2011/01/16, 2012/01/26に実験したところ、

64kbps -cutoff 12000
80kbps -cutoff 14000
96kbps -cutoff 15000
128kbps -cutoff 16000
192kbps -cutoff 18000
256kbps -cutoff 20000

くらいがちょうど良い(詳しく)。ただし、このオプションをつけてもneroAACEncほど良くはならない。

ffmpeg -strict experimental -cutoff 15000 -acodec aac -ab 96k

とか

ffmpeg -strict experimental -cutoff 20000 -acodec aac -ab 256k

みたいな感じで使おう。

使用したオプション

携帯動画変換君のTranscoding.iniを書き換えて使います。coresフォルダにそれぞれのexeファイルを入れてから動作させてください。

[Item1]
Title=AllAACTest 64
TitleE=AllAACTest 64
Command0=""<%AppPath%>\cores\lame392" -b 64 "<%InputFile%>" "<%OutputFile%>cbr64k.mp3""
Command1=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -strict experimental -acodec aac -ab 64k "<%OutputFile%>ff64k.mp4""
Command2=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -strict experimental -cutoff 11000 -acodec aac -ab 64k "<%OutputFile%>ff64k11.mp4""
Command3=""<%AppPath%>\cores\ffmpeg18607" -y -i "<%InputFile%>" -acodec libfaac -ab 64k "<%OutputFile%>fa64k.mp4""
Command4=""<%AppPath%>\cores\qtaacenc" "<%InputFile%>" --abr 64 --he "<%OutputFile%>qh64k.m4a"
Command5=""<%AppPath%>\cores\neroAacEnc" -if "<%InputFile%>" -br 64000 -of "<%OutputFile%>nh64k.mp4""

[Item2]
Title=AllAACTest 96
TitleE=AllAACTest 96
Command0=""<%AppPath%>\cores\lame392" -b 96 "<%InputFile%>" "<%OutputFile%>cbr96k.mp3""
Command1=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -strict experimental -acodec aac -ab 96k -ac 2 "<%OutputFile%>ff96k.mp4""
Command2=""<%AppPath%>\cores\ffmpeg18607" -y -i "<%InputFile%>" -acodec libfaac -ab 96k -ac 2 "<%OutputFile%>fa96k.mp4""
Command3=""<%AppPath%>\cores\qtaacenc" "<%InputFile%>" --abr 96 "<%OutputFile%>qt96k.m4a"
Command4=""<%AppPath%>\cores\neroAacEnc" -if "<%InputFile%>" -lc -br 96000 -of "<%OutputFile%>ne96k.mp4""

[Item3]
Title=AllAACTest 128
TitleE=AllAACTest 128
Command0=""<%AppPath%>\cores\lame392" -b 128 "<%InputFile%>" "<%OutputFile%>cbr128k.mp3""
Command1=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -strict experimental -acodec aac -ab 128k "<%OutputFile%>ff128k.mp4""
Command2=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -strict experimental -cutoff 17000 -acodec aac -ab 128k "<%OutputFile%>ff128k17.mp4""
Command3=""<%AppPath%>\cores\ffmpeg18607" -y -i "<%InputFile%>" -acodec libfaac -ab 128k "<%OutputFile%>fa128k.mp4""
Command4=""<%AppPath%>\cores\qtaacenc" "<%InputFile%>" --abr 128 "<%OutputFile%>qt128k.m4a"
Command5=""<%AppPath%>\cores\neroAacEnc" -if "<%InputFile%>" -br 128000 -of "<%OutputFile%>ne128k.mp4""

なぜABXテストは必要か?

ABXテストは、あるリスナーがAとBを聞き分けられることを客観的に証明するテストであるが、その必要がない場合にも有用なテストである。

例えば、WAVと320kbps MP3が聞き分けられると豪語する男がいたとする。ただしその男はABXテストをしたことがないと。そんな奇怪で無意味なテストはする必要がなく、音質を評価するには、ただ聴くだけでよいと男は言う。

経験的に、この男の言うことは信用できない。なぜなら、「これは圧縮された音だ」という思い込みが悪さをしているのか、それとも本当に圧縮が音質に影響を与えたのか、判断材料がないからである。一生に一度でもABXテストの経験がある人ならば、各自の思い込みの大きさを把握しているため、たとえ「ただ聴くだけ」であっても思い込みの影響を割り引くことができるので、信用度がアップする。

最も手軽にABXテストを経験できるサイトとして、このサイトを挙げておく。

http://mp3ornot.com/
このABXテストを馬鹿にする人も出てくるかもしれないが、全く区別できないほどの欠陥がこのサイトにないことは、すでに確認済みである。たとえオンボードの雑なPC環境+3800円のヘッドホンを使用したとしても、である。ただし、難しい部類のテストであることは同意する。理由として、男声やストリングスは多くの環境で再現が簡単な部類に入る(確認済み)こと、320kbps側にもノイズが入っていて紛らわしいことがあげられる。自尊心がずたずたになった人のために聞き分けのコツを書いておくと、「ーティアン」の部分で、320kbps側はさらさらしたホワイトノイズ、128kbps側は蛇口から水が出るようなノイズが加わっていること、最後の「タ〜〜〜〜」の部分に、高域のひゅりひゅりしたノイズが128kbpsには乗ること(聞き取るにはコツが必要。自分の頭頂部など、上のほうを意識すると聞きやすい。)に注目すると正答率をあげやすい。


(2011/3/8追記)サイト側の仕様変更により、テスト音源が複数に変更された。少し難易度が下がったように思う。急なアタックを持つ打楽器や弦楽器で、カサカサした音が追加される(プリエコー)ことに注目すると正答率をあげやすい。

(2012/5/4追記)再テストしました。