--- title: GPT Voice Avatar Test emoji: 🎙️ colorFrom: indigo colorTo: purple sdk: docker app_port: 7860 pinned: false --- # ChatGPT Live Avatar Test ChatGPT音声モードのタブ映像・タブ音声をブラウザの画面共有で取得し、Anime2.5DRigをオーバーレイして音量ベースの口パクを検証するHugging Face Docker Space用MVPです。 ## Spaceへの配置 対象Space: - リポジトリ: `https://huggingface.co/spaces/mcuo/GPT-Voice` - 実行アプリ: `https://mcuo-gpt-voice.hf.space` このリポジトリの内容をDocker Spaceへ配置します。Anime2.5DRig一式はSpaceリポジトリ内の次の場所へ配置してください。 ```text data/Anime2.5DRig/index.html data/Anime2.5DRig/lib/ag-psd.min.js data/Anime2.5DRig/lib/rigger.js data/Anime2.5DRig/lib/genericparts.js ``` Dockerビルド時にこのディレクトリは `/app/data/Anime2.5DRig` へコピーされ、アプリから `/Anime2.5DRig/` として配信されます。つまり実行中アプリでのURLは次です。 ```text https://mcuo-gpt-voice.hf.space/Anime2.5DRig/ https://mcuo-gpt-voice.hf.space/Anime2.5DRig/sample.psd ``` `https://huggingface.co/spaces/mcuo/GPT-Voice/data/Anime2.5DRig` はSpaceリポジトリを閲覧するための場所であり、実行アプリの静的ファイルURLではありません。 Persistent Storageの `/data/Anime2.5DRig` を使う場合は、Spaceの環境変数を `ANIME_RIG_DIR=/data/Anime2.5DRig` に設定します。 `data/Anime2.5DRig` がまだSpaceリポジトリに存在しない場合も、Dockerビルド中に空ディレクトリを作るためビルドは成功します。その場合、アプリは「Anime2.5DRig未配置」と表示し、タブ音声の検証だけ利用できます。 ## 操作 1. Spaceをデスクトップ版Chromium系ブラウザで開く。 2. 別タブでChatGPT音声モードを開始する。 3. Spaceの「ChatGPTタブを共有」を押す。 4. ChatGPTタブを選び、「タブの音声を共有」を有効にする。 5. ChatGPTに応答させ、「音声トラック」と「推定口開度」を確認する。 6. Anime2.5DRigでPSDを読み込み、AI応答中に口が動くか確認する。 画面共有の許可はブラウザの仕様上、ユーザーが毎回選択する必要があります。共有映像と音声はサーバーへアップロードせず、ブラウザ内だけで処理します。 ## ローカル確認 ```powershell $env:ANIME_RIG_DIR = "F:\path\to\Anime2.5DRig" uvicorn app.main:app --host 127.0.0.1 --port 7860 ``` `http://127.0.0.1:7860/healthz` が `{"ok":true}` を返せばサーバーは起動しています。 ## 現段階の制約 - 口開度入力の検出はAnime2.5DRigの現在の日本語UI(「口」「開き」)を手掛かりにしているため、Anime2.5DRig側に明示的な外部制御APIを追加するのが次の改善点です。 - 初期検証は音量ベースで、母音別のvisemeには対応しません。 - モバイルブラウザとウィンドウ全体のシステム音声共有は対象外です。