概要
- Parlor は端末上で動作するリアルタイム多モーダルAI
- 音声・映像でAIと自然な会話が可能、全てローカル処理
- Gemma 4 E2B で音声・映像理解、 Kokoro でTTSを実現
- 英語学習者向けに無料で提供、サーバーコスト不要
- Apple Silicon やGPU搭載Linuxで動作、数秒の応答速度
Parlor:オンデバイス・リアルタイム多モーダルAIの概要
- Parlor は、端末上で完全に動作するリアルタイム多モーダルAIシステム
- 音声とカメラ映像を使い、AIと自然な会話体験を実現
- Gemma 4 E2B (Google DeepMind)を利用した音声・画像理解
- Kokoro TTS (Hexgrad製)による高品質なテキスト読み上げ
- 全ての処理がローカルで完結、音声・映像データの外部送信不要
主な特徴とユースケース
- ブラウザからマイク・カメラを利用した 音声・映像入力
- WebSocket 経由で音声(PCM)・画像(JPEG)をサーバーに送信
- サーバー側で 音声認識+画像理解→応答生成→TTS までを高速処理
- ブラウザで 音声再生+書き起こし が可能
- Silero VAD による音声活動検出、ハンズフリー会話体験
- バージイン (話の途中で割り込み可能)、 ストリーミングTTS で即時応答
技術仕様・要件
- Python 3.12+、 Apple Silicon搭載macOS または GPU対応Linux
- モデル動作用に 約3GBの空きRAM が必要
- Gemma 4 E2B (約2.6GB)、TTSモデルは初回自動ダウンロード
- M3 Pro での応答速度:音声+映像理解1.8-2.2秒、応答生成0.3秒、TTS0.3-0.7秒、合計2.5-3.0秒
- デコード速度 :GPU(Apple M3 Pro)で毎秒約83トークン
クイックスタート手順
- GitHubリポジトリ をクローン
git clone https://github.com/fikrikarim/parlor.gitcd parlor
- uv のインストール(未導入の場合)
curl -LsSf https://astral.sh/uv/install.sh | sh
- 依存関係の同期とサーバー起動
cd srcuv syncuv run server.py
- ブラウザで
http://localhost:8000を開き、カメラ・マイクのアクセスを許可して会話開始 - モデルは初回起動時に自動ダウンロード
プロジェクト構成
src/server.py:FastAPI WebSocketサーバー+Gemma 4推論tts.py:プラットフォーム別TTS(MLX for Mac、ONNX for Linux)index.html:フロントエンドUI(VAD、カメラ、音声再生)pyproject.toml:依存関係管理benchmarks/bench.py:エンドツーエンドWebSocketベンチマークbenchmark_tts.py:TTSバックエンド比較
ライセンス・謝辞
- Apache 2.0ライセンス で公開
- モデル・技術協力
- Gemma 4 by Google DeepMind
- LiteRT-LM by Google AI Edge
- Kokoro TTS by Hexgrad
- Silero VAD for browser voice activity detection
今後の展望と意義
- 端末上で全て完結するため サーバーコスト不要
- 数年前まで高性能GPUが必須だった処理が、 M3 Pro など一般的な端末で実現可能に
- 語学学習者が自宅やモバイル端末で 安全・プライベートな会話AI を利用可能
- 多言語対応 で母語への切替も容易
- 今後、スマートフォン単体でのリアルタイム動作も視野