Bluetooth 対応のイヤホンやヘッドホンならコードが気にならないので最強じゃん!と思ったけど、そうでもなかった…
こんにちは、makoto です!
みなさんもご存知の通り、最近は iPhone も Android スマホもイヤホンジャックを廃止するのが主流になっていて、充電口にアダプタで繋げるか、Bluetooth で接続するかの二択になっています。
イヤホンを挿しているとコードが気になるので、どうせなら Bluetooth イヤホンで音ゲーがやりたい!と思ったのですが、快適にプレイするにはいろいろ問題がありました…。
Bluetoothイヤホンで音ゲーをするときの問題点
言わずとも知られているかと思いますが、Bluetooth イヤホンで音ゲーをしようとすると必ず問題になるのが「遅延」です。音ズレとも言いますね。
流れてくる音楽が実際に再生されているタイミングよりも少し遅れてイヤホンに伝わってくる現象です。
無線で繋がっているので、現在の技術ではどうしても遅延が発生してしまいます。
これを解決する方法は二種類あると思います。
- タイミング調整機能で頑張る
- 遅延が少ない Bluetooth イヤホンにする
これらの解決方法について、もう少し詳しく見ていきましょう!
タイミング調整で解決する
まずは、手持ちの Bluetooth イヤホンでなんとかする方法を考えていきます。
音ゲーにはだいたいタイミング調整機能がついていると思います。-50~+50くらいでノーツが流れてくるスピードを変更できる機能ですね。
タイミング調整の方法
これは至って普通で、Bluetooth イヤホンを接続して通常通りタイミング調整機能を使うだけです。
音楽に合わせてタップすると自動で調整されます。
場合によっては全然調整できず、実際にテストプレイしてみて手動で調整する必要があることもあります。
問題点
これで音楽とノーツのタイミングは Bluetooth イヤホンが音楽を再生するタイミングに合わせることができます。
しかし、この方法だと問題点が二つあります。
1.タップ音の遅延
一つ目は、タップ音がずれることです。
ノーツをタップしたときに鳴る SE はタイミング調整に関係なくタップしたタイミングで鳴るものなので、調整できません。
タップ音の遅延が気になる場合は、SE をオフにするしかなさそうです。
有線とワイヤレスの切り替え
二つ目は、有線イヤホンと切り替えるのがめんどくさくなることです。
Bluetooth イヤホンに合わせたタイミングは本来のタイミングよりもノーツが遅く流れてきます。
Bluetooth イヤホンに流れてくる音楽が遅れているので、それに合わせてノーツも遅れるようにタイミングを調整したからです。
そのため、有線イヤホンにしたときは再びタイミング調整をする必要があります。
低遅延のBluetoothイヤホンを使う
もう一つの解決方法として考えられるのは、遅延が少ない Bluetooth イヤホンを購入するということです。
Bluetooth イヤホンには大きく二つの種類があります。首掛けタイプと左右分離タイプです。
左右分離タイプの Bluetooth イヤホンは、右側のイヤホンがスマホなどのデバイスに接続されていて、左側のイヤホンは右側のイヤホンから伝送されているものがよくありました。
この方式ではスマホから左側のイヤホンに音楽が伝わるまでに時間がかかるので遅延が大きくなっていたわけです。
そのため、最近の左右分離タイプの Bluetooth イヤホンは左右独立伝送のものが増えています。
例として挙げると、2019 年に大人気で爆売れしたソニーのワイヤレスノイズキャンセリングイヤホン WF-1000XM3 がそれに当たります。
また、Apple 製品であれば AirPods 第2世代以降も左右独立伝送らしいです。
左右分離タイプだけでなく、首掛けタイプやヘッドホンのように左右一体のものは両耳の間に遅延がほぼありません。
このようなイヤホン、ヘッドホンであれば遅延が少なくなるのでは!と少し期待しましたが、実はそれだけでは解決できません。
Bluetooth で接続する場合は、注意しなければならない落とし穴が三つあります。
- イヤホンの Bluetooth コーデック
- スマホの Bluetooth コーデック
- 接続に使用される Bluetooth コーデック
そもそも Bluetooth コーデックとは?というところから簡単に説明していきます。
Bluetooth コーデックとは
Bluetooth で機器を接続するときの規格(音声圧縮方式)です。
覚える必要はないですが、いくつか規格があって、それぞれで音質や伝送速度が異なります。
各コーデックと遅延を見ると以下のようになります。
コーデック | 遅延 |
---|---|
SBC | 220ms前後 |
AAC [CBR128kbps] | 120ms |
AAC [VBR] | 800ms前後 |
aptX | 70~80ms |
aptX Low Latency | ~40ms |
aptX HD | 130ms |
aptX Adaptive [VBR] | 50~100ms |
LDAC | 1,000ms前後 |
(参考:8vivid | がじぇっと部、はじめました、PHILE WEB)
これだけ見ると、aptX あたりが良さげに見えますね。実はサイトによって値が異なっていたり、同じコーデックでもスマホによって異なったりするので、どれだけ参考になるのかはわからないところです…。
ただ、少なくとも遅延の大きさを見たときには LDAC < AAC < SBC < aptX という関係は変わりありません。
一般的には AAC は SBC よりも遅延が少ないと思われているようですが、記事によると SBC のほうが AAC [VBR] (可変ビットレート) より遅延が少ないらしいです。ビットレートが固定か可変かの違いがそこに出ているんですね。
イヤホンとスマホの対応コーデック
Bluetooth イヤホンの遅延を抑える上で注意することは、イヤホンとスマホがどのコーデックに対応しているかということです。
私が持っているものでは、イヤホンが
- Soundcore Libery Lite (Anker): SBC/AAC
- MDR-1ABT (SONY): SBC/AAC/aptX/LDAC
で、スマホが
- XPERIA 1: SBC/AAC/aptX/aptX HD/LDAC
でした。
対応するコーデックは公式サイトや取扱説明書の「仕様」「Bluetooth対応プロファイル/コーデック」みたいなところに書いてあることが多いので、検索するときには参考にしてください。
実際に使用されるコーデック
遅延がコーデックに依存しているなら、実際に接続するときに使われるコーデックが遅延の少ないコーデックになるように、イヤホンとスマホの組み合わせを選べば良いということですね。
で、実際に使われるコーデックはどのように選択されるかというと、イヤホンとスマホがどちらも対応しているものの中で最上位のコーデックになります。
私の環境を例に上げると、Soundcore (SBC/AAC) + XPERIA 1 (SBC/AAC/aptX/aptX HD/LDAC) では AAC が選択されます。
この AAC がビットレート固定なのか可変なのかよくわかりませんが、より遅延が大きい可能性がある AAC が優先して接続されたようです。
また、MDR-1ABT (SBC/AAC/aptX/LDAC) + XPERIA 1 (SBC/AAC/aptX/aptX HD/LDAC) では LDAC が選択されます。
わかってもらえたでしょうか?ここで問題が発生しています。
二つ目の組み合わせでは低遅延の aptX が利用できるかと思いきや、一番遅い LDAC になってしまいます。
LDAC はハイレゾ相当の高音質が Bluetooth でも楽しめるというソニーの規格で、それはそれで素晴らしいのですが音ゲー向きとは言えません。
Bluetoothコーデックを選択する
インターネット上の記事では、この問題を解決するために Android スマホに搭載されている「開発者オプション」機能を使用して Bluetooth コーデックを選択する方法を紹介しています。
が、これは正しくない可能性もあると思っています。なぜなら、私の環境で試したものの全然遅延がなくならなかったからです。
設定で aptX を選択していますが、実際に使われているのは LDAC のようでした。
それを裏付けるように、通知にも LDAC 接続と出ています(LDAC 対応機器が接続されているときに接続コーデックに依らずに表示される可能性も十分考えられる)。
XPERIA は LDAC 接続されているときに音質を優先するかどうかという設定ができるようになっています。伝送速度が遅かったり電波状況が悪かったりして音飛びが発生するときに設定を変更できるようになっているんです。
念の為、音ゲーをプレイして試してもいますが、やはり LDAC っぽいです。Soundcore Liberty Lite 以上に遅延が大きくなっているのが明らかにわかります。
結局、開発者オプションで選択しても Bluetooth コーデックは切り替わっていないようです。
aptX対応製品が吉?
以上を踏まえると、遅延が少なくなるようにイヤホンを選ぶためには、最も良いコーデックがaptXのものを選ぶ必要がありそうです。
Bluetoothコーデックが変更できれば、対応しているイヤホンなら何でもいいですが、最上位のコーデックがaptXのものに限られるとなるとちょっと微妙なのではと思ってしまいます。
(追記)後日、aptX対応ワイヤレスイヤホンで遅延具合を検証してみました!
最後に
ワイヤレス環境で低遅延で音ゲーをプレイするためには、SE を消してタイミング調整するか、最上位コーデックが aptX のイヤホンを選ぶ、という結論に至りました。
Bluetooth コーデックの変更方法は他にないんでしょうか?
昔から思っていますが、音の話って難しいですね。
最後まで読んでいただき、ありがとうございました!