metadata
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リポジトリ内の次の場所へ配置してください。
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は次です。
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未配置」と表示し、タブ音声の検証だけ利用できます。
操作
- Spaceをデスクトップ版Chromium系ブラウザで開く。
- 別タブでChatGPT音声モードを開始する。
- Spaceの「ChatGPTタブを共有」を押す。
- ChatGPTタブを選び、「タブの音声を共有」を有効にする。
- ChatGPTに応答させ、「音声トラック」と「推定口開度」を確認する。
- Anime2.5DRigでPSDを読み込み、AI応答中に口が動くか確認する。
画面共有の許可はブラウザの仕様上、ユーザーが毎回選択する必要があります。共有映像と音声はサーバーへアップロードせず、ブラウザ内だけで処理します。
ローカル確認
$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には対応しません。
- モバイルブラウザとウィンドウ全体のシステム音声共有は対象外です。