afnf.net

MDR-EX31BNでapt-XとSBCを比較する

MDR-EX31BN apt-X SBC Bluetooth Android 2015/06/28 17:58

BluetoothヘッドホンのMDR-EX31BNを使って、apt-XとSBCのスペクトル分析を行いました。

方法

AndroidスマートフォンのLGL22とWX04SHを使いました。

各スマートフォンとMDR-EX31BNをBluetoothで接続し、MDR-EX31BNをPCのLineInに繋げて48kHzで録音しました。

20150628_devices

※MDR-EX31BNに変なものが付いてますが、それはまた今度w

使用したA2DPコーデックは、apt-XとSBCです。MDR-EX31BNには音質優先モードと接続優先モード(低音質)がありますので、それらも比較しました。

また比較対象として、スマートフォンとLineIn直結して録音した音声もスペクトル分析しました。

サンプルは前回と同じく、loop022.wavです(©bebeto 2006 CCライセンス)。

このWaveファイルをそのまま再生した場合と、AAC 111kbpsでエンコードしたファイルを再生した場合も比較しました。

なお再生アプリはGoogle Musicを使用しています。イコライザはもちろんオフです。

結果

スペクトル分析

スペクトル画像の比較ページを用意しました。

http://blog.afnf.net/blog_20150628/24k/_apt-x_vs_sbc.html (0kHz-24kHz)

http://blog.afnf.net/blog_20150628/3k/_apt-x_vs_sbc.html (0kHz-3kHzのみを表示)

生のWaveデータをここに置きました。47MBです。

音質優先モードと接続優先モードについて

これはRstream-A1で調べたのですが、音質優先モードのbitpool値は53(おそらく325kbps付近)でした。

06-28 15:56:09.250  1214  2650 W A2DP : bluetooth_configure
06-28 15:56:09.260  1214  2650 W A2DP : Received BT_RESPONSE - BT_GET_CAPABILITIES
06-28 15:56:09.260  1214  2650 W A2DP : Received BT_RESPONSE - BT_OPEN
06-28 15:56:09.260  1214  2650 W A2DP : bluetooth_a2dp_hw_params sending configuration:
06-28 15:56:09.260  1214  2650 W A2DP :     channel_mode: JOINT STEREO
06-28 15:56:09.260  1214  2650 W A2DP :     frequency: 44100
06-28 15:56:09.260  1214  2650 W A2DP :     allocation_method: LOUDNESS
06-28 15:56:09.260  1214  2650 W A2DP :     subbands: 8
06-28 15:56:09.260  1214  2650 W A2DP :     block_length: 16
06-28 15:56:09.260  1214  2650 W A2DP :     min_bitpool: 2
06-28 15:56:09.260  1214  2650 W A2DP :     max_bitpool: 53
06-28 15:56:09.260  1214  2650 W A2DP : Received BT_RESPONSE - BT_SET_CONFIGURATION
06-28 15:56:09.260  1214  2650 W A2DP : MTU: 895 -- SCMS-T Enabled: 3329
06-28 15:56:09.260  1214  2650 W A2DP : frame_duration: 2902 us
06-28 15:56:09.260  1214  2650 W A2DP :     allocation=0
06-28 15:56:09.260  1214  2650 W A2DP :     subbands=1
06-28 15:56:09.260  1214  2650 W A2DP :     blocks=3
06-28 15:56:09.260  1214  2650 W A2DP :     bitpool=53
06-28 15:56:09.260  1214  2650 W A2DP : bluetooth_start
06-28 15:56:09.300  1214  2650 W A2DP : Received BT_RESPONSE - BT_START_STREAM
06-28 15:56:09.300  1214  2650 W A2DP : Received BT_RESPONSE - BT_NEW_STREAM

接続優先モードのbitpool値は35(おそらく225kbps付近)でした。

06-28 15:54:33.770  1214  2317 W A2DP : bluetooth_configure
06-28 15:54:33.800  1214  2317 W A2DP : Received BT_RESPONSE - BT_GET_CAPABILITIES
06-28 15:54:33.800  1214  2317 W A2DP : Received BT_RESPONSE - BT_OPEN
06-28 15:54:33.800  1214  2317 W A2DP : bluetooth_a2dp_hw_params sending configuration:
06-28 15:54:33.800  1214  2317 W A2DP :     channel_mode: JOINT STEREO
06-28 15:54:33.800  1214  2317 W A2DP :     frequency: 44100
06-28 15:54:33.800  1214  2317 W A2DP :     allocation_method: LOUDNESS
06-28 15:54:33.800  1214  2317 W A2DP :     subbands: 8
06-28 15:54:33.800  1214  2317 W A2DP :     block_length: 16
06-28 15:54:33.800  1214  2317 W A2DP :     min_bitpool: 2
06-28 15:54:33.800  1214  2317 W A2DP :     max_bitpool: 35
06-28 15:54:33.800  1214  2317 W A2DP : Received BT_RESPONSE - BT_SET_CONFIGURATION
06-28 15:54:33.800  1214  2317 W A2DP : MTU: 895 -- SCMS-T Enabled: 3329
06-28 15:54:33.800  1214  2317 W A2DP : frame_duration: 2902 us
06-28 15:54:33.800  1214  2317 W A2DP :     allocation=0
06-28 15:54:33.800  1214  2317 W A2DP :     subbands=1
06-28 15:54:33.800  1214  2317 W A2DP :     blocks=3
06-28 15:54:33.800  1214  2317 W A2DP :     bitpool=35
06-28 15:54:33.800  1214  2317 W A2DP : bluetooth_start
06-28 15:54:33.910  1214  2317 W A2DP : Received BT_RESPONSE - BT_START_STREAM
06-28 15:54:33.910  1214  2317 W A2DP : Received BT_RESPONSE - BT_NEW_STREAM

考察

LGL22がなんかおかしい

24kHz版のLGL22 AACを見るとすぐ分かると思いますが、特にLineInで、オリジナルよりも高い周波数が出てしまっています。おそらく、高域補間がされているのだと思います。

さらにひどい例が以下です。以下のスペクトルは、LGL22においてMP3 96kbps(15kHzのローパスフィルタが適用される)を再生してLineIn録音したものです。

lgl22_line_mp3_96kbps.WAV

本来なら15kHz以上にパターンが出てはいけないのですが、LGL22の場合、15kHz~17kHzでパターンが消え、17kHz以降でパターンが復活しています。

LGL22の結果を見る場合は、高域補間がなされていることも考慮する必要があります。

apt-Xも高域補間される?

24kHz版のWX04SH AACの結果が分かりやすいので、以下に抜粋します。

20150628_sp1

オリジナルは17kHzでローパスフィルタがかかっていますが、apt-Xは20kHz付近まで伸びています。SBCは割合忠実です。

SBCのノイズ

スマートフォンによって若干違うのですが、下図青枠で囲ったとおり、SBCの5.5kHz~6kHzにノイズが乗っています。

20150628_sp2

前回調べたsbcenc/sbcdecコマンドでも同様だったので、コーデックに問題があるのかもしれません。

結論

色々書いたのですが、私が聞き分けられたのはSBC-HiとSBC-Lowの違いだけでした。

生のWaveデータをダウンロードして聞いてみて下さい。

MDR-EX31BN apt-X SBC Bluetooth Android 2015/06/28 17:58
comments (0)

blog-java2 engine (build:2017-08-10 17:37 JST)