Oculus QuestのUSBポートからは音声出力ができなかった

タイトルに関連した情報がほしい場合、下から読むことをおすすめします。

去年の秋ごろにOculus Questを入手していたのだけれど、部屋が狭いこともあって放置気味だった。このままだと購入額に対して精神的に元が取れないなあと思っていたけれど、引っ越しに伴って部屋が広くなったり、この状況下で部屋から出る機会が減ったりして、Oculus Questを満喫するのに理想的な環境が整ってきた。そろそろ楽しめるかもしれないと思って取り出した日以来、ほぼ毎日あちらの世界で遊んでいる。もっとも、実際は外出を控える世の動きがあろうがなかろうが休日はだいたい部屋にいる。

楽しい

VRといえばBeat Saber という印象があったので、本体の購入と同時に購入はしていた。ただ、前に住んでいた家は広さに余裕がなく、初っ端に手の甲を壁にぶつけた思い出がある。以降は恐る恐る遊ぶことしかできず、あまり楽しめていなかった。

久しぶりに起動してみると、本体のアップデートがいくつも降ってきていた。もともと単体で動作する点が魅力だったOculus Questではあるけど、有線接続したパソコンのVRコンテンツを扱える機能が増えていたり、べータ版ではあるけれどコントローラなしの素手で操作できる機能が使えるようになったり、ちょっと目を離した隙にいろいろと便利になっていて、Oculus社というかFacebookというか、そのあたりのQuestへの熱を感じた。
ソフトそのものについては、ネット上に散々レビューがある通り、とても楽しい。それなりに身体を動かすので、下手をすれば普段通りに外出していた頃よりも1日あたりの運動量が多いかもしれない。

無線で遊びたい

他の機種と比較したOculus Questの魅力として、PCがなくても単体で動作する点が挙げられると思う。自分にとっては、そのおかげでGPUを搭載したマシンを持っていなくても遊べることが購入の決め手になった。とりあえずイヤホンを接続してBeat Saberを遊んでみたけど、イヤホンのタッチノイズが耳障りなのと、単にプラプラして邪魔だった。発売当初はサポートされていなかったBluetoothイヤホンも途中のアップデートで対応しているらしいけど、Beat Saberはいわゆる音ゲーなので、何も考えずに接続すると遅延でプレイに支障が出る。

こういう場合は低遅延なコーデックであるaptX-LLで接続するのが順当だろうなあと思って、Qualcommのサイト で対応製品を眺めてみた。どうせならaptX-LLに対応した完全ワイヤレスイヤホンが欲しいなあと思ったら、現時点では2機種しか存在しないらしい。
aptX(-LL)の恩恵をうけるためには、送信側も受信側もこの規格に対応している必要がある。イヤホンはなんとかなるとして、送信側をなんとかしないといけない。こちらのブログ記事 によれば、Oculus GoだとUSB端子から音声出力ができるらしい。じゃあQuestでも使えるだろうと思って手持ちのType-C to Type-AアダプタとBT-W2を接続してみると、本体から何かを認識したであろう電子音が鳴る。これは大丈夫だと思ってBT-W2とペアリングしてあるイヤホンを接続してみると、本体から音が出ている。困った。

追求

Oculus QuestのOSはAndroidなので、APKファイルからアプリを放り込んでやればだいたいのものは動く。Google Playを漁っていたら、イヤホンなどを接続した時の音声出力先の挙動をソフトウェアで上書きする、Lesser AudioSwitch というアプリを見つけた。これを、Bluetoothデバイスのペアリングが公式にサポートされる前に投稿されていたシステム設定を開くRedditのネタ を参考にインストールしてみた。このアプリはUSB接続した音声デバイスにも対応していたので、とりあえず常時USBデバイスで音声出力を行うように設定してみたけれど、相変わらずイヤホンからは音声が出力されない。USBデバイスを接続しても本体から出力されていたさっきとは違って、今回は音量を上げてもどこからも音が出ない。おそらく、アプリ側は正常に制御できていて、システム側がUSBデバイスへの音声出力を塞いでいる。

このアプリにはデバッグ機能があって、そのシステムで使用可能な音声の出力先を一覧表示できる。同じ条件で手持ちのOnePlus 5Tと見比べると、やはりOculus Questでは使用不能となっている。より安価なOculus Goでは利用可能であることを考えると、ハードウェアの問題ではなく、なんらかの理由でソフトウェアで制限されているらしい。他にも、イーサネット接続ができなくて嘆いている人 とかもいておもしろい。

/images/2020-05/2020-05-12-oculus.png
Oculus Quest
/images/2020-05/2020-05-12-op5t.jpeg
OnePlus 5T

対応

もう少し掘ってみると解決策が見つかるかも知れないけど、とりあえずこの人 に倣ってイヤホン端子に接続するタイプのトランスミッターを使おうと思っている。件のUSBドングルが使えれば、トランスミッター側の充電を気にしなくていいし、よりコンパクトにまとまって嬉しいけど、しょうがない。

その他

最近はScrapboxに箇条書きばかりしていたので、句読点や接続詞のある文章の書き方をすっかり忘れてしまった。今回の件についてもざっくりとScrapboxに書いている。