何を試しているか
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 側の
appendChildnull エラーの根本原因調査 - 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 系プロダクトの音声対話設計に還流させる想定。