「AAudio」がもたらすものとは
遅延大幅減で “音ゲー” も増える? 次期「Android O」で大きく変わるオーディオ環境
■AAudioは低レイテンシーの鍵
AAudioは、これらの問題を解消すべく用意された。AAudioがサポートされるAndroid Oであれば、そしてAAudioに対応するアプリであれば、低遅延のサウンド環境を統一的に(特定の端末を意識せず1つのアプリで)実現できるようになるのだ。なお、iOSのサウンドシステム「Core Audio」は当初から低遅延がウリであり、楽器アプリや音ゲーが豊富に存在する理由もそこにある。
レイテンシーの大小は、ユーザからの反応を必要としないオーディオ再生(ファイル/ストリーミング再生)に直接影響しないが、それでもレイテンシーが小さいに越したことはなく、音質追求にあたっての"基礎体力"と捉えることもできる。ここまでアプリの例として楽器アプリや音ゲーを挙げてきたが、よりシビアなレイテンシー性能を求められるVRアプリが今後増えることを思えば、オーディオビジュアル目線でもおざなりにはできない部分だ。
AAudioにはデータの読み書きにストリームを利用するという特長もある。1つのオーディオデバイスにつき1つのストリームが用意され、それに対し再生・停止などの指示を下すことでサウンド出力が行われるのだ。複数のストリームを同一のデバイスに出力することもできるが、1つのプロセスにより排他的に使うこともできる。その場合、より低いレイテンシーを実現できるという。
ただし、AAudioにはファイルを直接読み書きする機能(File I/O)はなく、圧縮/符合化されたオーディオフォーマットを展開/復号化する機能もない。オーディオフォーマットが2種類のPCM("AAUDIO__FORMAT_PCM_I16"と"AAUDIO_FORMAT_PCM_FLOAT")しかサポートされないこともあり、Hi-Fiオーディオ再生を意図したアプリには活用しにくい。前述したとおり、楽器アプリや音ゲー、そしてVRアプリで本領を発揮するプリミティブなオーディオAPIと考えたほうがいい。