Zum Hauptinhalt springen

Demo-Projekte

Damit Sie schnell mit Runtime MetaHuman Lip Sync loslegen können, stehen zwei sofort einsatzbereite Demo-Projekte zur Verfügung. Beide sind mit Unreal Engine 5.6+ erstellt, nur mit Blueprints umgesetzt 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 Konversations-Avatar-Workflow, der Spracherkennung, einen KI-Chatbot (LLM), Text-to-Speech und Audiowiedergabe mit Echtzeit-Lip-Sync kombiniert – alles läuft gemeinsam in einem einzigen Projekt. Geeignet für eine breite Palette von Anwendungsfällen – darunter Spiele, interaktive Kioske, virtuelle Produktion, Museumsinstallationen, digitale Assistenten und Trainingssimulationen.

Pipeline-Übersicht

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

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

TTS und Lippen-Synchronisation folgen demselben Prinzip: Bei aktiviertem Streaming-Modus wird Audio in Teilen verarbeitet und animiert, sobald es eintrifft, anstatt auf den vollständigen Clip zu warten.

Videos

Schnellvorschau (~30 Sek.)

Eine kurze Vorführung der Demo in Aktion.

Komplette Schritt-für-Schritt-Anleitung

Ein detaillierter Leitfaden, der Einrichtung, Konfiguration und die vollständige Konversations-Pipeline 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 ImporterAudioerfassung & -verarbeitung✅ Immer
Runtime Speech RecognizerOffline-Spracherkennung (whisper.cpp)✅ Immer
Runtime AI Chatbot IntegratorExterne LLMs (OpenAI, Claude, DeepSeek, Gemini, Grok, Ollama) und/oder externe TTS (OpenAI, ElevenLabs)🔶 Optional
Runtime Local LLMLokale LLM-Inferenz über llama.cpp (Llama, Mistral, Gemma, usw., GGUF-Modelle)🔶 Optional
Runtime Text To SpeechLokale TTS über Piper und Kokoro🔶 Optional
Optionale Plugins – Anforderungen an den Anbieter

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. Kombiniere frei nach Belieben (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 Demo-Projekts (Game Instance, Widgets usw.) referenzieren diese Module nicht direkt, 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 außerdem sicher, dass Sie den entsprechenden Ordner Content/Modules/ gelöscht haben (siehe oben).

Gebündelte Erweiterungs-Plugins

Silero VAD-, WebRTC-AEC3- und Standard-Lip-Sync-Erweiterungen (zum Erweitern klicken)

Die Quellversion der Demo wird mit drei kostenlosen Erweiterungs-Plugins ausgeliefert, die bereits im Ordner Plugins/ enthalten sind: RuntimeAudioImporterSileroVAD (neuronale VAD), RuntimeAudioImporterWebRTCAEC3 (Echounterdrückung) und RuntimeMetaHumanLipSync_Standard (Standard-Lip-Sync-Modell).

Die gebündelten Binärdateien sind vorkompiliert für UE 5.6. Für UE 5.7 / 5.8 müssen Sie sie entweder aus dem Quellcode erstellen (siehe die Dokumentation jeder Erweiterung) oder vorkompilierte Binärdateien verwenden: UE 5.7 · UE 5.8. Zur Installation: Löschen Sie die drei vorhandenen Ordner aus Plugins/ und extrahieren Sie dann den Inhalt des Archivs an deren Stelle in Plugins/.

Alle drei sind optional – wenn du sie nicht benötigst, lösche einfach ihre Ordner aus Plugins/, bevor du startest.

Demo-Projektstruktur

Die Benutzeroberfläche dient nur zu 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 neu gestalten oder ersetzen, um sie an das visuelle Design, das Steuerungsschema oder die Plattform Ihres Projekts (VR/AR, Mobilgeräte, Konsole, Kiosk usw.) 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 ist da
MitteDie MetaHuman-Figur.
Linke SeiteVier Konfigurationsschaltflächen (Spracherkennung, AI-Chatbot, Text-to-Speech, Animationen), die unten im Detail beschrieben werden.
Mitte untenEine Schaltfläche Aufnahme starten. Klicken Sie darauf, um ein Sprachgespräch zu beginnen: Ihr Mikrofon wird aufgenommen, transkribiert, an das LLM gesendet, die Antwort wird über TTS synthetisiert und mit Lippensynchronisation abgespielt – vollständig freihändig.
Rechte MitteEin Widget für den Gesprächsverlauf, das den vollständigen Hin und Her zwischen Ihnen und der KI zeigt (sowohl Benutzer- als auch Assistentennachrichten). Es enthält außerdem ein Texteingabefeld, sodass 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

Du kannst beide Eingabemodi in derselben Sitzung frei mischen – sprich einige Nachrichten, tippe andere.

tipp

Wenn die Lippensynchronisation bei längeren Tests immer weiter hinter dem Audio zurückbleibt (nicht nur eine feste Verzögerung), siehe Verarbeitungschunkgröße unter Animationen konfigurieren weiter unten.

Konfigurationsschaltflächen

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

1. Sprachsteuerung konfigurieren

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

  • Sprache auswählen
  • Spracherkennungsparameter anpassen (Whisper-Modelleinstellungen)
  • AEC konfigurieren (akustische Echounterdrückung)
  • VAD konfigurieren (Sprachaktivitätserkennung)

Speech recognition configuration screen

2. KI-Chatbot konfigurieren

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

  • Wählen Sie Anbieter (Runtime AI Chatbot Integrator oder Runtime Local LLM)
  • Wählen Sie Modus: Regulär oder Streaming (abhängig vom Anbieter; Streaming ermöglicht die satzweise TTS-Übergabe, siehe Pipeline-Übersicht)
  • Für externe Anbieter: Authentifizierungstoken, Modellname usw.
  • Für lokale LLM: Wählen Sie ein GGUF-Modell, legen Sie die Kontextgröße und andere Inferenzparameter fest. Sie können auch Ihr eigenes GGUF-Modell zur Laufzeit direkt aus der Demo herunterladen (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-Modulordner 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 und konfigurieren Sie Stimmen/Modelle:

  • Wählen Sie den Anbieter aus (Runtime AI Chatbot Integrator für OpenAI/ElevenLabs oder Runtime Text To Speech für lokales Piper/Kokoro)
  • Wählen Sie den Modus: Regulär oder Streaming (steuert, ob Audio auf einmal oder während der Synthese zurückgegeben wird)
  • Wählen Sie Stimme/Modell aus
  • 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 Lip-Sync-Inferenz ausgeführt wird (siehe Verarbeitungs-Chunk-Größe)
    • Wenn die Lippen-Synchronisation unter CPU-Last im Laufe der Zeit weiter hinter dem Audio zurückbleibt, erhöhen Sie diesen Wert auf 480 oder 640.
  • Wählen Sie eine Leerlauf-Animation 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, Idle-Animation, Charakterklasse, Spracherkennung usw.)Content/LipSyncSTSGameInstance
Externe LLM / Externe TTS-Einstellungen (Runtime AI Chatbot Integrator)Content/Modules/RuntimeAIChatbotIntegrator/RuntimeAIChatbotIntegrator_Provider
Lokale 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), sodass das Demo-Projekt auch auf allen diesen Systemen funktioniert. Dadurch eignet es sich für die Bereitstellung in einer Vielzahl von Umgebungen – von Spielen und Desktop-Kiosken über mobile Apps und eigenständige VR-Headsets bis hin zu Virtual-Production-Setups am Set.

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

  • Verwenden Sie das Standard-Lip-Sync-Modell anstelle von Realistic – siehe den Modellvergleich
  • Wechseln Sie zum Modelltyp Highly Optimized
  • Erhöhen Sie die Processing Chunk Size, um die CPU-Last zu reduzieren
  • Wählen Sie kleinere LLM-/TTS-Modelle

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

Pixel-Streaming-Unterstützung

Bereitstellung der Demo auf Pixel Streaming (zum Erweitern klicken)

Das KI-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. Für das Demo ist nur eine einzige Änderung 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 Erfassung von Audio von einem Pixel Streaming-Client ermöglicht. Je nachdem, welche Version der Pixel Streaming-Infrastruktur Sie verwenden, installieren Sie eines der folgenden:

Hier sind Download-Links und Installationsschritte verfügbar: Pixel Streaming Audio Capture – Installation des Erweiterungs-Plugins.

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 Pixel-Streaming-Infrastrukturversion Sie anvisieren.
  5. Verbinden Sie dessen Ausgabe mit demselben Set Capturable Sound Wave-Knoten.

Danach ist das Projekt bereit, für Pixel Streaming bereitgestellt zu werden – Spracherkennung, LLM, TTS und Lip Sync funktionieren weiterhin wie zuvor, jedoch mit Audio, das vom Remote-Client statt von einem lokalen Mikrofon erfasst wird.

Eigene Charaktere verwenden

Das Demo-Projekt enthält drei Beispiel-MetaHuman-Charaktere (Aera, Ada, Orlando), aber du kannst deinen eigenen MetaHuman importieren und ihn 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 den Leitfaden zur Einrichtung benutzerdefinierter Charaktere). Egal, ob du einen Spiel-NPC, einen virtuellen Präsentator, einen Kiosk-Betreuer oder einen digitalen Menschen für die virtuelle Produktion entwickelst, das Plugin passt sich deiner Charakter-Pipeline an.

Brauchen Sie Hilfe?

Wenn Sie bei der Einrichtung oder Ausführung der Demo-Projekte auf Probleme 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 Charakter-Pipeline) kontaktieren Sie [email protected].