何を試しているか

VRM アバターを Electron デスクトップアプリとして常駐させ、マイク入力 + デスクトップ音声を同時に拾い、Gemini Live API のネイティブマルチモーダル経路で双方向音声対話する試作。アバターの表情アニメーションと音声応答を同期させ、「アバターと一緒に同じコンテンツを観ている」実装を狙う。

途中経過

  • VOICEVOX 経由のパイプラインから Gemini Live API ネイティブ音声(A2A)に全面移行
  • AudioWorklet ベースのマイク入力、16 kHz PCM へのリサンプリング、IPC 経由でメインプロセスへ受け渡し
  • Live Mode 中の VAD ガード実装(ユーザー発話検出時は AI 出力をしぼる)
  • デスクトップ音声 → Gemini への到達は確認済み(input transcription で確認)

残課題

  • Gemini が デスクトップ音声に自発的に応答しない 挙動の根本解決
  • Electron renderer 側の appendChild null エラーの根本原因調査
  • VAD 感度 / ターン検出の最適化

用語解説

VRM とは

VRM の定義は用語集に整理しています。本試作では VRM 1.0 のアバターをデスクトップ常駐で動作させています。

Electron とは

Electron とは、HTML / CSS / JavaScript の Web 技術でクロスプラットフォームのデスクトップアプリを構築できるオープンソースフレームワークです。Chromium ベースのレンダラーと Node.js を統合し、Windows / macOS / Linux で動作する単一バイナリを生成できます。本試作では VRM アバターのデスクトップ常駐表示と OS 音声 API へのアクセスを Electron 上で実装しています。

位置づけ

イベント会場で YouTube 等のコンテンツをアバターと 同時視聴 するリアルタイム体験の足場として開発中。製品化計画は未確定で、本試作の知見は AI-Kata 系プロダクトの音声対話設計に還流させる想定。