AAudioを簡単に使う方法

 2022年4月~、Androidスマホアプリのプログラミングに着手し、年明けにGooglePlayにリリースできるところまで漕ぎつけた。この開発を通じて、サウンド系やシューティングゲーム系アプリを、Android系のスマホGooglePixelなど)で作る場合、AAudioというAPIが必須となることがわかった。いわずもがな、iOS系のスマホiPhoneでは不要だ。

 さて、AAudioとは、音の発音遅延を数十m秒レベルに短縮(低レイテンシ化ともいう)するものであり、(遅きに失した感はあるが)Androidバージョン8から導入された。これを使うにあたり、AAudioのテンプレートとでもいうサンプル(oboe)が公開され、これを下敷すれば、当方のようにアプリ系プログラム初挑戦者でも、低レイテンシのアプリが楽に作れてしまう。

 このコラムでは、これからAndroidに挑戦される方に向けて、AAudioの簡単な使い方をまとめた。基本マニュアルは、やはりGoogle純正のサイトを教科書にした方がよい。ここには、アプリ開発ツールであるAndroidStudioのダウンロードの仕方から始まり、GooglePlayにアプリをアップするまでの、一連の開発プロセスについて説明されている。もちろんAAudioの解説もある。

 それでは、以下に手順をまとめる。

AndroidStudioをダウンロードPC上にprojectフォルダを作成。【要注意】Cドライブ(システム領域)に作ってはダメだ。Dなど空領域の大きいドライブに作るべし!

gitHubからoboeを取得し、projectフォルダに置く。

oboe内のLiveEffectサンプルを利用。LiveEffectは、マイク入力→スピーカ出力を行うテンプレートなので、音声系の楽器アプリや、ボイスチェンジャーを開発するために格好のサンプルである。

AndroidStudioにおいて、ファイル→新規→インポート→oboeのファイル直下のsamples(ドロイドアイコン)を選択すると、自動でLiveEffectが展開される。

LiveEffect内のcppフォルダ内にある、「FullDuplexPass.h」というクラスファイルの46行目に、//do some arbitrary processingというコメントが記載された行があるが、これが「マイク入力ストリームを音量ダウンし、スピーカ出力ストリームに渡している部分」である。この「音量ダウン」の処理を、「あなたがやりたい変換処理C言語で記述)」に変更してやればよい。因みに、メイン処理(JAVAで記述)とのやり取りは、jni_bridge.cppjniという仕組み)で行う。・・・続く・・・

 

Youtube動画(https://youtu.be/mz9uJMkw5Kw)で実演しております。GooglePlay@スマホにて、30日間無料にてお試しできます!   

スマホがトランペットになった!

AAudio対応なので応答性良好)