所有機器のオーディオレイテンシ 随時更新 (Pixel 8aを追加)

※当サイトは収益化の手段としてGoogle AdsenseやAmazon アソシエイトなどの各種アフィリエイト広告を利用しています。

測定の方法

SuperpoweredのAudio Latency Test Appを使用している。原理は単純で本体スピーカーから音声を出力し、本体マイクから音声を拾うまでのタイムラグを取得するもの。

TWSやヘッドホンでは十分な音量が取れずにスマートフォンやタブレットのマイクできちんと音を拾えない場合があり、大きなズレが発生してしまうことがあるので数回試行して結果の良いものの数字を掲載している。

ソースはテキストではなくスクリーンショットで取得しているが一枚一枚貼るのは面倒なのでZipファイルでまとめたもののGoogle ドライブへのリンクをページ下部に掲載しておく。

数字の見方

掲載している数字はオーディオ出力の単命令から実際に音声が出力されるまでのレイテンシなので、タッチサンプルレートやディスプレイの応答速度、描画遅延は考慮されていない。半導体製品は製造ばらつき、取っている電圧、温度条件などでも遅延が発生するため、本来はより厳密に条件を合わせた状態で測定することが望ましいものだが、そこまで厳密にやっていないので絶対の数値と取らないで欲しい。

また、実際のオーディオ出力までにはアプリケーション側で音声にエフェクトをかけたり、ミキサーでまとめる必要があるため遅延は更に肥大化する。「Apple製品には音声遅延がない」という言説をネットコミュニティで拝見する場合があるが、iPhoneやiPadであっても普通にスピーカーから音を出すだけで20ms台の遅延は発生し、ユースケース次第では数百ms程度の遅延が発生する場合がある。

若干古いが、AV.Watchに掲載されているCRI・ミドルウェアのSonicSYNCの解説記事が分かりやすいと思うので、是非読んでみて欲しい。ここでは深く解説しない。

記事中でGoogleのPixelシリーズで遅延が小さいことに触れられているが、これはバッファサイズ(サンプル数)の影響が大きい。

ちなみに、音は空気中を340m/秒ほどで進む。本来、楽器を鳴らしてから音が耳に届くまでも微細なタイムラグは存在するため、どんなに遅延を極限まで減らしたとしても1~2ms程度の遅延は存在するほうが現実の条件に近いということになる。

AAudioとは

Android 8.0(Oreo)で実装された低レイテンシが要求されるアプリケーション向けのオーディオ API。C++で呼び出すことが出来、つまりNDKで実装されるゲームアプリやシンセサイザーアプリなどで採用されている。

昔に比べればだいぶデベロッパーの認知も進んで使用されるようになってきたが、製作が古かったり、非NDKのアプリでは使用されていない。そういった環境ではやはりAndroid固有の遅延は存在すると言える。

一応、アプリケーションにC++コードが含まれているかはCPU Info (Google Play)のようなアプリで簡単に確認出来る。

USB デジタル オーディオのレイテンシ

基本的にUSB デジタル オーディオは再送を考えず、レート変換を行わないアイソクロナス転送を利用しているため、どのシステムソフトウェア環境でもほとんどレイテンシが発生しません。およそ2.5ms程度がUSB デジタル オーディオのオーバーヘッドであると考えられます。

DACのレイテンシ

デジタル/アナログ変換を行うDACチップもその素性によっては大幅な遅延を発生させます。単純に極めて安価で性能の低いチップも存在しますし、比較的高額な製品でもフィルターを挿入、つまり音の味付けを行った結果遅延が発生してしまうものも存在します。こういったDAC製品をオーディオマニアの方は音の立ち上がりが悪い/歪んでいるとか言うようです。

ラウンドトリップ レイテンシ

Pixel 6a

  • 本体スピーカー 67ms
  • 本体スピーカー(AAudio) 22ms
  • Google USB-C - 3.5 mm アダプター + Final E500(有線イヤホン) AAudio 16ms
  • Ecola (ダイソーで購入) USB-C Adapter + Final E500 AAudio 51ms

本体にイヤホンジャックが存在せず、DAC搭載のアダプターが必要となる。アダプター側の素性によっては遅延が相当に増大する。百均などでもDAC搭載アダプターは購入できるのだが、本来はAppleかGoogleの純正アダプターを使用するほうが望ましい。現在はApple純正のUSB-C - 3.5mm アダプターのほうが安価に購入できるはずだ。

Pixel Tablet

  • 本体スピーカー 66ms
  • スピーカードック 127ms
  • 本体スピーカー(AAudio) 22ms
  • スピーカードック(AAudio) 27ms

どうも内部的にはUSB ドッキングステーションとして扱われているようだが、スピーカードック接続時には若干遅延が増大する。スピーカードック接続時のみ空間オーディオに対応しており、空間オーディオ再生時はバーチャライザーのデコードのために遅延がさらに増大する可能性もある。

Pixel 5a

  • 本体スピーカー(AAudio) 26ms

Pixel 8a

  • 本体スピーカー 61ms
  • 本体スピーカー(AAudio) 18ms
  • Google USB-C - 3.5 mm アダプター + Final E500(有線イヤホン) AAudio 14ms

Pixel 6aやTabletより若干遅延が低減されている。CPUのシングルスレッド性能向上の恩恵と思われる。

on TWS

Pixel Buds Pro (Bestechnic LBRT 左右同時伝送)

  • Pixel 6a + Pixel Buds Pro AAC接続(AAudio) 312ms
  • Pixel Tablet + Pixel Buds Pro AAC接続 366ms
  • Pixel 8a + Pixel Buds Pro AAC接続(AAudio) 312ms

Creative Zen Air Pro (Airoha MCSync 左右同時およびLEAudio 左右独立)

  • Pixel 6a + Creative Zen Air Pro AAC接続(AAudio) 231ms
  • Pixel Tablet + Creative Zen Air Pro AAC接続(AAudio) 239ms
  • Pixel Tablet + Creative Zen Air Pro LC3接続(AAudio) 195ms
  • Pixel 8a + Creative Zen Air Pro AAC接続(AAudio) 232ms
  • Pixel Tablet + Creative Zen Air Pro LC3接続(AAudio) 160ms

計測が困難なレベルでPixel 8aのハードウェア オフロードが全く安定しないのでソフトウェア オフロードで接続して計測した。

SOUNDPEATS GoFree2 (チップセット不詳) いずれもPixel 6aでの計測

  • LDAC(ベストエフォート):495ms
  • LDAC(ベストエフォート) + ゲームモード:429ms
  • AAC:253ms
  • AAC + ゲームモード:201ms
  • SBC:216ms
  • SBC + ゲームモード:106ms