スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【同じタグを付けた記事の一覧】

iTunes と音楽 CD で気軽に音質を ABX テストするスクリプト

2010年06月19日(土)00時15分

ABX テストとは

比較対象である「A」と「B」、そしてそのどちらかからランダムで選んだ「X」を用意し、その三者を聞き比べて「XはAか?Bか?」を当てるテストです。
「X」をランダムに変更しながら繰り返し、最後に正解率を見ることで、「A」と「B」を区別することが出来ているのかどうかを知ることが出来ます。
ただし今回のスクリプトには後で述べる回避しきれない重大な問題点があるため、「区別できない」ことは百パーセント確実に判定できますが、「区別できる」ことに関しては「多分」というレベルでしかわかりません。

スクリプトの準備

iABXTester.txt ← 矢印左側の文字の上で右クリックし、「対象をファイルに保存(A)…」してダウンロードします。

iABXTester対象をファイルに保存 

ダウンロードした「iABXTester.txt」を右クリックし、「プロパティ」を見て、「ブロックの解除」ボタンがあれば押して「OK」します。

iABXTesterブロックの解除

ダウンロードした「iABXTester.txt」の拡張子(末尾の3文字)を「txt」から「hta」に変更し「iABXTester.hta」とします。

iABXTester拡張子変更

iTunes を起動してお気に入りの音楽 CD を挿入し、iABXTester.hta を実行してください。

iABXTester

アンインストール

レジストリに何か書き込んだり、システムフォルダに何かをコピーしたりということはしませんので、基本的にはスクリプトファイルを削除するだけです。
不具合等でスクリプトが正常に終了しなかった場合に、iTunes のライブラリに「_iABXTester」というタイトルの楽曲が残ることがありますので、これが存在する場合は、iTunes のライブラリから削除してください(テスト中には削除しないでください)。

エンコード条件(ビットレート等)の変更

iTunes を外部からスクリプトで制御する場合、どのエンコーダを使うか(AAC や MP3 等)は指定できますが、各エンコーダの設定(ビットレート等)は変更できません。
これらのエンコード条件の指定は、iTunes 本体で「編集→設定→インポート設定」から各エンコーダの「設定」を変更することで行います。

「lame.exe」と「qtaacenc.exe」

「lame.exe」や「qtaacenc.exe」がスクリプトと同じフォルダに存在すると、これらでエンコードされた楽曲ファイルも比較対象として使用できます。
詳しくは「DnspTools フォルダの作り方」をご覧ください。

結果表示

結果として正解率とχ2分布がパーセントで表示されます。
正解率は、当然高いほどよく、50% 付近だと区別できていないことになります。
χ2分布というのは、調べるとカイ二乗検定とかカイ二乗分布とかいろいろ難しそうな数式が出てくるわけですが、どうも集計の結果がどのくらい「ありふれているか」を調べるための分析手段のようです。
例えば正解率 50% の場合、そんな結果はサイコロ振ってても簡単に出せるだろう(ぐらいありふれている)ということでχ2検定の結果は 100% になり、10回中9回当てたとか、逆に1回しか当てられなかったという場合には、狙ってやらないとまず出せない(ぐらい珍しい)ということで 1% ぐらいになります。
つまり、このχ2分布の数値は、低いほどよい(区別が出来ている)ということです。
統計学的には 5% 以下(厳密な調査では 1% 以下)で「区別できている」とみなすようです。

トレーニング

そもそもが前回作ったブラインド・テストの結果が散々たるものだった理由の一つに「音質を聞き分ける経験の不足」があるのではないかという予想のもとに作り始めた「音質聞き分け用トレーニング・ツール」であるため、正解をその場で確認して、自分の感覚を修正しながら進むことも出来ます(ただし正解を確認した問いの結果は、正解率等の算出時には含まれません)。

「外部エンコーダ以外は CD から直接エンコード。」設定

内容が伝わりにくそうな設定項目として「外部エンコーダ以外は CD から直接エンコード。」というものがあります。
通常は最初に WAVE トラックのみを CD から取り込み、それ以外の形式は全てその WAVE トラックを変換して生成しますが、この項目にチェックしておくと iTunes が持つ内蔵エンコーダ分のトラックに関しては WAVE 以外も CD から直接取り込むようになります。
何のためにこんなものがあるのかといいますと、例えば WEB 上には、無圧縮音源の間でさえ「音質が違う」と書かれておられる方がいらしたりするので、そういう場合に WAVE トラックからの間接変換ではその検証にならないだろうと考えたからです。

問題点

iTunes の特性か、開始時間を設定して曲の途中から再生した場合、エンコード方式に応じて開始時間(頭出し位置と出音までの時間の両方)が微妙に(本当にごくわずかですが)ズレます。
圧縮時に挿入される曲頭・曲尾のギャップ(無音区間)の問題か、圧縮単位に由来するシーク・ポイントの誤差の問題か、開始時のデコードに要する時間の問題か、あるいはそれらの複合による問題だったりするのかは分かりませんが、ともかくズレてしまいます。
このズレは極めてわずかなものではありますが、それでもうまくズレが分かりやすいポイントを押さえることが出来れば、前回のテストで無圧縮と 128kbps との区別すら付かなかった自分でさえ、WAVE と Apple ロスレスを百パーセントで判別できてしまうぐらい深刻な問題です。

応急処置

この問題に対しては、再生時に曲の開始地点をランダムで微妙にズラすことで応急処置としています。
ただ、iTunes における曲開始位置の設定は秒単位でしか出来ず、せめてミリ秒単位にしたいため、一度ボリューム0で再生を開始し、0~100 ミリ秒(0.1 秒)までのランダムなウェイトをおいたあとでボリュームを戻すことで実現しています。
また、当初ボタンの並びは foobar2000 の ABX comparator プラグインを参考に「Aを試聴」「Bを試聴」「停止」「Xを試聴」「Yを試聴」だったのですが、これだと「X」と「Y」を交互に聴いてどちらが遅れるかを調べるだけで正答できてしまうため、「Yを試聴」を削除し、現在の「Xを試聴」「停止」「Aを試聴」「Bを試聴」の並びに変更しました。

運用でカバー

これらの変更で、ズレが結果に影響することはずいぶん少なくなったのではないかと思います。
しかしながら、いずれにしても根本的な解決はなされていないため、出音のみに注力して分かりやすいポイントを探し、そこのみを集中して相当回数繰り返し聴く、というような方法を意図的に行えば、音質とは無関係に正答できてしまう可能性は残っています。
ですので、まともな検査結果を求める場合、「出だしは意識せず、音質の違いに注意することを意識する。」「なるべくズレる要素の少ない組み合わせ(MP3 可変同士等)で検査する。」「全て同じ曲の同じ位置だけで判別したりせず、できれば一問終了毎に「ランダム」で位置を変更し、10問毎に曲を変更する。」といった「運用でカバー」的な方法も必要になるかと思います。

結果

で、今回の結果は…、一応、両者が違うという前提を持って二種類のみを集中的に聞き比べれば、無圧縮と 128kbps との区別はおぼろげながらも出来ているのかな?と、かろうじて考えられる程度の結果が出ました。
この後に無圧縮と 256kbps で試してみたところ見事に正解率 50% が出ましたので、おそらく「ズレが影響して好成績になれた」ということはないのではないか、と信じることにします。

■iTunes 9.0.1.8 でのABXテスト結果
[対象形式]
	・A:WAVE(1411kbps/44100Hz)
	・B:MP3-LAME(128kbps/44100Hz/-b 128 --noreplaygain)
[有効試行回数]
	・16回(全16回)
[正解率]
	・ 68.75%(11/16)
[χ2分布]
	・ 13.36%(11/16)
[試聴曲(末尾は再生回数)]
	・01.[Michael Jackson](Blood On The Dance Floor: HIStory In The Mix)08 2 Bad (Refugee Camp Mix)(74回)
	・02.[Michael Jackson](Blood On The Dance Floor: HIStory In The Mix)06 Scream Louder (Flyte Tyme Remix)(58回)
■回別正誤成績
[有効数(通算数).○×:正解率% χ2分布% 正/計]
	・01(01).○:100.00%  31.73% 01/01
	・02(02).×: 50.00% 100.00% 01/02
	・03(03).○: 66.67%  56.37% 02/03
	・04(04).○: 75.00%  31.73% 03/04
	・05(05).○: 80.00%  17.97% 04/05
	・06(06).○: 83.33%  10.25% 05/06
	・07(07).○: 85.71%   5.88% 06/07
	・08(08).○: 87.50%   3.39% 07/08
	・09(09).○: 88.89%   1.96% 08/09
	・10(10).×: 80.00%   5.78% 08/10
	・11(11).○: 81.82%   3.48% 09/11
	・12(12).×: 75.00%   8.33% 09/12
	・13(13).○: 76.92%   5.22% 10/13
	・14(14).×: 71.43%  10.88% 10/14
	・15(15).○: 73.33%   7.07% 11/15
	・16(16).×: 68.75%  13.36% 11/16
■解説
※正解率は高いほどよく、50%付近の場合は区別が出来ていないことになります。
50%を大きく下回る場合は区別が出来ていて操作を間違っている可能性があります。
※χ2分布は低いほど区別が出来ていることを示します。
統計学的には5%以下(より厳密な調査では1%以下)で区別が出来ているとみなすそうです。

iTunes 関連の自作スクリプト

関連記事

【同じタグを付けた記事の一覧】
自作ソフト DnspTools ポータブル 音楽管理 iTunes

スポンサーサイト

コメントの投稿

非公開コメント

最新記事
最新コメント
Amazonおまかせリンク
カテゴリ
タグクラウド
Amazonお買い得ウィジェット
カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
月別アーカイブ
プロフィール

電脳太助

Author:電脳太助
Website:電脳スピーチ web

RSSリンクの表示
メールフォーム

名前:
メール:
件名:
本文:

サイト内検索
Ads by Google
FC2アクセスランキング
Ads by Google
FC2拍手ランキング
ユーザータグ

音楽管理(66)
ポータブル(57)
ソフト紹介(44)
プログラミング(42)
音声技術(41)
自作ソフト(35)
サイト運営(32)
FC2(31)
ブログ(30)
iTunes(27)
Windows(25)
LISMO(24)
音声合成(23)
音声認識(22)
x-アプリ(22)
電子ブック(22)
eラーニング(20)
バックアップ(19)
語学学習(19)
foobar2000(18)
ソースコード(18)
WindowsLiveWriter(15)
画像管理(15)
C++(14)
アフィリエイト(10)
DnspTools(10)
fi-6130(9)
FLAC(9)
JavaScript(9)
ウォークマン(9)
英語音読学習計画(8)
Gracenote(8)
Prolog(8)
ベクター(8)
雑記(8)
CodeBlocks(7)
SyntaxHighlighter(7)
TraConv(7)
spcbght(7)
wxWidgets(7)
VirtualBox(6)
W63CA(6)
DCP-J552N(6)
WinRT(6)
WindowsLiveMesh(6)
iGoinLM(6)
英語発音矯正実験(6)
ExactAudioCopy(6)
MP3Gain(6)
LAME(5)
音楽技術(5)
Mery(5)
楽器演奏(5)
GalateaTalk(4)
nLite(4)
WindowsLiveSkyDrive(4)
ホームページ(4)
GalateaProject(4)
MIDI(4)
LLVM(4)
PC-98(3)
カウンター(3)
AACGain(3)
iTCDini(3)
OverCutChecker(3)
拍手(3)
PK-513L(3)
UniversalExtractor(3)
アクセスランキング(3)
ImageCompositeEditor(2)
アクセス解析(2)
OCR(2)
qtaacenc(2)
資格試験(1)
AquesTalk(1)
AquesCmdDl(1)

FC2アクセスランキング
最新トラックバック
アクセスランキング
[ジャンルランキング]
コンピュータ
126位
アクセスランキングを見る>>

[サブジャンルランキング]
ソフトウェア
13位
アクセスランキングを見る>>
FC2カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。