Projets de démonstration
Pour vous aider à démarrer rapidement avec Runtime MetaHuman Lip Sync, deux projets de démonstration prêts à l'emploi sont disponibles. Tous deux sont construits avec Unreal Engine 5.6+, sont uniquement en Blueprint, et fonctionnent sur plusieurs plateformes : Windows, Mac, Linux, iOS, Android, et les plateformes basées sur Android (incluant Meta Quest).
Projets de démonstration disponibles
- AI Conversational NPC
- Démo de synchronisation labiale de base
Un flux de travail complet de PNJ conversationnel IA combinant la reconnaissance vocale, un chatbot IA (LLM), la synthèse vocale, et la lecture audio avec synchronisation labiale en temps réel - le tout fonctionnant ensemble dans un seul projet.
Aperçu du pipeline
🎤 Microphone → Speech Recognition → 💬 LLM Chatbot → 🔊 Text-to-Speech → 👄 Lip Sync + Playback
Vidéos
Aperçu rapide (~30 sec)
Un bref aperçu de la démo en action.
Visite guidée complète
Une visite guidée détaillée couvrant l'installation, la configuration et l'ensemble du pipeline conversationnel.
Téléchargements
Extensions requises et optionnelles
Le projet de démonstration est modulaire : vous n'avez besoin que des extensions pour les fournisseurs que vous souhaitez utiliser.
| Plugin | Objectif | Requis ? |
|---|---|---|
| Runtime MetaHuman Lip Sync | Animation de synchronisation labiale | ✅ Toujours |
| Runtime Audio Importer | Capture et traitement audio | ✅ Toujours |
| Runtime Speech Recognizer | Reconnaissance vocale hors ligne (whisper.cpp) | ✅ Toujours |
| Runtime AI Chatbot Integrator | LLM externes (OpenAI, Claude, DeepSeek, Gemini, Grok, Ollama) et/ou TTS externes (OpenAI, ElevenLabs) | 🔶 Optionnel |
| Runtime Local LLM | Inférence LLM locale via llama.cpp (Llama, Mistral, Gemma, etc, modèles GGUF) | 🔶 Optionnel |
| Runtime Text To Speech | TTS local via Piper et Kokoro | 🔶 Optionnel |
Bien que chaque extension ci-dessus soit individuellement optionnelle, vous avez besoin d'au moins un fournisseur de LLM et d'au moins un fournisseur de TTS pour que la démo fonctionne. Mélangez et associez librement (par exemple, LLM local + TTS ElevenLabs, ou LLM OpenAI + TTS local).
Architecture modulaire
Dans le dossier Content, vous trouverez un dossier Modules qui contient trois sous-dossiers :
Content/
└── Modules/
├── RuntimeAIChatbotIntegrator/ ← External LLMs and/or external TTS
├── RuntimeLocalLLM/ ← Local LLM via llama.cpp
└── RuntimeTextToSpeech/ ← Local TTS via Piper/Kokoro
Si vous n'avez pas acquis un (ou plusieurs) des plugins optionnels, supprimez simplement le(s) dossier(s) correspondant(s). Les assets de base du projet de démonstration (instance de jeu, widgets, etc.) ne référencent pas directement ces modules, donc les supprimer ne provoquera pas d'erreurs de référence d'assets. L'interface de configuration masquera automatiquement tout fournisseur dont le dossier est manquant.
Cette modularité ne s'applique qu'aux fournisseurs LLM et TTS. La reconnaissance vocale (Runtime Speech Recognizer) et la synchronisation labiale (Runtime MetaHuman Lip Sync) font partie du projet de démonstration de base et sont toujours requises.

Lors du premier lancement, Unreal peut demander s'il faut désactiver les plugins optionnels manquants - cliquez sur Yes. Assurez-vous également d'avoir supprimé le dossier Content/Modules/ correspondant (voir ci-dessus).
Disposition du projet de démonstration
L'interface utilisateur ci-dessous est entièrement construite avec UMG (Unreal Motion Graphics) et vise uniquement à démontrer le pipeline - reconnaissance vocale → LLM → TTS → synchronisation labiale. Vous êtes libre de la restyler ou de la remplacer pour correspondre au design visuel de votre jeu, à votre schéma de contrôle ou à votre plateforme (VR/AR, mobile, console, etc.). Si certains widgets ne sont pas nécessaires dans votre cas d'utilisation, vous pouvez aussi simplement les masquer (par exemple, définir leur visibilité sur Collapsed ou Hidden).

| Zone | Contenu |
|---|---|
| Centre | Le personnage MetaHuman. |
| Côté gauche | Quatre boutons de configuration (Reconnaissance vocale, Chatbot IA, Synthèse vocale, Animations), décrits en détail ci-dessous. |
| Centre inférieur | Un bouton Démarrer l'enregistrement. Cliquez dessus pour entamer une conversation vocale : votre microphone est capturé, transcrit, envoyé au LLM, la réponse est synthétisée via TTS, et lue avec synchronisation labiale, entièrement mains libres. |
| Centre droit | Un widget d'historique de la conversation affichant l'ensemble des échanges entre vous et l'IA (messages utilisateur et assistant). Il inclut aussi un champ de saisie de texte, pour taper directement des messages sans utiliser la reconnaissance vocale, utile pour les tests, l'accessibilité, ou lorsque le microphone n'est pas disponible. |
Vous pouvez librement mélanger les deux modes de saisie dans la même session - prononcer certains messages, en taper d'autres.
Boutons de configuration
Les quatre boutons de configuration à gauche ouvrent des panneaux dédiés à chaque partie du pipeline :
1. Configurer la reconnaissance vocale
Configurez la capture et la transcription de la voix de l'utilisateur :
- Choisir la langue
- Ajuster les paramètres de reconnaissance vocale (paramètres du modèle Whisper)
- Configurer l'AEC (Annulation d'écho acoustique)
- Configurer le VAD (Détection d'activité vocale)

2. Configurer le chatbot IA
Choisissez votre fournisseur LLM et configurez-le :
- Sélectionner le fournisseur (Runtime AI Chatbot Integrator ou Runtime Local LLM)
- Pour les fournisseurs externes : jeton d'authentification, nom du modèle, etc.
- Pour le LLM local : sélectionner un modèle GGUF, définir la taille du contexte et d'autres paramètres d'inférence. Vous pouvez également télécharger votre propre modèle GGUF à l'exécution directement depuis la démo (par exemple via une URL), et l'utiliser immédiatement sans reconstruire le projet.
La liste déroulante des fournisseurs n'affiche que ceux dont le dossier du module du plugin est présent dans Content/Modules/.


3. Configurer la synthèse vocale (TTS)
Choisissez votre fournisseur TTS et configurez les voix/modèles :
- Sélectionner le fournisseur (Runtime AI Chatbot Integrator pour OpenAI/ElevenLabs, ou Runtime Text To Speech pour du Piper/Kokoro local)
- Sélectionner la voix / le modèle
- Ajuster les paramètres spécifiques au fournisseur


4. Configurer les animations
Contrôlez les aspects visuels de votre PNJ IA :
- Choisissez parmi 3 personnages MetaHuman prétéléchargés (Aera, Ada, Orlando)
- Sélectionnez le modèle de synchronisation labiale (Standard ou Realistic)
- Sélectionnez le type de modèle de synchronisation labiale - Highly Optimized, Semi-Optimized, ou Original (voir Type de modèle)
- Ajustez la taille du segment de traitement - contrôle la fréquence d'exécution de l'inférence de synchronisation labiale (voir Taille du segment de traitement)
- Sélectionnez une animation d'attente à jouer sur le MetaHuman pendant la conversation

Préconfiguration de la démo dans l'éditeur
Lorsque vous travaillez avec la version source, vous pouvez préremplir les valeurs par défaut directement dans l'éditeur pour éviter d'avoir à les ressaisir à chaque exécution :
| Quoi | Où |
|---|---|
| Paramètres généraux (modèle de synchronisation labiale, animation d'attente, classe de personnage, reconnaissance vocale, etc) | Content/LipSyncSTSGameInstance |
| Paramètres LLM externe / TTS externe (Runtime AI Chatbot Integrator) | Content/Modules/RuntimeAIChatbotIntegrator/RuntimeAIChatbotIntegrator_Provider |
| Paramètres LLM local (Runtime Local LLM) | Content/Modules/RuntimeLocalLLM/RuntimeLocalLLM_Provider |
| Paramètres TTS local (Runtime Text To Speech) | Content/Modules/RuntimeTextToSpeech/RuntimeTextToSpeech_Provider |
Remarques multiplateformes
Tous les plugins utilisés par la démo prennent en charge Windows, Mac, Linux, iOS, Android et les plateformes basées sur Android (y compris Meta Quest), de sorte que le projet de démonstration fonctionne également sur toutes ces plateformes.
Pour les appareils moins puissants (mobile, VR autonome), vous pouvez privilégier :
- Utiliser le modèle de synchronisation labiale Standard au lieu de Realistic - voir la Comparaison des modèles
- Passer au type de modèle Highly Optimized
- Augmenter la taille du segment de traitement pour réduire la charge CPU
- Choisir des modèles LLM / TTS plus petits
Consultez Configuration spécifique à la plateforme pour les étapes supplémentaires de configuration sur Android, iOS, Mac et Linux.
Importer votre propre MetaHuman
Le projet de démonstration est livré avec trois personnages MetaHuman d'exemple (Aera, Ada, Orlando), mais vous pouvez importer votre propre MetaHuman et l'utiliser dans la démo.
📺 Tutoriel vidéo : Ajouter un personnage MetaHuman personnalisé au projet de démonstration
Le plugin Runtime MetaHuman Lip Sync lui-même prend en charge de nombreux autres systèmes de personnages au-delà des MetaHumans (personnages basés sur ARKit, Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe, etc. - voir le Guide de configuration de personnages personnalisés).
Un projet de démonstration plus simple qui se concentre uniquement sur la fonctionnalité de synchronisation labiale elle-même, sans le flux de travail conversationnel IA complet. Convient si vous souhaitez simplement voir la synchronisation labiale en action avec différentes sources audio.
Vidéo de présentation
Téléchargements
Ce qui est inclus
Cette démo présente les flux de travail de base de la synchronisation labiale :
- Entrée microphone - synchronisation labiale en temps réel à partir d'un flux audio en direct
- Lecture de fichier audio - synchronisation labiale à partir de fichiers audio importés
- Synthèse vocale (TTS) - synchronisation labiale pilotée par de la parole synthétisée
Plugins requis et optionnels
| Plugin | Objectif | Requis ? |
|---|---|---|
| Runtime MetaHuman Lip Sync | Animation de synchronisation labiale | ✅ Requis |
| Runtime Audio Importer | Import et capture audio | ✅ Requis |
| Runtime Text To Speech | TTS local pour la scène de démo TTS | 🔶 Optionnel |
| Runtime AI Chatbot Integrator | Fournisseurs TTS externes (OpenAI, ElevenLabs) | 🔶 Optionnel |
Remarques pour le modèle de synchronisation labiale Standard
Si vous prévoyez d'utiliser le modèle Standard (au lieu de Realistic) dans l'un ou l'autre des projets de démonstration, vous devrez installer le plugin Standard Lip Sync Extension. Consultez Extension du modèle Standard pour les instructions d'installation.
Besoin d'aide ?
Si vous rencontrez des difficultés lors de la configuration ou de l'exécution des projets de démonstration, n'hésitez pas à nous contacter :
Pour les demandes de développement personnalisé (par exemple, étendre la démo avec votre propre logique, l'adapter à une plateforme ou à un pipeline de personnage spécifique), contactez solutions@georgy.dev.