Zum Hauptinhalt springen

Demoprojekte

Um Ihnen den schnellen Einstieg in Runtime MetaHuman Lip Sync zu erleichtern, stehen zwei gebrauchsfertige Demoprojekte zur Verfügung. Beide wurden mit Unreal Engine 5.6+ erstellt, sind Blueprint-only und laufen plattformübergreifend auf Windows, Mac, Linux, iOS, Android sowie Android-basierten Plattformen (einschließlich Meta Quest).

Verfügbare Demo-Projekte

Ein vollständiger KI-gestützter Workflow für konversationelle Avatare, der Spracherkennung, einen KI-Chatbot (LLM), Text-to-Speech und Audiowiedergabe mit Echtzeit-Lippensynchronisation kombiniert – alles läuft gemeinsam in einem einzigen Projekt. Geeignet für eine Vielzahl von Anwendungsfällen – darunter Spiele, interaktive Kiosksysteme, virtuelle Produktion, Museumsinstallationen, digitale Assistenten und Trainingssimulationen.

Pipeline-Übersicht

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

Wenn das LLM auf Streaming-Modus eingestellt ist, wird seine Ausgabe Satz für Satz aufgeteilt und an TTS gesendet, sobald jeder Satz abgeschlossen ist, anstatt auf die vollständige Antwort zu warten, um die Latenz zu minimieren.

Videos

Kurze Vorschau (~30 Sek.)

Eine kurze Vorführung der Demo in Aktion.

Komplette Durchführung

Eine detaillierte Schritt-für-Schritt-Anleitung, die Einrichtung, Konfiguration und die gesamte Konversationspipeline abdeckt.

Downloads

Erforderliche & optionale Plugins

Das Demo-Projekt ist modular aufgebaut – Sie benötigen nur die Plugins für die Anbieter, die Sie verwenden möchten.

PluginZweckErforderlich?
Runtime MetaHuman Lip SyncLippensynchronisations-Animation✅ Immer
Runtime Audio ImporterAudioaufnahme und -verarbeitung✅ Immer
Runtime Speech RecognizerOffline-Spracherkennung (whisper.cpp)✅ Immer
Runtime AI Chatbot IntegratorExterne LLMs (OpenAI, Claude, DeepSeek, Gemini, Grok, Ollama) und/oder externes TTS (OpenAI, ElevenLabs)🔶 Optional
Runtime Local LLMLokale LLM-Inferenz via llama.cpp (Llama, Mistral, Gemma, usw., GGUF-Modelle)🔶 Optional
Runtime Text To SpeechLokales TTS via Piper und Kokoro🔶 Optional
Optionale Plugins – Anforderungen des Anbieters

Während jedes der oben genannten Plugins einzeln optional ist, benötigst du mindestens einen LLM-Anbieter und mindestens einen TTS-Anbieter, damit die Demo funktioniert. Mische und kombiniere frei (z. B. lokales LLM + ElevenLabs TTS oder OpenAI LLM + lokales TTS).

Modulare Architektur

Im Content-Ordner finden Sie einen Modules-Ordner, der drei Unterordner enthält:

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

Falls Sie eines (oder mehrere) der optionalen Plugins nicht erworben haben, löschen Sie einfach den/die entsprechenden Ordner. Die Basis-Assets des Demoprojekts (Spielinstanz, Widgets usw.) verweisen nicht direkt auf diese Module, sodass das Löschen keine Asset-Referenzfehler verursacht. Die Konfigurationsoberfläche blendet automatisch jeden Anbieter aus, dessen Ordner fehlt.

hinweis

Diese Modularität gilt nur für LLM- und TTS-Anbieter. Spracherkennung (Runtime Speech Recognizer) und Lippensynchronisation (Runtime MetaHuman Lip Sync) sind Teil des Basis-Demoprojekts und immer erforderlich.

Modules folder structure

warnung

Beim ersten Start fragt Unreal möglicherweise, ob fehlende optionale Plugins deaktiviert werden sollen – klicken Sie auf Ja. Stellen Sie sicher, dass Sie auch den entsprechenden Ordner Content/Modules/ gelöscht haben (siehe oben).

Demo-Projekt-Layout

Die Benutzeroberfläche dient Demonstrationszwecken.

Die unten gezeigte Benutzeroberfläche ist vollständig mit UMG (Unreal Motion Graphics) erstellt und dient ausschließlich dazu, die Pipeline zu demonstrieren – Spracherkennung → LLM → TTS → Lippen-Synchronisation. Sie können sie frei umgestalten oder ersetzen, um sie an das visuelle Design, die Steuerung oder die Plattform (VR/AR, Mobil, Konsole, Kiosk usw.) Ihres Projekts anzupassen. Falls bestimmte Widgets in Ihrem Anwendungsfall nicht benötigt werden, können Sie sie auch einfach ausblenden (z. B. ihre Sichtbarkeit auf Collapsed oder Hidden setzen).

Annotated overview of the demo project main screen

AreaWas gibt es
ZentrierenDer MetaHuman-Charakter.
Linke SeiteVier Konfigurationsschaltflächen (Spracherkennung, KI-Chatbot, Text-zu-Sprache, Animationen), die unten detailliert beschrieben werden.
Unten mittigEin Aufnahme starten-Button. Klicken Sie darauf, um eine Sprachkonversation zu beginnen: Ihr Mikrofon wird erfasst, transkribiert, an das LLM gesendet, die Antwort wird per TTS synthetisiert und mit Lippen-Synchronisation abgespielt – völlig freihändig.
Rechte MitteEin Widget für den Gesprächsverlauf, das den vollständigen Austausch zwischen Ihnen und der KI anzeigt (sowohl Benutzer- als auch Assistentennachrichten). Es enthält außerdem ein Texteingabefeld, mit dem Sie Nachrichten direkt eingeben können, ohne Spracherkennung zu verwenden – nützlich zum Testen, für Barrierefreiheit oder wenn kein Mikrofon verfügbar ist.
tipp

Sie können beide Eingabemodi in derselben Sitzung frei kombinieren – einige Nachrichten sprechen, andere tippen.

tipp

Wenn die Lippensynchronisation mit der Zeit immer weiter hinter dem Audio zurückbleibt (nicht nur eine feste Verzögerung), siehe Verarbeitungs-Chunk-Größe unter Animationen konfigurieren weiter unten.

Konfigurationsschaltflächen

Die vier Konfigurationsschaltflächen auf der linken Seite öffnen dedizierte Bereiche für jeden Teil der Pipeline:

1. Sprachsteuerung konfigurieren

Konfigurieren Sie, wie die Stimme des Benutzers erfasst und transkribiert wird:

  • Sprache auswählen
  • Parameter der Spracherkennung anpassen (Whisper-Modell-Einstellungen)
  • AEC (Akustische Echounterdrückung) konfigurieren
  • VAD (Sprachaktivitätserkennung) konfigurieren

Speech recognition configuration screen

2. KI-Chatbot konfigurieren

Wählen Sie Ihren LLM-Anbieter aus und konfigurieren Sie ihn:

  • Wählen Sie Anbieter (Runtime AI Chatbot Integrator oder Runtime Local LLM)
  • Wählen Sie Modus: Regulär oder Streaming (anbieterabhängig, Streaming ermöglicht satzweise TTS-Übergabe, siehe Pipeline-Übersicht)
  • Für externe Anbieter: Authentifizierungstoken, Modellname usw.
  • Für lokales LLM: Wählen Sie ein GGUF-Modell aus, legen Sie die Kontextgröße und andere Inferenzparameter fest. Sie können auch Ihr eigenes GGUF-Modell zur Laufzeit herunterladen direkt aus der Demo (z. B. per URL) und es sofort verwenden, ohne das Projekt neu erstellen zu müssen.
tipp

Das Provider-Kombinationsfeld zeigt nur Anbieter an, deren Plugin-Modul-Ordner in Content/Modules/ vorhanden ist.

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

AI chatbot configuration - Runtime Local LLM (local GGUF)

3. Text-to-Speech konfigurieren

Wählen Sie Ihren TTS-Anbieter aus und konfigurieren Sie Stimmen/Modelle:

  • Wählen Sie den Anbieter (Runtime AI Chatbot Integrator für OpenAI/ElevenLabs oder Runtime Text To Speech für lokales Piper/Kokoro)
  • Wählen Sie den Modus: Normal oder Streaming (steuert, ob Audio auf einmal oder während der Synthese zurückgegeben wird)
  • Wählen Sie Stimme/Modell
  • Passen Sie anbieterspezifische Parameter an

TTS configuration - Runtime AI Chatbot Integrator (external TTS)

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

4. Animationen konfigurieren

Steuere die visuelle Darstellung deines KI-Avatars:

  • Wählen Sie zwischen 3 vorab heruntergeladenen MetaHuman-Charakteren (Aera, Ada, Orlando)
  • Wählen Sie das Lip-Sync-Modell (Standard oder Realistisch)
  • Wählen Sie den Lip-Sync-Modelltyp – Hochoptimiert, Semi-optimiert oder Original (siehe Modelltyp)
  • Passen Sie die Verarbeitungs-Chunk-Größe an – steuert, wie oft die Lippen-Synchronisations-Inferenz ausgeführt wird (siehe Verarbeitungs-Chunk-Größe)
    • Wenn die Lippensynchronisation unter CPU-Last mit der Zeit hinter dem Audio zurückbleibt, erhöhen Sie diesen Wert auf 480 oder 640.
  • Wählen Sie eine Leerlaufanimation aus, die während des Gesprächs auf dem MetaHuman abgespielt werden soll.

Animations configuration screen

Vorkonfiguration der Demo im Editor

Bei der Arbeit mit der Quellversion können Sie Standardwerte direkt im Editor vorausfüllen, sodass Werte nicht bei jedem Durchlauf erneut eingegeben werden müssen:

WhatWo
Allgemeine Einstellungen (Lip-Sync-Modell, Leerlaufanimation, Charakterklasse, Spracherkennung usw.)Content/LipSyncSTSGameInstance
Externes LLM / Externes TTS-Einstellungen (Runtime AI Chatbot Integrator)Content/Modules/RuntimeAIChatbotIntegrator/RuntimeAIChatbotIntegrator_Provider
Local LLM-Einstellungen (Runtime Local LLM)Content/Modules/RuntimeLocalLLM/RuntimeLocalLLM_Provider
Lokale TTS-Einstellungen (Runtime Text To Speech)Content/Modules/RuntimeTextToSpeech/RuntimeTextToSpeech_Provider

Plattformübergreifende Hinweise

Alle Plugins, die von der Demo verwendet werden, unterstützen Windows, Mac, Linux, iOS, Android sowie Android-basierte Plattformen (einschließlich Meta Quest), daher funktioniert das Demoprojekt auch auf all diesen. Dies macht es für die Bereitstellung in einer Vielzahl von Umgebungen geeignet – von Spielen und Desktop-Kiosken über mobile Apps und eigenständige VR-Headsets bis hin zu On-Set-Virtual-Production-Setups.

Für schwächere Geräte (Mobilgeräte, eigenständige VR) möchten Sie möglicherweise:

  • Verwenden Sie das Standard-Lippensynchronisationsmodell anstelle von Realistic – siehe Modellvergleich
  • Wechseln Sie zum hochoptimierten Modelltyp
  • Erhöhen Sie die Verarbeitungs-Chunk-Größe, um die CPU-Auslastung zu reduzieren
  • Wählen Sie kleinere LLM-/TTS-Modelle

Siehe Plattformspezifische Konfiguration für zusätzliche Einrichtungsschritte auf Android, iOS, Mac und Linux.

Unterstützung für Pixel Streaming

Bereitstellen der Demo auf Pixel Streaming (zum Erweitern klicken)

Das AI-Konversations-Demoprojekt funktioniert auch in einer Pixel Streaming-Umgebung, sodass Sie den MetaHuman-Avatar an einen entfernten Client (z. B. einen Webbrowser) streamen können, während das Mikrofon-Audio des Benutzers clientseitig erfasst wird. Es ist nur eine einzige Änderung am Demo erforderlich.

1. Installieren Sie die Pixel-Streaming-Erweiterung für den Runtime Audio Importer

Das Runtime Audio Importer Plugin bietet ein kostenloses Erweiterungs-Plugin, das die Aufnahme von Audio von einem Pixel Streaming-Client ermöglicht. Je nachdem, welche Pixel Streaming-Infrastrukturversion Sie verwenden, installieren Sie eine der folgenden Optionen:

Hier finden Sie die Download-Links und Installationsschritte: Pixel Streaming Audio Capture - Erweiterungs-Plugin-Installation.

2. Tauschen Sie den erfassbaren Schallwellen-Knoten in LipSyncSTSGameInstance aus.

Nachdem das Erweiterungs-Plugin installiert ist:

  1. Navigieren Sie im Content Browser zu /All/Game und öffnen Sie das Asset LipSyncSTSGameInstance.
  2. Wechseln Sie zum Event Graph.
  3. Suchen Sie Event Init und folgen Sie dem Ausführungsfluss, bis Sie das Knotenpaar finden: Create Capturable Sound WaveSet Capturable Sound Wave.
  4. Ersetzen Sie den Aufruf von Create Capturable Sound Wave entweder durch Create Pixel Streaming Capturable Sound Wave oder Create Pixel Streaming 2 Capturable Sound Wave, je nachdem, welche Version der Pixel-Streaming-Infrastruktur Sie anvisieren.
  5. Verbinden Sie dessen Ausgabe mit dem gleichen Set Capturable Sound Wave-Knoten.

Danach ist das Projekt bereit, auf Pixel Streaming bereitgestellt zu werden – Spracherkennung, LLM, TTS und Lippen-Synchronisation funktionieren alle wie zuvor, jedoch mit Audio, das vom entfernten Client statt von einem lokalen Mikrofon erfasst wird.

Eigenen Charakter einbringen

Das Demoprojekt enthält drei Beispiel-MetaHuman-Charaktere (Aera, Ada, Orlando), aber Sie können Ihren eigenen MetaHuman importieren und im Demo verwenden.

📺 Video-Tutorial: Hinzufügen eines benutzerdefinierten MetaHuman-Charakters zum Demo-Projekt

hinweis

Das Runtime MetaHuman Lip Sync Plugin selbst unterstützt viele andere Charaktersysteme über MetaHumans hinaus (ARKit-basierte Charaktere, Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe usw. – siehe die Anleitung zur Einrichtung benutzerdefinierter Charaktere). Egal, ob Sie einen Spiel-NPC, einen virtuellen Präsentator, einen Kiosk-Assistenten oder einen digitalen Menschen für die virtuelle Produktion erstellen, das Plugin passt sich Ihrer Charakter-Pipeline an.

Anmerkungen zum Standard-Lippensynchronisationsmodell

Wenn Sie vorhaben, das Standardmodell (anstelle des realistischen) in einem der Demoprojekte zu verwenden, müssen Sie das Standard Lip Sync Extension Plugin installieren. Siehe Standardmodell-Erweiterung für Installationsanweisungen.

Brauchen Sie Hilfe?

Falls Sie auf Probleme bei der Einrichtung oder Ausführung der Demoprojekte stoßen, können Sie sich gerne melden:

Join our Discord
online · support

Für individuelle Entwicklungsanfragen (z. B. Erweiterung der Demo mit eigener Logik, Anpassung an eine bestimmte Plattform oder Zeichen-Pipeline) kontaktieren Sie solutions@georgy.dev.