2026.09.02 16:20 ~ 17:00 Otter

Androidに声を与える: リアルタイムエージェントの構築

Androidプラットフォーム English 通訳あり

ほとんどのAndroid音声実装は、タップして、話して、待って、応答するというターン制のままです。本セッションでは、そのパラダイムを打破し、コマンド実行というよりも人間の会話に近い、聞き、考え、話すことを同時に行うリアルタイムで継続的に対話可能な音声エージェントをAndroid上で構築する方法を紹介します。 Jetpack Composeと継続的な音声キャプチャのためのフォアグラウンドサービスで構築されたプロダクションレベルのアーキテクチャを説明し、ストリーミングSpeech-to-Text、LLM、低遅延Text-to-Speechを統合します。クラウドとオンデバイスの両方のアプローチを扱い、レイテンシ、コスト、プライバシーに関する率直なトレードオフについて解説します。 レイテンシは音声システムにおける唯一最大の設計上の制約です。そのため、レイテンシがどこに潜んでいるのか(音声バッファサイズ、エンドポイント検出のチューニング、ネットワークジッター、トークンストリーミング戦略、再生キュー管理など)に焦点を当てます。参加者は、自身のアーキテクチャに適用できるレイテンシプロファイリングフレームワークと段階ごとの具体的なバジェットを持ち帰ることができます。また、普段は見過ごされがちな難しい問題(バージイン、エコーキャンセレーション、スムーズな割り込み)にも取り組みます。 音声エージェントには音声ネイティブなUIが必要です。そのため、マイクの振幅、LLMの処理状態、TTS再生にリアルタイムで反応するアニメーションオーブという、Jetpack Composeによるオーディオリアクティブビジュアルライザーを構築し、ユーザーに全複信会話の継続的な感覚を提供します。ユーザーはビジュアルライザーと従来のスクロール可能な文字起こし表示を切り替えることができます。 また、本番環境向けにパイプラインを保護する方法(Android Keystoreによるシークレット管理、暗号化されたSharedPreferences、サーバーサイドプロキシなど)についても説明します。ハードコードされたキーがそのまま出荷されてしまうケースは、誰もが認める以上に頻繁に発生しているためです。 まとめのデモとして、すべての要素を統合した完全な音声インターフェースを構築します。参加者は、直接活用できる動作可能なプロダクションレベルのリファレンスコードを入手できます。本セッションでは、これらの構成要素をOpen Clawのエージェントパイプラインに統合する方法についても探ります。 最後には、オーディオパイプラインからアニメーションUI、安全なデプロイに至るまで、Androidでリアルタイム音声エージェントを設計・リリースする方法が理解できるようになります。 (DroidKaigi実行委員会による翻訳)

対象者

リアルタイムな音声インターフェースを構築したい、Kotlin と Jetpack Compose に馴染みのある Android エンジニア。フォアグラウンドサービスやオーディオ API の知識があると望ましいですが、必須ではありません。

同じ時間帯のセッション

すべてのセッションを見る