音風景ブログ

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

FDK-AACが使えるFFmpegのビルド

64bit Windows上でFDK-AACが使えるFFmpegを作る方法。FDK-AACは、2013年6月現在、FFmpegに組み込んで使える中では最高品質のAACエンコーダ。


まず、64bit Windowsで使えるビルド環境(MinGW + MSYS)をダウンロードします。
ちなみに、実行ファイルは32bitになります。
http://xhmikosr.1f0.de/tools/



赤丸のファイル(MSYS_MinGW-w64_GCC_481_x86-x64_Full.7z, 約60MB)を落としたら、7zファイルを開ける解凍ソフトで展開してください。



展開すると、ファイルmsys.batがMSYSフォルダの中にあるので、ダブルクリックします。



すると、Linuxの端末(sh)風のコマンドを実行できるウィンドウが開きますので、これから、ビルドのための命令をここで実行することになります。
一旦ウィンドウを閉じてください。


次に、FDK-AACのインストールをします。
http://sourceforge.net/projects/opencore-amr/files/fdk-aac/

最新版のFDK-AACをダウンロードします。わかりやすい位置、例えばCドライブ直下にFFmpegというフォルダを作って、そこにダウンロードしたfdk-aac-0.1.1.tar.gzを移動してください。ついでにMSYSフォルダも同じフォルダに移動しておきましょう。MSYSフォルダの中のmsys.batをもう一度ダブルクリックします。


次に、

cd (作ったフォルダのパス)
ls
と入力してください。lsと入力した後に、fdk-aac-0.1.1.tar.gzがあれば合格です。ここら辺はまさにLinux的な操作ですね。


次に、

tar xzf fdk-aac-0.1.1.tar.gz
と入力してください。これで、tar.gzが解凍され、fdk-aac-0.1.1というフォルダができます。


次に、

cd fdk-aac-0.1.1と入力してください。カレントフォルダが今C:\FFmpegなら、これでC:\FFmpeg\fdk-aac-0.1.1に移動します。


次に、
./configure --prefix=/mingw/i686-w64-mingw32
と入力してください。この操作は時間がかかります。少し待つと、以下のようになるはずです。


次に、
make
最後に、
make install
と入力。これでFDK-AACコンパイルとインストールが終わりました。

できたFDK-AACは、MSYSフォルダの中の、mingwフォルダの中の、i686-w64-mingw32フォルダの中の、bin、include、libフォルダの中にそれぞれ格納されています。更新日時を見ると、どれが新しくできたファイルか分かります。



次に、FFmpegをダウンロードします。
http://ffmpeg.org/download.html

にアクセスして、赤丸のリンクからダウンロードします。ダウンロードしたら、MSYSと同じフォルダに移動しておきます。


次に、ウィンドウから、
cd ../
と入力。これでカレントフォルダが一つ戻る。次に、

tar xzf ffmpeg-HEAD-4110828.tar.gz
と入力。4110828のところは、実際にダウンロードしてきた名前にしてください。ちなみに、前に入力したコマンドと似たようなコマンドを入力するには、キーボードの↑キーを押すと過去の履歴がでますので、それを使ってください。


次に、
cd ffmpeg-HEAD-4110828
と入力。やはりここも、実際にダウンロードしてきた名前にしてください。
次に、
./configure --enable-gpl --enable-version3 --enable-nonfree --enable-libfdk-aac --extra-ldflags=-static --extra-cflags='-march=native -mfpmath=sse' --optflags=-O2
と入力。この作業は2分ほどかかります。終わると、

となります。-march=nativeは、あなたが今使っているCPUで使える命令をフルに活用する、ということです。そのため、できたバイナリは新しい命令に対応していない古いPCで実行できないことがあります(その場合、プログラムが強制終了する)。-march=noconaにすると、Pentium D(2006)以降のPCで動くはずですが、画面にあるとおり、この作業でできるバイナリはFDK-AACを含むので再配布不可能です。


次に、
make
と入力。この作業は15分ほどかかるはずですが、これが最後です。終わったら、ffmpeg.exeがffmpegフォルダの中にあるはずです。


あった! ffmpeg.exe!


作成に当たっては、
http://blog.k-tai-douga.com/category/352503-1.html
http://looooooooop.blog35.fc2.com/blog-entry-968.html
を参考にさせてもらいました。

MP3 224kbpsの音質比較

概要

224kbps付近でエンコードしたときのMP3エンコーダの音質比較。
ドイツ人のhalb27氏が2013年2月にリリースしたLAMEエンコーダの拡張版であるLAME 3.100i V2+、2013年6月現在最新版のLAME 3.99.5 V1、一世代前のLAME 3.98.4 CBR 224kbps、超高速エンコードで知られる2005年のオープンソースMP3エンコーダHelix mp3enc v5.1、そしてビリ基準として2001年のMP3エンコーダ、BladeEnc v0.94.2 CBR 224kbpsをテスト。

結果

ビリ基準であるBladeEncを除いて、どれもほぼ同程度の平均評点となった。上記の条件で様々なジャンルの音源をエンコードした場合、これらの4種のエンコーダの音質に大きな違いはない。

評価

エンコーダ LAME LAME LAME Helix Blade
バージョン 3100i 3.99.5 3.98.4 5.1 0.94.2
リリース年 2013 2012 2009 2005 2001
レート制御 VBR VBR CBR VBR CBR
ビットレート V2+ V1 224k V146 224k
41_30sec 打楽器 4.7 4.6 4.0 4.3 3.1
finalfantasy 撥弦楽 4.3 4.2 4.6 4.8 3.8
ATrain ジャズ 4.5 4.5 4.4 5.0 4.7
BigYellow POPS 4.8 5.0 4.6 5.0 4.3
FloorEssence テクノ 4.7 4.5 4.2 4.4 3.5
macabre オケ 4.7 4.3 5.0 4.6 4.5
mybloodrusts 弦楽器 4.4 5.0 3.8 4.7 3.9
Quizas ラテン 4.2 4.5 4.4 4.5 3.8
VelvetRealm テクノ 4.3 4.2 4.0 4.5 3.2
雨降花 POPS 4.4 4.3 5.0 4.6 3.4
Trust Gosp 4.0 4.3 4.5 4.6 3.5
Waiting ロック 4.5 4.2 4.4 4.6 3.6
Experiencia ラテン 4.2 4.5 5.0 4.7 4.0
HeartToHeart POPS 4.3 4.1 4.3 4.1 3.5
Tom's Diner 女声 4.2 4.2 4.4 4.6 3.9
ReunionBlues ジャズ 5.0 4.5 5.0 5.0 4.1
French 男女声 5.0 4.3 4.7 4.4 4.0
undelete POPS 4.5 4.4 4.2 4.0 3.2
Dimmu Borgir メタル 5.0 5.0 5.0 4.5 4.4
Run up POPS 5.0 5.0 4.7 5.0 4.4
German 男声 5.0 4.8 4.8 4.6 4.2
ItCouldBeSweet POPS 4.7 5.0 5.0 4.5 3.9
ontheroofwith POPS 4.8 5.0 5.0 4.6 4.2
easy game POPS 5.0 5.0 4.7 5.0 4.2
Tears Infection POPS 4.4 4.1 4.6 4.4 4.1
↑音源 平均点 4.58 4.54 4.57 4.60 3.90
実レート 235k 228k 225k 221k 224k
全サイズ(KB) 17232 16606 16448 16210 16412
エンコーダ LAME LAME LAME Helix Blade
バージョン 3100i 3.99.5 3.98.4 5.1 0.94.2

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

方法

銘柄に対する先入観が影響しないように、PSP ABC/HR v2.4とRP-HT560を利用して、5個のエンコードされたMP3をランダムに並び替えて、銘柄を伏せて採点した。1=音質劣化が非常に気になる 2=気になる 3=少し気になる 4=原音からの音質変化が分かるが、気にならない 5=音質変化がわからない、区別できない。4.9点以下の評点をつける場合は、ABXYテストを20回行い、15回以上(これ以上の成績をまぐれで出す確率は約2%)正解して、違いを聞き取れることを確認してからそうした。このテストでの採点は、25(音源)×5(エンコーダ)×1(回)=125(回)。

使用したオプション

LAME3100i -V2+
LAME3.99.5 -V1
LAME3.98.4 -S -q 0 -b 224
Helix -X2 -U2 -V146
BladeEnc -224

詳細な優劣の分析

FRIEDMAN version 1.24 (Jan 17, 2002) http://ff123.net/
Blocked ANOVA analysis

Number of listeners: 25
Critical significance:  0.05
Significance of data: 0.00E+000 (highly significant)
---------------------------------------------------------------
ANOVA Table for Randomized Block Designs Using Ratings

Source of         Degrees     Sum of    Mean
variation         of Freedom  squares   Square    F      p

Total              124          23.56
Testers (blocks)    24           7.75
Codecs eval'd        4           9.24    2.31   33.80  0.00E+000
Error               96           6.56    0.07
---------------------------------------------------------------
Fisher's protected LSD for ANOVA:   0.147

Means:

Helix-V1 3.100iV2 3.98CBR  3.99V1   BladeEnc
  4.60     4.58     4.57     4.54     3.90

---------------------------- p-value Matrix ---------------------------

         3.100iV2 3.98CBR  3.99V1   BladeEnc
Helix-V1 0.829    0.706    0.419    0.000*
3.100iV2          0.871    0.553    0.000*
3.98CBR                    0.666    0.000*
3.99V1                              0.000*
-----------------------------------------------------------------------

Helix-V146 is better than BladeEncCBR
3.100iV2+ is better than BladeEncCBR
3.98CBR is better than BladeEncCBR
3.99V1 is better than BladeEncCBR

整形済みデータ

% MP3 224kbps ABC/HR Score
% This format is compatible with my graphmaker, as well as ff123's FRIEDMAN.
3.100iV2+	3.99V1	3.98CBR	Helix-V146	BladeEncCBR
%feature 7 LAME LAME LAME Other Other	
4.700	4.600	4.000	4.300	3.100	
4.300	4.200	4.600	4.800	3.800	
4.500	4.500	4.400	5.000	4.700	
4.800	5.000	4.600	5.000	4.300	
4.700	4.500	4.200	4.400	3.500	
4.700	4.300	5.000	4.600	4.500	
4.400	5.000	3.800	4.700	3.900	
4.200	4.500	4.400	4.500	3.800	
4.300	4.200	4.000	4.500	3.200	
4.400	4.300	5.000	4.600	3.400	
4.000	4.300	4.500	4.600	3.500	
4.500	4.200	4.400	4.600	3.600	
4.200	4.500	5.000	4.700	4.000	
4.300	4.100	4.300	4.100	3.500	
4.200	4.200	4.400	4.600	3.900	
5.000	4.500	5.000	5.000	4.100	
5.000	4.300	4.700	4.400	4.000	
4.500	4.400	4.200	4.000	3.200	
5.000	5.000	5.000	4.500	4.400	
5.000	5.000	4.700	5.000	4.400	
5.000	4.800	4.800	4.600	4.200	
4.700	5.000	5.000	4.500	3.900	
4.800	5.000	5.000	4.600	4.200	
5.000	5.000	4.700	5.000	4.200	
4.400	4.100	4.600	4.400	4.100	
%samples	41_30sec	hihats
%samples	finalfantasy	cemb
%samples	ATrain	Jazz
%samples	BigYellow	Pops
%samples	FloorEssence	Techno
%samples	macabre	orch
%samples	mybloodrusts	guitar
%samples	Quizas	Latin
%samples	VelvetRealm	Techno
%samples	Amefuribana	Pops
%samples	Trust	Gospel
%samples	Waiting	Rock
%samples	Experiencia	Latin
%samples	Heart to Heart	Pops
%samples	Tom's Diner	Vocal
%samples	Reunion Blues	Jazz
%samples	French	Speech
%samples	undelete	Pops
%samples	Dimmu Borgir	Metal
%samples	Run up	Pops
%samples	German	Speech
%samples	ItCouldBeSweet	Pops
%samples	OnTheRoofWith	Pops
%samples	easy game	Pops
%samples	Tears Infection	Pops	

注:公開試聴試験での多人数の平均評点と管理人の評点が似たような傾向になることは確認しているので言えるが、ある個人がある再生環境で、ある価値観のもとに聞いたときの評価が、ここに書いた管理人の評価に似るかどうかまでは何とも言えない。また、今回利用した音源とは傾向の異なる音を多くエンコードした場合、結果や順位が異なる可能性があります。

Opus, AAC 75kbps,100kbpsの音質比較

概要

新しいOpus audio codecとAAC-LCの音質比較。
2012年9月時点で最新のtfsel5(libopus 0.9.11-146-gdc4f83b-exp_analysis)と古いバージョン(CELT)の0.11.2、AACは定評のあるAppleエンコーダーをqaac経由で、CVBRとTVBRを比較。

結果

AAC 100kbps(tvbr,cvbr) ≒ Celt 100kbps ≒ Opus 100kbps > Opus 75kbps ≒ Celt 75kbps > AAC 75kbps(tvbr,cvbr)

評価


エンコーダ Opus Celt qaac qaac Opus Celt qaac qaac
リリース年 2012 2011 2012 2012 2012 2011 2012 2012
バージョン 0.9.11 0.11.2 1.40 1.40 0.9.11 0.11.2 1.40 1.40
フォーマット Opus Opus AAC AAC Opus Opus AAC AAC
ビットレート 66k 75k 72k 27 90k 100k 96k 45
41_30sec 打楽器 3.1 3.1 2.5 2.8 3.5 3.8 3.7 3.8
finalfantasy 撥弦楽 3.8 3.0 2.7 2.8 4.1 3.8 4.0 3.9
ATrain ジャズ 2.8 2.6 3.0 3.0 3.6 3.3 4.1 3.9
BigYellow POPS 2.7 3.2 2.3 2.3 3.3 3.8 3.6 3.7
FloorEssence テクノ 4.0 3.4 2.9 2.9 4.4 3.9 3.6 3.6
macabre オケ 2.6 2.6 2.8 2.8 3.3 3.2 4.0 3.9
mybloodrusts 弦楽器 3.4 4.0 3.0 3.2 3.8 4.5 3.7 3.8
Quizas ラテン 3.5 3.5 2.9 2.8 3.8 4.1 4.1 4.2
VelvetRealm テクノ 3.0 2.7 3.6 3.5 3.3 3.5 4.0 3.8
雨降花 POPS 3.1 3.4 2.8 2.6 3.8 3.8 4.2 4.0
Trust Gosp 3.3 3.1 2.6 2.6 3.8 3.4 3.5 3.5
Waiting ロック 3.8 3.4 2.8 3.0 4.1 3.8 3.8 3.9
Experiencia ラテン 3.6 3.3 2.6 2.7 4.3 4.0 3.8 3.6
HeartToHeart POPS 3.1 3.4 2.8 2.6 3.7 3.7 3.9 3.8
Tom's Diner 女声 3.4 3.5 2.9 2.9 3.7 4.0 3.8 3.9
ReunionBlues ジャズ 3.3 3.3 2.8 2.8 3.7 3.9 3.9 3.8
French 男女声 3.6 3.8 3.3 3.3 3.6 4.0 3.7 3.7
undelete POPS 3.7 3.3 3.3 3.3 3.9 3.7 4.1 4.0
Dimmu Borgir メタル 3.1 3.6 3.2 3.0 3.7 3.8 4.1 3.9
Run up POPS 3.7 4.1 3.0 2.9 4.1 4.3 3.8 3.6
↑音源 平均点 3.31 3.30 2.88 2.87 3.76 3.79 3.85 3.81
実レート 75k 75k 77k 73k 100k 100k 102k 99k
全サイズ(KB) 4388 4403 4499 4241 5893 5878 5994 5782
エンコーダ Opus Celt qaac qaac Opus Celt qaac qaac

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

方法

銘柄に対する先入観が影響しないように、PSP abc/hr v2.3とRP-HT560を利用して、6個の音声ファイルをランダムに並び替えて、銘柄を伏せた状態で聴いて採点した。1.0=音質劣化が非常に気になる 2.0=気になる 3.0=わずかに気になる 4.0=原音からの音質変化が分かるが、気にならない 5.0=音質変化がわからない、区別できない。4.9点以下の評点をつける場合は、ABXYテストを15回行い、12回以上(これ以上の成績をまぐれで出す確率は約2%)正解して、違いを聞き取れることを確認してからそうした。同じテストを、RP-HJE150でもう一度行い、2評点の平均をとった。
このテストでの採点は、20(音源)×8(エンコーダ)×2(回)=320(回)。

使用したオプション

opusenc --bitrate 66 input.wav output.wav
celtenc input.48k.raw --bitrate 75 --comp 10 output.wav
qaac --cvbr 72 -o output.m4a input.wav
qaac --tvbr 27 -o output.m4a input.wav
opusenc --bitrate 90 input.wav output.wav
celtenc input.48k.raw --bitrate 100 --comp 10 output.wav
qaac --cvbr 96 -o output.m4a input.wav
qaac --tvbr 45 -o output.m4a input.wav

使用したオプション(フル)

echo ===================Opus Section Start(75k)===================
bin\opus-tools_exp_tfsel5\opusenc --bitrate 66 "%InputWavFile%" "%OutputFile%%Opus75Name%"
bin\opus-tools_exp_tfsel5\opusdec "%OutputFile%%Opus75Name%" "%TemporaryFile%.o75.wav"
bin\sox "%TemporaryFile%.o75.wav" -b 32 -e float "%Opus75Decode%" gain -1 rate -v 44100

echo ===================Celt Section Start(75k)===================
bin\sox %InputWavFile% "%TemporaryFile%.48k.wav" gain -1 rate 48000 dither -s
bin\celt-0.11.2-win32\celtenc "%TemporaryFile%.48k.wav" --bitrate 75 --comp 10 "%OutputFile%%Celt75Name%"
bin\celt-0.11.2-win32\celtdec "%OutputFile%%Celt75Name%" "%TemporaryFile%.c75.wav"
bin\sox "%TemporaryFile%.c75.wav" -b 32 -e float "%Celt75Decode%" rate -v 44100

echo ===================Aac Section Start(75k)===================
bin\qaac_1.40\qaac --cvbr 72 -o "%OutputFile%%Aaccv75Name%" "%InputWavFile%"
bin\faad -b 4 -o "%Aaccv75Decode%" "%OutputFile%%Aaccv75Name%"
bin\qaac_1.40\qaac --tvbr 27 -o "%OutputFile%%Aactv75Name%" "%InputWavFile%"
bin\faad -b 4 -o "%Aactv75Decode%" "%OutputFile%%Aactv75Name%"

echo ===================Opus Section Start(100k)===================
bin\opus-tools_exp_tfsel5\opusenc --bitrate 90 "%InputWavFile%" "%OutputFile%%Opus100Name%"
bin\opus-tools_exp_tfsel5\opusdec "%OutputFile%%Opus100Name%" "%TemporaryFile%.o100.wav"
bin\sox "%TemporaryFile%.o100.wav" -b 32 -e float "%Opus100Decode%" gain -1 rate -v 44100

echo ===================Celt Section Start(100k)===================
bin\sox %InputWavFile% "%TemporaryFile%.48k.wav" gain -1 rate 48000 dither -s
bin\celt-0.11.2-win32\celtenc "%TemporaryFile%.48k.wav" --bitrate 100 --comp 10 "%OutputFile%%Celt100Name%"
bin\celt-0.11.2-win32\celtdec "%OutputFile%%Celt100Name%" "%TemporaryFile%.c100.wav"
bin\sox "%TemporaryFile%.c100.wav" -b 32 -e float "%Celt100Decode%" rate -v 44100

echo ===================Aac Section Start(100k)===================
bin\qaac_1.40\qaac --cvbr 96 -o "%OutputFile%%Aaccv100Name%" "%InputWavFile%"
bin\faad -b 4 -o "%Aaccv100Decode%" "%OutputFile%%Aaccv100Name%"
bin\qaac_1.40\qaac --tvbr 45 -o "%OutputFile%%Aactv100Name%" "%InputWavFile%"
bin\faad -b 4 -o "%Aactv100Decode%" "%OutputFile%%Aactv100Name%"

詳細な優劣の分析

FRIEDMAN version 1.24 (Jan 17, 2002) http://ff123.net/
Blocked ANOVA analysis

Number of listeners: 20
Critical significance:  0.05
Significance of data: 0.00E+000 (highly significant)
---------------------------------------------------------------
ANOVA Table for Randomized Block Designs Using Ratings

Source of         Degrees     Sum of    Mean
variation         of Freedom  squares   Square    F      p

Total              159          37.82
Testers (blocks)    19           4.43
Codecs eval'd        7          23.92    3.42   48.00  0.00E+000
Error              133           9.47    0.07
---------------------------------------------------------------
Fisher's protected LSD for ANOVA:   0.167

Means:

cvbr100k tvbr100k celt100k opus100k opus_75k celt_75k cvbr_75k tvbr_75k
  3.85     3.80     3.79     3.76     3.31     3.29     2.88     2.87

---------------------------- p-value Matrix ---------------------------

         tvbr100k celt100k opus100k opus_75k celt_75k cvbr_75k tvbr_75k
cvbr100k 0.636    0.516    0.302    0.000*   0.000*   0.000*   0.000*
tvbr100k          0.859    0.574    0.000*   0.000*   0.000*   0.000*
celt100k                   0.701    0.000*   0.000*   0.000*   0.000*
opus100k                            0.000*   0.000*   0.000*   0.000*
opus_75k                                     0.836    0.000*   0.000*
celt_75k                                              0.000*   0.000*
cvbr_75k                                                       0.953
-----------------------------------------------------------------------

cvbr100k is better than opus_75k, celt_75k, cvbr_75k, tvbr_75k
tvbr100k is better than opus_75k, celt_75k, cvbr_75k, tvbr_75k
celt100k is better than opus_75k, celt_75k, cvbr_75k, tvbr_75k
opus100k is better than opus_75k, celt_75k, cvbr_75k, tvbr_75k
opus_75k is better than cvbr_75k, tvbr_75k
celt_75k is better than cvbr_75k, tvbr_75k

整形済みデータ

% Opus, AAC 75kbps, 100kbps ABC/HR Score
opus_75k	celt_75k	cvbr_75k	tvbr_75k	opus100k	celt100k	cvbr100k	tvbr100k
%features 6 75kbps 75kbps 75kbps 75kbps 100kbps 100kbps 100kbps 100kbps
%features 7 OPUS OPUS AAC-LC AAC-LC OPUS OPUS AAC-LC AAC-LC 
3.050	3.100	2.500	2.750	3.500	3.750	3.700	3.800	
3.750	2.950	2.700	2.750	4.050	3.800	4.000	3.950	
2.800	2.550	3.000	3.000	3.600	3.250	4.050	3.900	
2.700	3.150	2.350	2.300	3.350	3.800	3.600	3.700	
4.000	3.400	2.850	2.850	4.350	3.900	3.550	3.550	
2.600	2.550	2.800	2.800	3.350	3.150	3.950	3.900	
3.400	3.950	3.000	3.200	3.850	4.500	3.700	3.800	
3.450	3.500	2.900	2.800	3.850	4.050	4.050	4.150	
2.950	2.700	3.550	3.450	3.250	3.450	4.000	3.850	
3.100	3.400	2.750	2.600	3.800	3.850	4.150	4.000	
3.350	3.100	2.600	2.600	3.750	3.400	3.450	3.500	
3.750	3.350	2.800	2.950	4.050	3.750	3.800	3.850	
3.550	3.300	2.600	2.650	4.250	3.950	3.750	3.600	
3.100	3.350	2.750	2.550	3.650	3.700	3.850	3.800	
3.400	3.450	2.900	2.900	3.650	3.950	3.750	3.900	
3.250	3.300	2.750	2.800	3.650	3.850	3.950	3.750	
3.600	3.800	3.300	3.300	3.550	4.000	3.650	3.700	
3.700	3.350	3.300	3.300	3.900	3.650	4.100	4.000	
3.100	3.600	3.150	3.000	3.700	3.800	4.100	3.850	
3.650	4.050	3.000	2.900	4.050	4.250	3.750	3.550	
続きを読む

FFmpeg AACの音質評価

警告

この内容は2012年の古い結果です。
2021年現時点では、FFmpeg公式推奨の Fraunhofer FDK AAC 外部ライブラリ(-c:a libfdk_aac) を推奨します。

  • 現在のFFmpegでは、-cutoffオプションは付けない方が良いです。
  • vo-aacenc のサポートは廃止されました。
  • libfaac のサポートも廃止されました。使おうとするとUnknown encoder ‘libfaac’と言われるはずです。

概要

FFmpegから直接使えるAACエンコーダー3種の評価。
FFmpeg内蔵AACエンコーダー(-strict experimental)については、-cutoffオプションを使用し、最適な-cutoffの値を探った。

結果

libfaac ≒ FFmpeg内蔵AACエンコーダー(-strict experimental -cutoff 15000) > vo-aacenc

評価

エンコーダ FFmpe FFmpe FFmpe FFmpe FFmpe FFmpe
-acodec aac aac aac aac libvo libfaac
-cutoff 13000 15000 17000 19000    
リリース年 2012 2012 2012 2012 2012 2009
バージョン r42106 r42106 r42106 r42106 v0.1.2 r18607
フォーマット AAC AAC AAC AAC AAC AAC
ビットレート 128k 128k 128k 128k 128k 128k
Tarentella 管楽器 3.0 3.5 3.7 3.9 3.1 4.0
水瀬さんち 男女声 3.3 3.9 3.5 3.8 3.0 3.8
Miles Davis ジャズ 3.0 3.9 3.8 3.6 2.5 3.1
58-ギター 弦楽器 3.2 3.6 3.4 3.5 2.7 3.4
55-Haydn 管楽器 3.2 3.5 3.2 3.0 2.3 4.0
41_30sec 打楽器 2.6 3.0 2.7 2.5 2.7 2.7
finalfantasy 撥弦楽 2.5 3.3 3.0 2.6 3.9 2.9
ATrain ジャズ 3.5 4.0 4.2 4.2 2.7 3.5
BigYellow POPS 2.8 3.4 3.6 3.5 2.9 2.5
FloorEssence テクノ 2.8 2.9 2.9 3.0 2.8 3.6
macabre オケ 2.8 3.3 3.6 3.7 2.7 4.2
mybloodrusts 弦楽器 2.8 2.7 2.7 2.7 2.9 3.3
Quizas ラテン 3.0 3.9 3.5 3.4 2.5 3.7
VelvetRealm テクノ 3.3 3.1 3.0 2.9 3.0 3.9
雨降花 POPS 3.0 3.5 3.4 3.0 2.6 3.6
Trust Gosp 2.9 3.5 3.4 3.2 3.2 4.0
Waiting ロック 3.2 3.0 3.2 2.7 2.9 3.1
Experiencia ラテン 2.7 3.3 3.6 3.4 3.1 2.8
HeartToHeart POPS 2.9 3.2 3.2 2.9 3.4 3.2
Tom's Diner 女声 3.1 3.3 3.3 3.2 3.4 2.8
ReunionBlues ジャズ 3.2 3.6 3.8 3.4 3.1 3.5
French 男女声 3.0 3.1 2.9 2.6 2.8 2.5
undelete POPS 3.2 3.7 3.4 3.4 2.6 4.1
Dimmu Borgir メタル 2.9 2.8 3.1 2.9 2.4 4.3
Run up POPS 3.1 3.3 3.6 3.3 3.9 3.4
↑音源 平均点 3.00 3.37 3.35 3.21 2.92 3.44
実レート 128k 128k 129k 130k 130k 129k
全サイズ(KB) 8786 8817 8846 8951 8935 8879
-acodec aac aac aac aac libvo libfaac
エンコーダ FFmpe FFmpe FFmpe FFmpe FFmpe FFmpe

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

方法

銘柄に対する先入観が影響しないように、PSP abc/hr v2.3とRP-HT560を利用して、6個の音声ファイルをランダムに並び替えて、銘柄を伏せた状態で聴いて採点した。1.0=音質劣化が非常に気になる 2.0=気になる 3.0=わずかに気になる 4.0=原音からの音質変化が分かるが、気にならない 5.0=音質変化がわからない、区別できない。4.9点以下の評点をつける場合は、ABXYテストを15回行い、12回以上(これ以上の成績をまぐれで出す確率は約2%)正解して、違いを聞き取れることを確認してからそうした。
このテストでの採点は、25(音源)×6(エンコーダ)×1(回)=150(回)。

使用したオプション

 -aprofile aac_low -acodec aac -strict experimental -ab 128k -cutoff 13000
 -aprofile aac_low -acodec aac -strict experimental -ab 128k -cutoff 15000
 -aprofile aac_low -acodec aac -strict experimental -ab 128k -cutoff 17000
 -aprofile aac_low -acodec aac -strict experimental -ab 128k -cutoff 19000
 -acodec libvo_aacenc -ab 128k
 -acodec libfaac -ab 128k

使用したオプション(フル)

echo ===================FFmpeg Native AAC Encoder Section Start===================
bin\ffmpeg42106 -y -i %InputWavFile% -aprofile aac_low -acodec aac -strict experimental -ab 128k -cutoff 13000 "%OutputFile%%Aac1Name%"
bin\ffmpeg42106 -y -i %InputWavFile% -aprofile aac_low -acodec aac -strict experimental -ab 128k -cutoff 15000 "%OutputFile%%Aac2Name%"
bin\ffmpeg42106 -y -i %InputWavFile% -aprofile aac_low -acodec aac -strict experimental -ab 128k -cutoff 17000 "%OutputFile%%Aac3Name%"
bin\ffmpeg42106 -y -i %InputWavFile% -aprofile aac_low -acodec aac -strict experimental -ab 128k -cutoff 19000 "%OutputFile%%Aac4Name%"
bin\faad -b 4 -o %Aac1Decode% "%OutputFile%%Aac1Name%"
bin\faad -b 4 -o %Aac2Decode% "%OutputFile%%Aac2Name%"
bin\faad -b 4 -o %Aac3Decode% "%OutputFile%%Aac3Name%"
bin\faad -b 4 -o %Aac4Decode% "%OutputFile%%Aac4Name%"

echo ===================FFmpeg OpenAMR VisualOn VO-AACENC Section Start===================
bin\ffmpeg42106 -y -i %InputWavFile% -acodec libvo_aacenc -ab 128k "%OutputFile%%Aac5Name%"
bin\faad -b 4 -o %Aac5Decode% "%OutputFile%%Aac5Name%"

echo ===================FFmpeg FAAC (libfaac) Section Start===================
bin\ffmpeg18607 -y -i %InputWavFile% -acodec libfaac -ab 128k "%OutputFile%%Aac6Name%"
bin\faad -b 4 -o %Aac6Decode% "%OutputFile%%Aac6Name%"

詳細な優劣の分析

FRIEDMAN version 1.24 (Jan 17, 2002) http://ff123.net/
Blocked ANOVA analysis

Number of listeners: 25
Critical significance:  0.05
Significance of data: 3.12E-007 (highly significant)
---------------------------------------------------------------
ANOVA Table for Randomized Block Designs Using Ratings

Source of         Degrees     Sum of    Mean
variation         of Freedom  squares   Square    F      p

Total              149          28.67
Testers (blocks)    24           8.20
Codecs eval'd        5           5.55    1.11    8.93  3.12E-007
Error              120          14.93    0.12
---------------------------------------------------------------
Fisher's protected LSD for ANOVA:   0.198

Means:

lib_faac ffexp15k ffexp17k ffexp19k ffexp13k voaacenc
  3.44     3.37     3.35     3.21     3.00     2.92

---------------------------- p-value Matrix ---------------------------

         ffexp15k ffexp17k ffexp19k ffexp13k voaacenc
lib_faac 0.522    0.379    0.027*   0.000*   0.000*
ffexp15k          0.810    0.111    0.000*   0.000*
ffexp17k                   0.175    0.001*   0.000*
ffexp19k                            0.036*   0.005*
ffexp13k                                     0.448
-----------------------------------------------------------------------

lib_faac is better than ffexp19k, ffexp13k, voaacenc
ffexp15k is better than ffexp13k, voaacenc
ffexp17k is better than ffexp13k, voaacenc
ffexp19k is better than ffexp13k, voaacenc

整形済みデータ

% FFmpeg AAC 128kbps ABC/HR score
ffcut13k	ffcut15k	ffcut17k	ffcut19k	voaacenc	lib_faac	
%feature	7	Native experimental	Native experimental	Native experimental	Native experimental	vo-aacenc	libfaac
3.000	3.500	3.700	3.900	3.100	4.000	
3.300	3.900	3.500	3.800	3.000	3.800	
3.000	3.900	3.800	3.600	2.500	3.100	
3.200	3.600	3.400	3.500	2.700	3.400	
3.200	3.500	3.200	3.000	2.300	4.000	
2.600	3.000	2.700	2.500	2.700	2.700	
2.500	3.300	3.000	2.600	3.900	2.900	
3.500	4.000	4.200	4.200	2.700	3.500	
2.800	3.400	3.600	3.500	2.900	2.500	
2.800	2.900	2.900	3.000	2.800	3.600	
2.800	3.300	3.600	3.700	2.700	4.200	
2.800	2.700	2.700	2.700	2.900	3.300	
3.000	3.900	3.500	3.400	2.500	3.700	
3.300	3.100	3.000	2.900	3.000	3.900	
3.000	3.500	3.400	3.000	2.600	3.600	
2.900	3.500	3.400	3.200	3.200	4.000	
3.200	3.000	3.200	2.700	2.900	3.100	
2.700	3.300	3.600	3.400	3.100	2.800	
2.900	3.200	3.200	2.900	3.400	3.200	
3.100	3.300	3.300	3.200	3.400	2.800	
3.200	3.600	3.800	3.400	3.100	3.500	
3.000	3.100	2.900	2.600	2.800	2.500	
3.200	3.700	3.400	3.400	2.600	4.100	
2.900	2.800	3.100	2.900	2.400	4.300	
3.100	3.300	3.600	3.300	3.900	3.400	
続きを読む

Opus,Ogg,AAC 128kbpsの音質比較

概要

Opus Audio Codec, Ogg Vorbis, AACの128kbpsでの音質比較。

結果

AAC ≒ Opus ≒ Ogg
3者とも評点に有意差を検出できなかった。おおむね同程度の音質。

評価

エンコーダ opus aoTuV qaac
リリース年 2012 2011 2012
バージョン v0.9.10 B6.03 1.36
フォーマット Opus Ogg AAC
ビットレート 128000 q3 cvbr128
41_30sec 打楽器 3.7 4.0 4.1
finalfantasy 撥弦楽 3.8 4.2 4.1
ATrain ジャズ 3.8 3.8 4.2
BigYellow POPS 3.9 3.5 4.0
FloorEssence テクノ 4.2 4.3 3.7
macabre オケ 3.9 4.0 4.3
mybloodrusts 弦楽器 5.0 3.7 5.0
Quizas ラテン 3.9 3.6 4.0
VelvetRealm テクノ 3.5 4.5 4.1
雨降花 POPS 3.9 3.6 4.2
Trust Gosp 3.7 4.2 4.0
Waiting ロック 3.8 3.6 3.8
Experiencia ラテン 4.3 3.9 4.1
HeartToHeart POPS 3.8 3.8 4.1
Tom's Diner 女声 3.9 3.6 4.4
ReunionBlues ジャズ 4.1 4.2 5.0
French 男女声 4.6 3.7 4.0
undelete POPS 3.7 4.2 4.1
Dimmu Borgir メタル 4.5 5.0 4.8
Run up POPS 4.6 4.4 4.1
↑音源 平均点 4.02 3.97 4.18
実レート 131k 129k 136k
全サイズ(KB) 7658 7565 7954
エンコーダ opus aoTuV qaac

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

方法

銘柄に対する先入観が影響しないように、PSP abc/hr v2.3とRP-HT560を利用して、3個の音声ファイルをランダムに並び替えて、銘柄を伏せた状態で聴いて採点した。1.0=音質劣化が非常に気になる 2.0=気になる 3.0=わずかに気になる 4.0=原音からの音質変化が分かるが、気にならない 5.0=音質変化がわからない、区別できない。4.9点以下の評点をつける場合は、ABXYテストを15回行い、12回以上(これ以上の成績をまぐれで出す確率は約2%)正解して、違いを聞き取れることを確認してからそうした。
同じテストをもう一度行い、2評点の平均を求めた。このテストでの採点は、20(音源)×3(エンコーダ)×2(回)=120(回)。

使用したオプション

echo ===================Opus Section Start===================
bin\sox -D %InputWavFile% -b 16 "%TemporaryFile%1.wav" gain -3 rate -v 48000
bin\sox -D "%TemporaryFile%1.wav" "%TemporaryFile%1.raw"
bin\opus20120515\opus -e audio 48000 2 128000 "%TemporaryFile%1.raw" "%OutputFile%%OpusName%"
bin\opus20120515\opus -d 48000 2 "%OutputFile%%OpusName%" "%TemporaryFile%2.raw"
bin\sox -D -r 48000 -e signed -b 16 -c 2 "%TemporaryFile%2.raw" -b 32 -e float %OpusDecode% rate -v 44100

echo ===================Ogg Section Start===================
bin\venc603 -q3 %InputWavFile% "%OutputFile%%OggName%"
bin\oggdec -b 5 "%OutputFile%%OggName%" --wavout %OggDecode%

echo ===================Aac Section Start===================
bin\qaac_1.36\qaac --cvbr 128 -o "%OutputFile%%AacName%" %InputWavFile%
bin\faad -b 4 -o %AacDecode% "%OutputFile%%AacName%"

詳細な優劣の分析

FRIEDMAN version 1.24 (Jan 17, 2002) http://ff123.net/
Blocked ANOVA analysis

Number of listeners: 20
Critical significance:  0.05
Significance of data: 1.14E-001 (not significant)
---------------------------------------------------------------
ANOVA Table for Randomized Block Designs Using Ratings

Source of         Degrees     Sum of    Mean
variation         of Freedom  squares   Square    F      p

Total               59           8.44
Testers (blocks)    19           3.91
Codecs eval'd        2           0.49    0.24    2.30  1.14E-001
Error               38           4.04    0.11
---------------------------------------------------------------

整形済みデータ

% Opus/Ogg/Aac 128kbps ABC/HR score
opus v0.9.10	aoTuV b6.03	qaac 1.36
%feature 7 OPUS OGG AAC-LC	
3.700	4.000	4.050	
3.800	4.150	4.100	
3.800	3.850	4.200	
3.950	3.450	3.950	
4.150	4.300	3.700	
3.950	3.950	4.250	
5.000	3.700	5.000	
3.900	3.600	3.950	
3.500	4.500	4.050	
3.900	3.550	4.150	
3.650	4.200	3.950	
3.800	3.550	3.850	
4.250	3.950	4.100	
3.750	3.800	4.100	
3.900	3.550	4.350	
4.050	4.200	5.000	
4.600	3.650	4.000	
3.700	4.150	4.050	
4.450	5.000	4.750	
4.550	4.350	4.100	

エンコード・デコードのログ

===================Processing Wav File "D:\autoencode\10xh_.wav"===================
===================Opus Section Start===================
libopus unknown
Encoding 48000 Hz input at 128.000 kb/s in auto mode with 960-sample frames.
average bitrate:             128.492 kb/s
maximum bitrate:             221.200 bkp/s
active bitrate:              128.578 kb/s
bitrate standard deviation:   33.717 kb/s
libopus unknown
Decoding with 48000 Hz output (2 channels)
average bitrate:             128.492 kb/s
maximum bitrate:             221.200 bkp/s
bitrate standard deviation:   33.717 kb/s
===================Ogg Section Start===================
aoTuV Beta 6.03 - OggVorbis Encoder (c) 2003-2011 Aoyumi

Output file : "sound_out\10xh_.aotuv603_q3.ogg"
Stream info.: 2ch/44.1kHz/16bit(int) -> 2ch/44.1kHz/32bit(float)

Quality 3 (nominal bitrate : 112kbps)
Processing...Done.

 [Report of the encoded file]
   play time    : 30.000 sec.
  encode time   : 1.212 sec. (x24.752)
 stream bitrate : 142.56 kbps
 bit reduction  : 1 / 9.9 


OggDec v1.9.7 (libVorbis 1.3.1) Compiled on: Mar 29 2010
 !%!INVISIBLE.DONTUPDATE!%!ENCODE_INFO=1,VENC 2.61,2,int16,44100,17100,Coupling,Q3.00
 Encoder Version: 0
 Serial Number: 26035

 Bitstream is 2 channel, 44100Hz
 Scale = 1.0000
 Decoded length: 1323001 samples = 0:30 mins.
 Encoded by: AO; aoTuV [20110424] (based on Xiph.Org's libVorbis)
 Decoding: sound_out\10xh_.aotuv603_q3.ogg

  100% decoded.

 ********** Done decoding all input files. **********
===================Aac Section Start===================
qaac 1.36, CoreAudioToolbox 7.9.7.9

10xh_.wav
AAC-LC Encoder, CVBR 128kbps, Quality 96
[100.0%] 0:30.000/0:30.000 (38.5x), ETA 0:00.000  
1323001/1323001 samples processed in 0:00.780
Overall bitrate: 143.181kbps
 *********** Ahead Software MPEG-4 AAC Decoder V2.7 ******************

 Build: Jun 14 2010
 Copyright 2002-2004: Ahead Software AG
 http://www.audiocoding.com
 Floating point version

 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License.

 **************************************************************************

sound_out\10xh_.qaac136_cvbr_128k.m4a file info:

LC AAC	30.040 secs, 2 ch, 44100 Hz

tool: qaac 1.36, CoreAudioToolbox 7.9.7.9, AAC-LC Encoder, CVBR 128kbps, Quality 96
iTunSMPB:  00000000 00000840 000003C7 0000000000142FF9 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

  ---------------------
 | Config:  2 Ch       |
  ---------------------
 | Ch |    Position    |
  ---------------------
 | 00 | Left front     |
 | 01 | Right front    |
  ---------------------

Decoding sound_out\10xh_.qaac136_cvbr_128k.m4a took:  0.31 sec. 96.28x real-time.
===================Rawgene2 Section Start===================
rawgene v.2.0.0  /  original reference file:sound_raw\10xh_.original.f32b.wav
                     Offset[sample]  Gain    Gain[dB]     Score
FLO 1>10xh_.opusv091> O:  287   G: 1.410961  G: 2.990303  S: 0.280587
FLO 2>10xh_.aotuv603> O:    0   G: 1.009737  G: 0.084167  S: 0.183967
FLO 3>10xh_.qaac136_> O: 1088   G: 1.006208  G: 0.053757  S: 0.156985
biggest_delay    : 1088
smallest_delay   : 0
biggest_gain     : 1.410961
shortest_sample  : 1321913
initial_offset   : 7126

注:公開試聴試験での多人数の平均評点と管理人の評点が似たような傾向になることは確認しているので言えるが、ある個人がある再生環境で、ある価値観のもとに聞いたときの評価が、ここに書いた管理人の評価に似るかどうかまでは何とも言えない。また、今回利用した音源とは傾向の異なる音を多くエンコードした場合、結果や順位が異なる可能性があります。

Opus,Ogg,AACの音質比較

概要

Opus Audio Codec, Ogg Vorbis, AACの80kbpsでの音質比較。

結果

Opus ≒ Ogg > AAC
OpusとOggが互角、qaac(Apple社のAACエンコーダを借りてエンコードするソフト)でtvbrエンコードしたAACの音質は比較的悪い。

評価

エンコーダ opus aoTuV aoTuV qaac
リリース年 2012 2011 2009 2012
バージョン v0.9.9 B6.03 B5.7 1.31
フォーマット Opus Ogg Ogg AAC
ビットレート 80000 q0.80 q0.86 tv36
41_30sec 打楽器 2.8 3.0 3.1 2.6
finalfantasy 撥弦楽 2.9 3.3 3.2 3.1
ATrain ジャズ 2.8 2.8 3.0 3.5
BigYellow POPS 3.3 3.3 3.4 2.8
FloorEssence テクノ 3.3 3.3 3.4 3.0
macabre オケ 3.2 2.9 3.0 3.0
mybloodrusts 弦楽器 3.5 3.4 3.3 3.1
Quizas ラテン 3.2 3.3 3.1 2.9
VelvetRealm テクノ 3.1 3.6 3.3 3.3
雨降花 POPS 3.5 3.1 3.2 2.8
Trust Gosp 3.0 3.3 3.3 2.6
Waiting ロック 3.1 2.8 2.9 2.8
Experiencia ラテン 3.6 3.3 3.3 2.9
HeartToHeart POPS 3.3 3.1 3.0 2.6
Tom's Diner 女声 3.4 3.3 3.3 3.0
ReunionBlues ジャズ 3.2 3.1 3.0 3.5
French 男女声 3.5 3.3 3.2 3.1
undelete POPS 3.3 3.5 3.3 3.2
Dimmu Borgir メタル 3.4 3.3 3.3 2.9
Run up POPS 3.6 3.7 3.6 3.1
↑音源 平均点 3.23 3.22 3.19 2.97
実レート 83k 83k 83k 80k
全サイズ(KB) 4850 4859 4853 4676
エンコーダ opus aoTuV aoTuV qaac

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

方法

銘柄に対する先入観が影響しないように、PSP abc/hr v2.1とRP-HT560を利用して、4個の音声ファイルをランダムに並び替えてして、銘柄を伏せた状態で聴いて採点した。1.0=音質劣化が非常に気になる 2.0=気になる 3.0=少し気になる 4.0=原音からの音質変化が分かるが、気にならない 5.0=音質変化がわからない、区別できない。4.9点以下の評点をつける場合は、ABXYテストを15回行い、12回以上(これ以上の成績をまぐれで出す確率は約2%)正解して、違いを聞き取れることを確認してからそうした。
同じテストをもう一度行い、2評点の平均を求めた。このテストでの採点は、20(音源)×4(エンコーダ)×2(回)=160(回)。

使用したオプション

sox -D %wavfile% -b 16 "temp1.wav" gain -1 rate -v 48000
sox -D "temp1.wav" "temp1.raw"
opus -e audio 48000 2 80000 "temp1.raw" %outfile.opus%
opus -d 48000 2 "outfile.opus" "temp2.raw"
sox -D -r 48000 -e signed -b 16 -c 2 "temp2.raw" -b 16 %outfile.wav% gain 1 rate -v 44100
venc570 -q0.86 %wavfile% %outfile.ogg%
venc603 -q0.80 %wavfile% %outfile.ogg%
qaac --tvbr 36 -o %outfile.mp4% %wavfile%

詳細な優劣の分析

FRIEDMAN version 1.24 (Jan 17, 2002) http://ff123.net/
Blocked ANOVA analysis

Number of listeners: 20
Critical significance:  0.05
Significance of data: 8.46E-005 (highly significant)
---------------------------------------------------------------
ANOVA Table for Randomized Block Designs Using Ratings

Source of         Degrees     Sum of    Mean
variation         of Freedom  squares   Square    F      p

Total               79           4.59
Testers (blocks)    19           1.71
Codecs eval'd        3           0.90    0.30    8.60  8.46E-005
Error               57           1.98    0.03
---------------------------------------------------------------
Fisher's protected LSD for ANOVA:   0.118

Means:

opus     ao_new   ao_old   qaac
  3.22     3.22     3.19     2.97

---------------------------- p-value Matrix ---------------------------

         ao_new   ao_old   qaac
opus     0.899    0.528    0.000*
ao_new            0.613    0.000*
ao_old                     0.000*
-----------------------------------------------------------------------

opus is better than qaac
ao_new is better than qaac
ao_old is better than qaac

整形済みデータ

% Opus/Ogg/Aac 80kbps ABC/HR score
opus_v0.9.9	aoTuV_b6.03	aoTuV_b5.7	qaac_tvbr
%features	7	Opus	Ogg Vorbis	Ogg Vorbis	AAC-LC	
2.850	3.000	3.100	2.550	
2.900	3.250	3.150	3.050	
2.800	2.850	3.000	3.450	
3.250	3.300	3.400	2.850	
3.250	3.350	3.400	2.950	
3.150	2.850	2.950	2.950	
3.500	3.350	3.250	3.050	
3.200	3.300	3.050	2.900	
3.050	3.550	3.300	3.250	
3.450	3.100	3.200	2.850	
3.000	3.250	3.250	2.600	
3.100	2.850	2.850	2.800	
3.550	3.300	3.250	2.900	
3.300	3.050	3.000	2.600	
3.350	3.250	3.250	2.950	
3.150	3.050	3.000	3.450	
3.500	3.250	3.200	3.050	
3.250	3.450	3.300	3.200	
3.350	3.350	3.250	2.900	
3.550	3.650	3.600	3.050	

注:公開試聴試験での多人数の平均評点と管理人の評点が似たような傾向になることは確認しているので言えるが、ある個人がある再生環境で、ある価値観のもとに聞いたときの評価が、ここに書いた管理人の評価に似るかどうかまでは何とも言えない。また、今回利用した音源とは傾向の異なる音を多くエンコードした場合、結果や順位が異なる可能性があります。

cutoffオプションでFFmpeg内蔵AACエンコーダーの品質を改善する

概要

FFmpegネイティブのAACエンコーダー(実験段階)でAACエンコードする時に、cutoffオプションを使うと音質が少しよくなることを確認した。

結果

AAC 192kbps(with cutoff) > AAC 192kbps(without cutoff) >
AAC 128kbps(with cutoff) > AAC 128kbps(without cutoff) >
AAC 64kbps(with cutoff) > AAC 64kbps(without cutoff)

評価

エンコーダ FFmpeg FFmpeg FFmpeg FFmpeg FFmpeg FFmpeg
リリース年 2012 2012 2012 2012 2012 2012
バージョン r37610 r37610 r37610 r37610 r37610 r37610
フォーマット LC-AAC LC-AAC LC-AAC LC-AAC LC-AAC LC-AAC
ビットレート 64k 64k 128k 128k 192k 192k
-cutoff あり なし あり なし あり なし
数値(Hz) 12000 16000 18000
41_30sec 打楽器 1.8 1.5 2.6 2.3 3.6 3.3
finalfantasy 撥弦楽 2.1 1.8 3.5 2.6 4.3 4.0
ATrain ジャズ 2.3 1.9 4.0 3.2 4.4 4.4
BigYellow POPS 2.3 1.7 3.5 2.7 4.1 3.9
FloorEssence テクノ 2.0 1.7 3.0 2.5 3.6 3.2
macabre オケ 2.1 1.7 3.3 2.6 4.6 3.9
mybloodrusts 弦楽器 2.1 1.7 2.7 2.6 4.1 3.9
Quizas ラテン 2.1 1.6 3.5 2.8 4.0 3.8
VelvetRealm テクノ 2.2 1.9 2.7 2.5 2.9 3.1
雨降花 POPS 2.1 1.7 3.0 2.7 3.8 3.5
Trust Gosp 2.2 1.7 2.9 2.6 3.8 3.5
Waiting ロック 2.3 1.9 3.0 2.6 3.6 3.5
Experiencia ラテン 2.1 1.6 3.2 2.3 4.1 3.9
HeartToHeart POPS 2.3 1.5 3.2 2.2 3.7 3.5
Tom's Diner 女声 2.3 1.8 3.2 2.3 3.4 3.6
ReunionBlues ジャズ 2.3 1.8 3.7 3.1 4.2 4.1
French 男女声 2.5 1.9 3.1 2.6 3.7 3.5
undelete POPS 2.1 1.9 3.1 3.1 4.0 3.7
Dimmu Borgir メタル 1.9 1.8 3.0 3.0 3.9 3.5
Run up POPS 2.3 1.8 3.4 2.8 4.0 3.9
↑音源 平均点 2.16 1.71 3.16 2.63 3.87 3.67
実レート 69k 72k 130k 133k 190k 188k
全サイズ(KB) 4068 4208 7608 7820 11127 11024

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

方法

先入観が影響しないように、PSP ABC/HR v2.0とRP-HT560を利用して、WAVからエンコードされた6個のAACをランダムに並び替えて、ブラインドで採点した。WAVとの区別がつかない場合、5.0点をつけた。4.9点以下の評点をつける場合は、ABXYテストを15回行い、12回以上(これ以上の成績をまぐれで出す確率は約2%)正解して、違いを聞き取れることを確認してからそうした。その作業を20音源について繰り返した。同じテストをもう一度行った。2回の平均を使った。このテストでの採点は、20(音源)×3(ビットレート)×2(cutoffあり/なし)×2(回)=240(回)。

使用したオプション

ffmpeg37610 -y -i %wavfile% -vn -aprofile aac_low -acodec aac -strict experimental -ab 64k -cutoff 12000 %outfile%.mp4
ffmpeg37610 -y -i %wavfile% -vn -aprofile aac_low -acodec aac -strict experimental -ab 64k %outfile%.mp4
ffmpeg37610 -y -i %wavfile% -vn -aprofile aac_low -acodec aac -strict experimental -ab 128k -cutoff 16000 %outfile%.mp4
ffmpeg37610 -y -i %wavfile% -vn -aprofile aac_low -acodec aac -strict experimental -ab 128k %outfile%.mp4
ffmpeg37610 -y -i %wavfile% -vn -aprofile aac_low -acodec aac -strict experimental -ab 192k -cutoff 18000 %outfile%.mp4
ffmpeg37610 -y -i %wavfile% -vn -aprofile aac_low -acodec aac -strict experimental -ab 192k %outfile%.mp4

詳細な優劣の分析

FRIEDMAN version 1.24 (Jan 17, 2002) http://ff123.net/
Blocked ANOVA analysis

Number of listeners: 20
Critical significance:  0.05
Significance of data: 0.00E+000 (highly significant)
---------------------------------------------------------------
ANOVA Table for Randomized Block Designs Using Ratings

Source of         Degrees     Sum of    Mean
variation         of Freedom  squares   Square    F      p

Total              119          81.56
Testers (blocks)    19           4.71
Codecs eval'd        5          72.29   14.46   301.50  0.00E+000
Error               95           4.56    0.05
---------------------------------------------------------------
Fisher's protected LSD for ANOVA:   0.137

Means:

192k_cut 192nocut 128k_cut 128nocut 64k__cut 64knocut
  3.87     3.67     3.16     2.63     2.16     1.71

---------------------------- p-value Matrix ---------------------------

         192nocut 128k_cut 128nocut 64k__cut 64knocut
192k_cut 0.005*   0.000*   0.000*   0.000*   0.000*
192nocut          0.000*   0.000*   0.000*   0.000*
128k_cut                   0.000*   0.000*   0.000*
128nocut                            0.000*   0.000*
64k__cut                                     0.000*
-----------------------------------------------------------------------

192k_cut is better than 192nocut, 128k_cut, 128nocut, 64k__cut, 64knocut
192nocut is better than 128k_cut, 128nocut, 64k__cut, 64knocut
128k_cut is better than 128nocut, 64k__cut, 64knocut
128nocut is better than 64k__cut, 64knocut
64k__cut is better than 64knocut

整形済みデータ

% FFmpeg native experimental AAC Encoder ABC/HR score
64k__cut	64knocut	128k_cut	128nocut	192k_cut	192nocut
%features 7 64kbps 64kbps 128kbps 128kbps 192kbps 192kbps
1.800	1.500	2.600	2.250	3.600	3.250	
2.100	1.750	3.450	2.550	4.250	3.950	
2.300	1.850	4.000	3.200	4.350	4.400	
2.300	1.650	3.500	2.650	4.100	3.900	
2.000	1.700	3.000	2.500	3.600	3.200	
2.050	1.700	3.300	2.600	4.600	3.900	
2.100	1.700	2.700	2.550	4.050	3.900	
2.050	1.600	3.450	2.850	4.000	3.800	
2.200	1.850	2.700	2.450	2.900	3.050	
2.100	1.650	2.950	2.700	3.750	3.500	
2.150	1.650	2.900	2.600	3.750	3.500	
2.250	1.850	3.000	2.600	3.550	3.450	
2.100	1.550	3.200	2.350	4.100	3.900	
2.300	1.500	3.150	2.150	3.700	3.500	
2.350	1.800	3.150	2.250	3.400	3.550	
2.300	1.750	3.700	3.050	4.150	4.050	
2.450	1.850	3.100	2.550	3.700	3.450	
2.100	1.900	3.100	3.050	3.950	3.700	
1.900	1.750	2.950	2.950	3.900	3.500	
2.250	1.750	3.350	2.800	3.950	3.900	

注:公開試聴試験での多人数の平均評点と管理人の評点が似たような傾向になることは確認しているので言えるが、ある個人がある再生環境で、ある価値観のもとに聞いたときの評価が、ここに書いた管理人の評価に似るかどうかまでは何とも言えない。また、今回利用した音源とは傾向の異なる音を多くエンコードした場合、結果や順位が異なる可能性があります。