Open4

coal: AndroidのOpenSL ESはどうなってんのか問題

okuokuokuoku

OpenSL ESにも、OpenALやXAudio2のような3Dオーディオ機能が仕様上は存在する。 (I3DLocation)

が、結論から言うとこれは実装されていないようだ。

okuokuokuoku

LVM: NXP製のエフェクトフレームワーク

リバーブやEQ等のソフトウェア実装はLVMというコンポーネントに載っているようだ。OEMは自前のDSP実装に差し替える https://source.android.com/docs/core/audio/audio-effects こともできる。

LVMは https://android.googlesource.com/platform/frameworks/av/+/master/media/libeffects/lvm/ にあり、 https://android.googlesource.com/platform/frameworks/av/+/2c8e5cab3faa6d360e222b7a6c40a80083d021ac で導入されたようだ。

LVMはいくつかのエフェクトを実装しているものの、Pannerは無い。

okuokuokuoku

Androidの空間音響(Spatial Audio)

https://android-developers.googleblog.com/2023/04/delivering-immersive-sound-experience-with-spatial-audio.html

https://support.google.com/pixelphone/answer/12967594

Pixel6以降のAndroidは空間オーディオのサポートを含んでいる。が、これは 7.1.4 のようなチャンネルベースのオーディオを想定した仕組みで、オブジェクトのpannerは含んでいないようだ。Spatial Audio用のクラスは単に設定値のクエリだけ https://developer.android.com/reference/android/media/Spatializer ができる。

https://source.android.com/docs/core/audio/spatial

構成図でも、Mixerよりも後段にSpatializerがある。