高性能オーディオ

高性能オーディオ アプリには、単に音を再生したり記録したりする以上の機能が求められます。 このようなアプリには、応答性の良いリアルタイム システム動作が必要です。 一般的なユースケースを以下に示します。

  • デジタル オーディオ ワークステーション
  • シンセサイザー
  • ドラムマシン
  • ミュージック ラーニング アプリ
  • カラオケアプリ
  • DJ ミキシング
  • オーディオ エフェクト
  • ビデオ / オーディオ会議

このセクションでは、オーディオ レイテンシを最小化する一般原則について説明します。 また、最適なサンプルレートを選択できるようにオーディオのサンプリングに関するアドバイスを示し、浮動小数点数を使用してオーディオ データを表す際の長所と短所について考えます。

さらに、高性能オーディオ アプリの作成に使用可能な 2 つのライブラリについても説明します。

  • OpenSL ES は、Khronos Group が策定した OpenSL ES™ API 仕様の Android 固有の実装です。
  • AAudio は、OpenSL ES ライブラリの軽量でネイティブな Android 代替品として開発されました。 AAudio API は OpenSL ES より小型で使いやすくなっています。

I/O 2017 Best practices for Android audio session で、 高性能オーディオ アプリの開発に関する技術的およびビジネス上のベスト プラクティスを参照することもできます。