結果
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""