メインコンテンツまでスキップ

デモプロジェクト

Runtime MetaHuman Lip Sync をすぐに使い始められるよう、すぐに使えるデモプロジェクトが2つ用意されています。どちらも Unreal Engine 5.6+ で構築され、Blueprint のみで構成され、Windows、Mac、Linux、iOS、Android、および Android ベースのプラットフォーム(Meta Quest を含む)でクロスプラットフォーム動作します。

利用可能なデモプロジェクト

完全なAI会話型アバターワークフロー。音声認識、AIチャットボット(LLM)、テキスト読み上げ、リアルタイムのリップシンクを備えたオーディオ再生を組み合わせ、すべてを単一のプロジェクトで実行します。ゲームインタラクティブキオスクバーチャルプロダクションミュージアム設置デジタルアシスタントトレーニングシミュレーションなど、幅広いユースケースに対応します。

パイプライン概要

🎤 Microphone → Speech Recognition → 💬 LLM Chatbot → 🔊 Text-to-Speech → 👄 Lip Sync + Playback

LLMがストリーミングモードに設定されている場合、その出力は文ごとに分割され、完全なレスポンスを待つのではなく、各文が完成するたびにTTSに送信されるため、レイテンシーを最小限に抑えられます。

動画

クイックプレビュー(約30秒)

デモの動作の短い紹介。

完全なウォークスルー

セットアップ、構成、そして会話パイプライン全体を網羅した詳細なウォークスルーです。

ダウンロード

必須 & オプションプラグイン

デモプロジェクトはモジュール式です - 使用したいプロバイダーのプラグインだけが必要です。

プラグイン目的必須ですか?
Runtime MetaHuman Lip Syncリップシンクアニメーション✅ 常に
Runtime Audio Importer音声キャプチャと処理✅ 常に
Runtime Speech Recognizerオフライン音声認識 (whisper.cpp)✅ 常に
Runtime AI Chatbot Integrator外部LLM (OpenAI, Claude, DeepSeek, Gemini, Grok, Ollama) および/または 外部TTS (OpenAI, ElevenLabs)🔶 任意
Runtime Local LLMllama.cppによるローカルLLM推論(Llama、Mistral、GemmaなどのGGUFモデル)🔶 任意
ランタイムテキスト読み上げPiperとKokoroによるローカルTTS🔶 任意
オプションプラグイン - プロバイダーの要件

上記の各プラグインは個別にはオプションですが、デモを動作させるには、少なくとも1つのLLMプロバイダー少なくとも1つのTTSプロバイダーが必要です。自由に組み合わせてください(例:ローカルLLM + ElevenLabs TTS、またはOpenAI LLM + ローカルTTS)。

モジュール式アーキテクチャ

Content フォルダの中に、3つのサブフォルダを含む Modules フォルダがあります。

Content/
└── Modules/
├── RuntimeAIChatbotIntegrator/ ← External LLMs and/or external TTS
├── RuntimeLocalLLM/ ← Local LLM via llama.cpp
└── RuntimeTextToSpeech/ ← Local TTS via Piper/Kokoro

オプションプラグインを1つ以上取得していない場合は、対応するフォルダを削除するだけです。デモプロジェクトの基本アセット(ゲームインスタンス、ウィジェットなど)はこれらのモジュールを直接参照していないため、削除してもアセット参照エラーは発生しません。設定UIは、フォルダが存在しないプロバイダーを自動的に非表示にします。

注記

このモジュール性は、LLM および TTS プロバイダーにのみ適用されます。音声認識 (Runtime Speech Recognizer) と リップシンク (Runtime MetaHuman Lip Sync) は、ベースのデモプロジェクトの一部であり、常に必要です。

Modules folder structure

警告

初回起動時に、Unreal が不足しているオプショナルプラグインを無効にするかどうかを尋ねる場合があります。はい をクリックしてください。また、対応する Content/Modules/ フォルダも削除してください(上記参照)。

バンドル拡張プラグイン

Silero VAD、WebRTC AEC3、および標準リップシンク拡張機能(クリックで展開)

デモのソース版には、Plugins/ フォルダ内に3つの無料拡張プラグインがあらかじめ同梱されています:RuntimeAudioImporterSileroVAD(ニューラルVAD)、RuntimeAudioImporterWebRTCAEC3(エコーキャンセリング)、および RuntimeMetaHumanLipSync_Standard(スタンダードリップシンクモデル)。

同梱のバイナリは UE 5.6 向けに事前ビルドされています。UE 5.7 / 5.8 の場合は、ソースからビルドするか(各拡張機能のドキュメントを参照)、事前ビルド済みバイナリを使用してください: UE 5.7 · UE 5.8。インストール方法: Plugins/ にある既存の3つのフォルダを削除し、アーカイブの内容を Plugins/ 内に展開してください。

3つはすべてオプションです。必要ない場合は、起動する前に Plugins/ からそれぞれのフォルダを削除するだけです。

デモプロジェクトのレイアウト

UIはデモンストレーション用です。

以下に示すユーザーインターフェースは、UMG(Unreal Motion Graphics)のみで構築されており、パイプライン(音声認識 → LLM → TTS → リップシンク)を純粋にデモンストレーションすることを目的としています。プロジェクトのビジュアルデザイン、操作方式、またはプラットフォーム(VR/AR、モバイル、コンソール、キオスクなど)に合わせて、自由にスタイルを変更したり、置き換えたりすることができます。また、特定のウィジェットが不要な場合は、単に非表示にすることもできます(例: 可視性をCollapsedまたはHiddenに設定する)。

Annotated overview of the demo project main screen

Areaそこに何がある?
中央MetaHuman キャラクター
左側以下で詳しく説明する4つの設定ボタン(音声認識、AIチャットボット、テキスト読み上げ、アニメーション)です。
中央下録音開始ボタン。クリックすると音声会話が始まります。マイクで収録された音声が文字起こしされ、LLMに送信され、その応答がTTSで合成され、リップシンク付きで再生されます。完全にハンズフリーです。
右中央あなたとAIの間の完全なやり取り(ユーザーメッセージとアシスタントメッセージの両方)を表示する会話履歴ウィジェット。また、テキスト入力フィールドも含まれており、音声認識を使わずにメッセージを直接入力できます。テスト用、アクセシビリティ向上、またはマイクが利用できない場合に便利です。
ヒント

同じセッション内で、両方の入力モードを自由に組み合わせることができます。一部のメッセージは音声で入力し、他のメッセージはテキストで入力します。

ヒント

「テストを長く続けるほどリップシンクが音声からどんどん遅れていく場合(単なる固定遅延ではなく)、下のアニメーションの設定にある処理チャンクサイズを参照してください。」

設定ボタン

左側の4つの設定ボタンは、パイプラインの各部分の専用パネルを開きます:

1. 音声認識を設定する

ユーザーの音声がキャプチャされ、文字起こしされる方法を設定:

  • 言語を選択
  • 音声認識パラメータを調整(Whisperモデル設定)
  • AECを設定(音響エコーキャンセリング)
  • VADを設定(音声アクティビティ検出)

Speech recognition configuration screen

2. AIチャットボットを設定する

LLM プロバイダーを選択して設定してください:

  • プロバイダーを選択(Runtime AI Chatbot Integrator または Runtime Local LLM)
  • モードを選択:通常またはストリーミング(プロバイダー依存。ストリーミングでは文単位のTTS受け渡しが有効。パイプライン概要を参照)
  • 外部プロバイダーの場合:認証トークンモデル名など
  • ローカルLLMの場合:GGUFモデルを選択し、コンテキストサイズやその他の推論パラメータを設定します。また、デモから直接(例:URL指定で)実行時に独自のGGUFモデルをダウンロードして、プロジェクトを再ビルドすることなくすぐに使用できます。
ヒント

プロバイダコンボボックスには、プラグインモジュールフォルダが Content/Modules/ に存在するプロバイダのみが表示されます。

AI chatbot configuration - Runtime AI Chatbot Integrator (external LLM)

AI chatbot configuration - Runtime Local LLM (local GGUF)

3. テキスト読み上げを設定する

TTSプロバイダーを選択し、音声/モデルを設定してください:

  • プロバイダーを選択します(OpenAI/ElevenLabs用のRuntime AI Chatbot Integrator、またはローカルのPiper/Kokoro用のRuntime Text To Speech)
  • モードを選択します:通常またはストリーミング(音声が一度に返されるか、合成される際に返されるかを制御します)
  • 音声/モデルを選択します
  • プロバイダー固有のパラメータを調整します

TTS configuration - Runtime AI Chatbot Integrator (external TTS)

TTS configuration - Runtime Local Text To Speech (local Piper/Kokoro)

4. アニメーションの設定

AIアバターの見た目をコントロール:

  • プリダウンロード済みのMetaHumanキャラクター3体から選択(Aera、Ada、Orlando)
  • リップシンクモデルを選択(標準またはリアリスティック)
  • リップシンクモデルタイプを選択 - 高度に最適化、準最適化、またはオリジナル(モデルタイプ を参照)
  • 処理チャンクサイズを調整 - リップシンク推論の実行頻度を制御します(処理チャンクサイズ を参照)
    • CPU負荷がかかるとリップシンクが時間の経過とともに音声からさらに遅れてしまう場合は、これを480または640に増やしてください
  • 会話中にMetaHumanで再生するアイドルアニメーションを選択してください。

Animations configuration screen

エディターでのデモの事前設定

ソース版で作業する場合、エディタでデフォルト値を直接事前入力できるため、毎回実行時に値を再入力する必要はありません:

Whatどこ
一般設定 (リップシンクモデル、待機アニメーション、キャラクタークラス、音声認識など)Content/LipSyncSTSGameInstance
外部 LLM / 外部 TTS 設定(Runtime AI Chatbot Integrator)Content/Modules/RuntimeAIChatbotIntegrator/RuntimeAIChatbotIntegrator_Provider
ローカルLLM 設定 (Runtime Local LLM)Content/Modules/RuntimeLocalLLM/RuntimeLocalLLM_Provider
ローカルTTS設定(Runtime Text To Speech)Content/Modules/RuntimeTextToSpeech/RuntimeTextToSpeech_Provider

クロスプラットフォームの注記

デモで使用されるすべてのプラグインがWindows, Mac, Linux, iOS, Android、および Androidベースのプラットフォーム(Meta Questを含む)をサポートしているため、デモプロジェクトもこれらすべてで動作します。これにより、ゲームやデスクトップキオスクからモバイルアプリ、スタンドアロンVRヘッドセット、撮影現場のバーチャルプロダクション環境に至るまで、幅広い環境への展開に適しています。

低性能のデバイス(モバイル、スタンドアロンVR)の場合は、次のことを検討してください:

  • Realisticの代わりに標準リップシンクモデルを使用してください - モデル比較 を参照してください
  • 高度最適化モデルタイプに切り替えてください
  • 処理チャンクサイズを増やしてCPU負荷を軽減してください
  • より小さいLLM / TTSモデルを選択してください

Android、iOS、Mac、Linuxでの追加のセットアップ手順については、プラットフォーム別構成を参照してください。

Pixel Streaming サポート

Pixel Streaming にデモをデプロイする(クリックして展開)

AI会話デモプロジェクトは、Pixel Streaming環境でも動作し、MetaHumanアバターをリモートクライアント(例:Webブラウザ)にストリーミングしながら、クライアント側でユーザーのマイク音声をキャプチャできます。デモに必要な変更は1つだけです。

1. Runtime Audio Importer用のPixel Streaming拡張機能をインストールしてください。

Runtime Audio Importer プラグインは、Pixel Streaming クライアントからのオーディオキャプチャを可能にする無料の拡張プラグインを提供します。使用している Pixel Streaming インフラストラクチャのバージョンに応じて、次のいずれかをインストールしてください:

ダウンロードリンクとインストール手順は、こちらで確認できます:Pixel Streaming オーディオキャプチャ - 拡張プラグインのインストール

2. LipSyncSTSGameInstance 内のキャプチャ可能なサウンドウェーブノードを置き換えます。

拡張プラグインのインストール後:

  1. コンテンツブラウザで /All/Game に移動し、LipSyncSTSGameInstance アセットを開きます。
  2. イベントグラフ に切り替えます。
  3. Event Init を見つけ、実行フローをたどって、Create Capturable Sound WaveSet Capturable Sound Wave のノードのペアを見つけます。
  4. 対象とする Pixel Streaming インフラストラクチャのバージョンに応じて、Create Capturable Sound Wave の呼び出しを Create Pixel Streaming Capturable Sound Wave または Create Pixel Streaming 2 Capturable Sound Wave のいずれかに置き換えます。
  5. その出力を同じ Set Capturable Sound Wave ノードに接続します。

この後、プロジェクトはPixel Streamingにデプロイされる準備が整います。音声認識、LLM、TTS、リップシンクはすべて以前と同様に動作しますが、オーディオはローカルマイクではなくリモートクライアントからキャプチャされます。

オリジナルキャラクターの持ち込み

このデモプロジェクトには、3つのサンプルMetaHumanキャラクター(Aera、Ada、Orlando)が同梱されていますが、独自のMetaHumanをインポートしてデモで使用することもできます。

📺 ビデオチュートリアル: デモプロジェクトにカスタムMetaHumanキャラクターを追加する

注記

Runtime MetaHuman Lip Sync プラグイン自体は、MetaHuman 以外にも多くのキャラクターシステムをサポートしています(ARKit ベースのキャラクター、Daz Genesis 8/9、Reallusion CC3/CC4、Mixamo、ReadyPlayerMe など - カスタムキャラクターセットアップガイド を参照)。ゲームの NPC、バーチャルプレゼンター、キオスク係員、またはバーチャルプロダクション用のデジタルヒューマンを構築する場合でも、プラグインはあなたのキャラクターパイプラインに適応します。

ヘルプが必要ですか?

デモプロジェクトのセットアップや実行中に問題が発生した場合は、お気軽にお問い合わせください:

Join our Discord
online · support

カスタム開発のご依頼(例:デモを独自のロジックで拡張する、特定のプラットフォームやキャラクターパイプラインに適応させるなど)については、[email protected] までご連絡ください。