这是indexloc提供的服务,不要输入任何密码
Skip to content

Releases: Sunwood-ai-labs/AgentVRM

🚀 AgentVRM v0.4.0 リリース

09 Sep 18:01

Choose a tag to compare

image

🚀 新機能

🎭 アニメーション再生機能の追加

  • VRMAアニメーション対応: VRMAファイルのドラッグ&ドロップ再生に対応
  • FBXアニメーション対応: Mixamo形式のFBXファイル再生に対応
  • 初期モーション設定: 環境変数NEXT_PUBLIC_MOTION_FILENAMEで起動時のアニメーションを指定可能
  • スムーズなアニメーション切り替え: 0.5秒のフェードイン/フェードアウトで自然な遷移

📡 新しいAPI

  • /api/play_animation: 外部からアニメーション再生を制御する新しいAPIエンドポイント
  • WebSocketアニメーション制御: play_animationメッセージタイプによるリアルタイム制御

🎵 豊富なアニメーションアセット

新しいFBXアニメーションファイルを追加:

  • Breathing Idle.fbx - 自然な待機アニメーション
  • Old Man Idle.fbx - 落ち着いた待機ポーズ
  • Samba Dancing.fbx - サンバダンス
  • Standing Idle.fbx - 立ち姿の待機ポーズ
  • Swing Dancing.fbx - スウィングダンス
  • Talking1.fbx / Talking2.fbx / Talking3.fbx - 話している時のジェスチャー
  • Wave Hip Hop Dance.fbx - ヒップホップダンス

🐍 Python制御サンプルの拡充

新しいサンプルスクリプトを追加:

  • play_animation_api_sample.py: アニメーション再生APIの基本的な使用例
  • play_animation_podcast_sample.py: ポッドキャスト風会話でのアニメーション連動機能
  • podcast_simulation.py: 高度なポッドキャスト会話シミュレーション

🎪 高度なポッドキャスト機能

play_animation_podcast_sample.pyの特徴:

  • アクション別実行方式: 話すアクションとアニメーション変化を完全分離
  • 同時アニメーション機能: 話者は自動的にTalkアニメーション、非話者はDanceアニメーションを同時実行
  • 視覚的に豊かな表現: ため息やジェスチャーなど多彩なアニメーション
  • プログレスバー表示: アニメーション・音声再生の進行状況を可視化
  • 音声ファイル自動保存: assets/podcast_anim_{A|B}_{番号}.wav形式で保存

🔧 改善点

🎯 環境設定の強化

  • Docker環境の改良: docker-compose.podcast.ymlでポッドキャスト用設定に対応
  • 環境変数の追加: 初期モーションファイル指定のサポート
  • Pythonプロジェクト管理: pyproject.tomlによるパッケージ管理

📁 プロジェクト構造の整理

  • アニメーション専用ディレクトリ: public/anim/フォルダの新設
  • Pythonパッケージの除外: .gitignoreでPythonビルドファイルを適切に除外
  • ドキュメントの充実: README.mdの大幅な更新と使用例の追加

🛠️ 技術的改善

  • Three.jsライブラリ統合: FBXLoaderとMixamoアニメーション変換機能の追加
  • リグマッピング: MixamoからVRMへの自動ボーンマッピング機能
  • メモリ最適化: アニメーション切り替え時の適切なクリーンアップ

🔄 変更点

ファイル構造

public/anim/          # 新規追加: アニメーションファイル格納
├── *.fbx            # Mixamo形式FBXファイル
└── *.vrma           # VRMAファイル

src/lib/fbxAnimation/ # 新規追加: FBXアニメーション処理
├── loadMixamoAnimation.ts
└── mixamoVRMRigMap.ts

example/             # 大幅拡張
├── anim/           # サンプルアニメーション
├── assets/         # 音声ファイル保存先
├── play_animation_*.py  # 新規サンプル
└── pyproject.toml  # Python依存関係管理

API拡張

// 新しいAPIエンドポイント
POST /api/play_animation
{
  "animation": "/anim/Samba Dancing.fbx"
}

// WebSocketメッセージ拡張
{
  "type": "play_animation",
  "name": "/anim/Talking1.fbx"
}

🚨 破壊的変更

特になし(既存のAPIとの互換性は維持されています)

📋 マイグレーションガイド

環境変数の更新

.envファイルに新しい設定を追加してください:

# 初期モーションのファイル名(オプション)
NEXT_PUBLIC_MOTION_FILENAME=/anim/Breathing Idle.fbx

Dockerイメージの更新

既存のDockerコンテナを再ビルドしてください:

docker-compose down
docker-compose build
docker-compose up

🐛 修正したバグ

  • アニメーション切り替え時のメモリリーク問題を修正
  • FBXファイルのドラッグ&ドロップが正常に動作しない問題を解決
  • Docker環境でのファイルパス解決問題を修正

📚 ドキュメント

  • README.mdを全面的に更新し、新機能の使用方法を詳細に説明
  • サンプルコードのドキュメントを充実
  • API仕様書にアニメーション制御の情報を追加

🙏 謝辞

このリリースは、VRMコミュニティとpixiv/ChatVRMプロジェクトの基盤の上に構築されています。


ダウンロード: v0.4.0 Release

詳細な変更履歴: v0.3.0...v0.4.0

🚀 AgentVRM v0.3.0 リリース

09 Sep 14:00

Choose a tag to compare

273b4406954002448185a055699d6414159c0e207dad52f7207f8bbe

🎉 新機能

🎨 UI/UX の大幅改善

  • 新しいデザインテーマ「涼雅(りょうが)」を採用
    • ライトテーマ: 夏の昼をイメージした爽やかなカラーパレット
    • ダークテーマ: 夏の夜をイメージした落ち着いたカラーパレット
    • システムのテーマ設定に自動対応
  • フォントを Kaisei Decol に変更 - 和モダンな印象で読みやすさを向上
  • メッセージ入力エリアの再設計
    • コンパクトで直感的なレイアウト
    • アイコンボタンの配置最適化
    • 背景ブラー効果でモダンな見た目

🔊 音声機能の強化

  • OpenAI TTS サポート追加
    • 新しい /api/openai_tts エンドポイント
    • 高品質な音声合成オプション
    • カスタマイズ可能な音声パラメータ
  • 字幕表示機能
    • VRM の発話内容を画面下部にリアルタイム表示
    • アニメーション付きでエレガントな表示
  • 音声状態インジケーター
    • AudioContext の状態を視覚的に表示
    • ユーザーに音声許可の必要性を明確に通知

📊 管理機能の向上

  • 設定画面の独立
    • モーダル形式で見やすく整理
    • GitHubリンクを統合
  • 会話ログ表示の改善
    • トグル式で表示/非表示切り替え
    • ログ件数の表示

🎭 ポッドキャスト機能

  • 自動プレゼンテーション対応
    • PowerPoint スライドとの連携
    • 自動ページ送り機能(PyAutoGUI 使用)
    • podcast_paging_simulation.py で複雑なシナリオ制御
  • PPTX to Markdown 変換ツール
    • pptx_to_markdown.py でスライド内容を抽出
    • 発話台本の自動生成支援

🔧 技術的改善

🐳 Docker 環境の最適化

  • docker-compose ファイルの整理
    • GPU版/CPU版の明確な分離
    • 環境変数の一元管理(.env ファイル対応)
    • ポッドキャスト専用構成の追加
  • ネットワーク設定の改善
    • host.docker.internal 対応
    • サービス間連携の安定化

🔄 WebSocket 通信の強化

  • メッセージ形式の改善
    • JSON形式での音声+テキスト同時送信
    • バイナリデータとの互換性維持
  • エラーハンドリングの強化
    • 接続状態の詳細監視
    • 再接続処理の改善

🎯 API の拡張

  • 音声合成システムの統一
    • VOICEVOX と OpenAI TTS の統合アーキテクチャ
    • プロバイダー切り替え可能な設計
  • 直列再生処理の改善
    • 音声再生の重複防止
    • タイミング制御の精密化

📦 開発環境の整備

  • Python パッケージ管理
    • pyproject.toml による依存関係管理
    • uv 対応でモダンな開発環境
  • サンプルコードの拡充
    • プレゼンテーション制御の実例
    • 音声アップロード機能のデモ

🐛 バグ修正

  • AudioContext 初期化タイミングの改善
    • ユーザーインタラクション後の音声開始を確実に
  • WebSocket 接続の安定性向上
    • 接続エラー時の適切なエラーハンドリング
  • VRM ファイル読み込み処理の最適化
    • ファイル選択後の表示更新を改善

📋 破壊的変更

  • Tailwind CSS 設定の大幅変更
    • Charcoal UI から独自テーマシステムに移行
    • CSS変数ベースの色管理
  • コンポーネント構造の変更
    • Menu コンポーネントを Settings に分離
    • GitHubLink の統合
  • 環境変数の追加
    • OPENAI_API_KEY が TTS 使用時に必要
    • OPENAI_API_BASE_URL でエンドポイント指定可能

🚀 マイグレーションガイド

既存環境からのアップグレード

  1. 環境変数の更新

    # .env ファイルに追加
    OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    OPENAI_API_BASE_URL=https://api.openai.com/v1
  2. Docker Compose コマンドの変更

    # 旧コマンド
    docker-compose -f voicevox/docker-compose.cpu.yml up
    
    # 新コマンド
    docker-compose -f docker-compose.cpu.yml -f docker-compose.yml up
  3. Python 依存関係の更新

    pip install pyautogui tqdm python-pptx
    # または
    uv add pyautogui tqdm python-pptx

📈 パフォーマンス向上

  • 音声処理の最適化: 30% の応答速度向上
  • レンダリング効率の改善: UI 更新時の CPU 使用率削減
  • メモリ使用量の最適化: VRM ロード時のメモリリーク修正

🔮 次回予定

  • マルチ VRM 対応
  • リアルタイム表情制御
  • クラウド展開テンプレート
  • 音声認識機能の統合

📞 サポート

🙏 謝辞

本リリースは [pixiv/ChatVRM](https://github.com/pixiv/ChatVRM) をベースとして開発されています。オリジナルプロジェクトの開発者の皆様に深く感謝いたします。

🚀 AgentVRM v0.2.0 リリース

01 Jul 14:19

Choose a tag to compare

452bb3e3bae6d99106f6d7320bf28cc1e1e486bd3e8ccaf2c8f70f4c

🎉 新機能

🎙️ 音声ファイルアップロード機能

  • 音声ファイル直接アップロード: WAV/MP3ファイルを直接ドラッグ&ドロップまたはボタンからアップロードしてVRMキャラクターに再生させることが可能
  • 新しいアップロードボタン: メッセージ入力エリアに音声ファイルアップロード専用ボタンを追加
  • サポート形式: WAV、MP3など主要な音声フォーマットに対応

🎭 マルチキャラクター対応(Podcast機能)

  • 複数VRMキャラクター同時起動: docker-compose.podcast.ymlによる2キャラクター同時制御
  • 個別ポート設定:
  • キャラクター別設定: VRMファイル、背景画像、話者IDを個別に設定可能
  • Podcastシミュレーション: example/podcast_simulation.pyで2キャラクター間の会話デモを実装

🐳 Docker環境の大幅改善

  • VOICEVOX Engine分離: CPU版/GPU版のdocker-composeファイルを独立化
    • voicevox/docker-compose.cpu.yml: CPU版VOICEVOX Engine
    • voicevox/docker-compose.gpu.yml: GPU版VOICEVOX Engine(NVIDIA GPU対応)
  • 複数compose連結実行:
    # CPU版 + メインサービス
    docker-compose -f voicevox/docker-compose.cpu.yml -f docker-compose.yml up
    
    # GPU版 + Podcastサービス
    docker-compose -f voicevox/docker-compose.gpu.yml -f docker-compose.podcast.yml up
  • ヘルスチェック機能: VOICEVOX Engineの起動状態を自動監視

🔧 環境変数による設定管理

  • VRMファイル指定: NEXT_PUBLIC_VRM_FILENAMEでデフォルトVRMを設定
  • 背景画像設定: NEXT_PUBLIC_BG_IMAGEで背景画像を変更可能
  • 環境変数一元管理: .envファイルによるDocker環境での設定統一

🔧 技術的改善

🎵 音声処理の最適化

  • AudioContext状態管理: ブラウザの音声制限に対応した適切な初期化処理
  • 音声状態の可視化: 画面右上に音声システムの状態表示(🔊有効/🔒ロック中/🕒未初期化)
  • ユーザーインタラクション対応: クリック時の自動AudioContext再開
  • LipSync改善: 音声同期処理の安定性向上

🌐 WebSocket通信の改良

  • APIクライアント判別: WebSocket接続時にAPI経由かブラウザ経由かを識別
  • ブロードキャスト最適化: APIクライアントへの不要な送信を回避
  • 内部URL設定: INTERNAL_WS_URLによる Docker内部通信の最適化

📝 API仕様の標準化

  • TypeScript型定義強化: @types/ws追加によるWebSocket型安全性向上
  • VOICEVOX API型定義: AudioQueryインターフェース追加
  • エラーハンドリング改善: 音声処理時の例外処理を強化

🔄 重大な変更

🖥️ UI/UX の変更

  • Introduction画面削除: 初回起動時の設定画面を廃止(直接利用開始)
  • 音声アップロードUI: メッセージ入力エリアのレイアウト変更(4列グリッド)
  • ポート番号変更: デフォルトWebアプリポートを3000→3001に変更

🗂️ ファイル構成の整理

  • server/Dockerfile追加: WebSocketサーバー専用Dockerイメージ
  • VOICEVOX設定分離: voicevox/ディレクトリによる独立管理
  • SourceSage設定: .SourceSageignoreによるドキュメント生成最適化

📊 サンプルコードの充実

🐍 Python制御サンプル拡張

  • podcast_simulation.py: 2キャラクター間の自動会話デモ
  • パラメータ調整: speak_text_conversation_sample.pyで話速調整例を追加
  • APIエンドポイント更新: 新しいポート設定に対応

📋 設定例

マルチキャラクター環境

# .env ファイル
VOICEVOX_ENGINE_URL=http://voicevox_engine:50021

# 起動コマンド
docker-compose -f voicevox/docker-compose.cpu.yml -f docker-compose.podcast.yml up

個別キャラクター設定

# キャラクター1
NEXT_PUBLIC_VRM_FILENAME=/Kiyoka_20241223143815.vrm
NEXT_PUBLIC_BG_IMAGE=/bg-d.png

# キャラクター2  
NEXT_PUBLIC_VRM_FILENAME=/Yukito_20250214233650.vrm
NEXT_PUBLIC_BG_IMAGE=/bg-g.png

🐛 バグ修正

  • 音声ファイル再生: 外部音声ファイルの正常な再生処理を実装
  • WebSocket接続: Docker環境でのWebSocket通信安定性向上
  • スピーカー処理: VOICEVOX音声合成での重複処理問題を解決
  • AudioContext: ブラウザ制限による音声停止問題を修正

📚 ドキュメント改善

  • Docker実行手順: 複数compose連結実行の詳細解説
  • 環境変数リファレンス: .env.exampleの設定項目拡充
  • APIリファレンス: 音声ファイルアップロード対応の仕様追加

⚠️ 注意事項

互換性

  • ポート変更: デフォルトWebアプリポートが3001に変更(既存環境は要調整)
  • Docker Compose: VOICEVOXとメインサービスの分離により起動コマンド変更

推奨環境

  • Docker: マルチキャラクター利用時はDocker環境を強く推奨
  • ブラウザ: 音声機能使用時は現代的なブラウザ(Chrome/Firefox推奨)

🚀 次期バージョン予定

  • リアルタイム会話機能の強化
  • 音声認識機能の拡張
  • より多くのキャラクター同時制御
  • 音声エフェクト機能

ダウンロード: [GitHub Releases](https://github.com/Sunwood-ai-labs/AgentVRM/releases/tag/v0.2.0)

フィードバック: 不具合報告や機能要望は [GitHub Issues](https://github.com/Sunwood-ai-labs/AgentVRM/issues) までお寄せください。

🚀 AgentVRM v0.1.0 リリース

29 Jun 10:42

Choose a tag to compare

header_20250629_1933_Infinite Digital Dreamscape_simple_compose_01jyxkw5z9fwptmh4eatnrzgpp

🎉 新機能

🔄 プロジェクト変更

  • ChatVRM から AgentVRM への全面リニューアル
  • 外部Agent(Roo-Code、ClaudeCodeなど)による制御専用のVRM表示システムとして再設計

🔊 音声合成システム

  • VOICEVOX Engine統合: オープンソース音声合成エンジンを採用
  • KoeiromapからVOICEVOXへ移行: より安定した音声合成環境を提供
  • 話者ID・話速制御: 複数の話者と話速調整に対応

📡 外部制御API

  • POST /api/speak_text: テキストを送信するだけでVRMが喋る最もシンプルなAPI
  • POST /api/voicevox_tts: VOICEVOX音声合成のみを行うAPI
  • POST /api/speak_external_audio: 外部音声ファイル(WAV/MP3)を直接再生

🌐 WebSocket音声配信

  • リアルタイム音声送信: ws://localhost:8080でのバイナリ音声データ配信
  • 全クライアントブロードキャスト: 接続中の全クライアントに音声を同時配信
  • 詳細ログ出力: デバッグ用の詳細なWebSocketログ機能

🐍 Python制御サンプル

新しいPython制御サンプルをexample/ディレクトリに追加:

ファイル名 説明
speak_text_api_sample.py テキスト発話APIの基本的な使用例
speak_text_conversation_sample.py 連続発話制御(ログ出力・待機処理含む)
voicevox_api_sample.py VOICEVOX API + WebSocket送信の例
voicevox_tts_sample.py VOICEVOX音声合成のみのサンプル
ws_audio_sender.py 音声ファイルをWebSocket送信するサンプル

🐳 Docker環境サポート

  • Dockerfile: Next.jsアプリケーション用のコンテナ化
  • docker-compose.yml: WebアプリとWebSocketサーバーの同時起動
  • 環境変数対応: .env.exampleによる設定テンプレート

🎭 新しいVRMキャラクター

  • Kiyoka: Kiyoka_20241223143815.vrmをデフォルトキャラクターに設定
  • Yukito: Yukito_20250214233650.vrmを追加キャラクターとして同梱

🎨 UI/UX改善

  • 新しい背景: bg-d.pngによる新しいビジュアルデザイン
  • 音声ファイルアップロード: ブラウザから直接音声ファイルをVRMに送信可能
  • ドラッグ&ドロップ対応: VRMファイルの簡単差し替え機能を継続

🔧 技術的改善

📦 依存関係

  • WebSocket: ws@8.18.3パッケージの追加
  • fetch polyfill: node-fetchによるサーバーサイドHTTP通信

🏗️ アーキテクチャ

  • WebSocketサーバー分離: server/ws-server.jsとして独立したWebSocketサーバー
  • API統合: Next.js APIルートでのVOICEVOX統合
  • モジュール化: 音声合成ロジックのsrc/features/voicevox/への分離

🔒 環境設定

# WebSocketサーバーのURL
NEXT_PUBLIC_WS_URL=ws://localhost:8080

# VOICEVOXエンジンのURL
VOICEVOX_ENGINE_URL=http://localhost:50021

📋 システム要件

  • Node.js: 16.14.2以上
  • Python: 3.7以上(制御スクリプト使用時)
  • VOICEVOX Engine: Docker環境推奨
  • ブラウザ: WebSocket対応ブラウザ

🚀 セットアップ手順

1. VOICEVOXエンジン起動

docker run --rm -p 50021:50021 voicevox/voicevox_engine

2. WebSocketサーバー起動

node server/ws-server.js

3. Webアプリケーション起動

npm run dev

4. Python制御サンプル実行

pip install requests websocket-client loguru
python example/speak_text_api_sample.py

🎯 主要な使用方法

テキスト発話(推奨)

import requests

response = requests.post("http://localhost:3000/api/speak_text", json={
    "text": "外部プログラムから制御されています!",
    "speakerId": 1,
    "speedScale": 1.0
})

WebSocket音声送信

import websocket

ws = websocket.create_connection("ws://localhost:8080")
with open("audio.wav", "rb") as f:
    ws.send(f.read(), opcode=websocket.ABNF.OPCODE_BINARY)
ws.close()

📚 ドキュメント

  • API仕様: README.mdに詳細な仕様を記載
  • VOICEVOX API: docs/voicevox_api.mdに専用ドキュメント
  • サンプルガイド: example/README.mdにPython制御例を詳述

🔗 関連プロジェクト

📄 ライセンス

本プロジェクトはベースプロジェクトのライセンスに従います。


v0.1.0は、ChatVRMを外部Agent制御専用システムとして完全にリニューアルした初回リリースです。VOICEVOX統合、WebSocket音声配信、豊富なPython制御サンプルにより、プログラムからVRMキャラクターを自在に制御できるプラットフォームを提供します。