Saltar al contenido principal

Proyectos de demostración

Para ayudarte a comenzar rápidamente con Runtime MetaHuman Lip Sync, hay dos proyectos de demostración listos para usar. Ambos están creados con Unreal Engine 5.6+, son solo con Blueprints y funcionan multiplataforma en Windows, Mac, Linux, iOS, Android y plataformas basadas en Android (incluido Meta Quest).

Proyectos de demostración disponibles

Un flujo de trabajo completo de avatar conversacional con IA que combina reconocimiento de voz, un chatbot de IA (LLM), conversión de texto a voz y reproducción de audio con sincronización de labios en tiempo real, todo ejecutándose junto en un solo proyecto. Adecuado para una amplia gama de casos de uso, incluidos videojuegos, kioscos interactivos, producción virtual, instalaciones en museos, asistentes digitales y simulaciones de entrenamiento.

Resumen del pipeline

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

Cuando el LLM está configurado en modo streaming, su salida se divide frase por frase y se envía a TTS a medida que cada frase se completa, en lugar de esperar a la respuesta completa, para minimizar la latencia.

Videos

Vista previa rápida (~30 seg)

Una breve demostración del demo en acción.

Guía completa

Un recorrido detallado que cubre la instalación, la configuración y el flujo conversacional completo.

Descargas

Plugins requeridos y opcionales

El proyecto de demostración es modular: solo necesitas los plugins para los proveedores que quieras usar.

ComplementoPropósito¿Requerido?
Runtime MetaHuman Lip SyncAnimación de sincronización de labios✅ Siempre
Runtime Audio ImporterCaptura y procesamiento de audio✅ Siempre
Runtime Speech RecognizerReconocimiento de voz sin conexión (whisper.cpp)✅ Siempre
Runtime AI Chatbot IntegratorLLMs externos (OpenAI, Claude, DeepSeek, Gemini, Grok, Ollama) y/o TTS externo (OpenAI, ElevenLabs)🔶 Opcional
Runtime Local LLMInferencia local de LLM mediante llama.cpp (Llama, Mistral, Gemma, etc., modelos GGUF)🔶 Opcional
Runtime Text To SpeechTTS local mediante Piper y Kokoro🔶 Opcional
Plugins opcionales - requisitos del proveedor

Aunque cada plugin mencionado arriba es opcional de forma individual, necesitas al menos un proveedor de LLM y al menos un proveedor de TTS para que la demo funcione. Mezcla y combina libremente (por ejemplo, LLM local + TTS de ElevenLabs, o LLM de OpenAI + TTS local).

Arquitectura modular

En la carpeta Content encontrarás una carpeta Modules que contiene tres subcarpetas:

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

Si no has adquirido uno (o más) de los plugins opcionales, simplemente elimina la(s) carpeta(s) correspondiente(s). Los assets base del proyecto de demostración (instancia de juego, widgets, etc.) no hacen referencia directa a estos módulos, por lo que eliminarlos no causará errores de referencia de assets. La interfaz de configuración ocultará automáticamente cualquier proveedor cuya carpeta falte.

nota

Esta modularidad se aplica únicamente a los proveedores de LLM y TTS. El Reconocimiento de voz (Runtime Speech Recognizer) y la Sincronización de labios (Runtime MetaHuman Lip Sync) forman parte del proyecto de demostración base y siempre son necesarios.

Modules folder structure

aviso

En el primer inicio, Unreal puede preguntar si deseas desactivar los plugins opcionales que falten: haz clic en . Asegúrate también de haber eliminado la carpeta correspondiente Content/Modules/ (ver arriba).

Plugins de extensión incluidos

Silero VAD, WebRTC AEC3 y extensiones estándar de Lip Sync (clic para expandir)

La versión de origen de la demo incluye tres plugins de extensión gratuitos precargados en su carpeta Plugins/: RuntimeAudioImporterSileroVAD (VAD neuronal), RuntimeAudioImporterWebRTCAEC3 (cancelación de eco) y RuntimeMetaHumanLipSync_Standard (modelo estándar de sincronización de labios).

Los binarios incluidos están precompilados para UE 5.6. Para UE 5.7 / 5.8, compílalos desde el código fuente (consulta la documentación de cada extensión) o usa binarios precompilados: UE 5.7 · UE 5.8. Para instalar: elimina las tres carpetas existentes de Plugins/ y luego extrae el contenido del archivo en Plugins/ en su lugar.

Los tres son opcionales - si no los necesitas, simplemente elimina sus carpetas de Plugins/ antes de iniciar.

Estructura del proyecto demo

La UI es para fines de demostración.

La interfaz de usuario que se muestra a continuación está construida íntegramente con UMG y tiene como único propósito demostrar el proceso: reconocimiento de voz → LLM → TTS → sincronización de labios. Eres libre de rediseñarla o reemplazarla para que se ajuste al diseño visual, al esquema de control o a la plataforma de tu proyecto (VR/AR, móvil, consola, quiosco, etc.). Si ciertos widgets no son necesarios en tu caso de uso, también puedes simplemente ocultarlos (p. ej., estableciendo su visibilidad en Collapsed o Hidden).

Annotated overview of the demo project main screen

Area¿Qué hay ahí?
CentroEl personaje MetaHuman.
Lado izquierdoCuatro botones de configuración (Reconocimiento de voz, Chatbot de IA, Texto a voz, Animaciones), descritos en detalle a continuación.
Centro inferiorUn botón Iniciar grabación. Haz clic en él para comenzar una conversación por voz: se captura el micrófono, se transcribe, se envía al LLM, la respuesta se sintetiza mediante TTS y se reproduce con sincronización de labios, totalmente manos libres.
Centro derechoUn widget de historial de conversación que muestra el intercambio completo entre tú y la AI (tanto mensajes del usuario como del asistente). También incluye un campo de entrada de texto, para que puedas escribir mensajes directamente sin usar reconocimiento de voz, útil para pruebas, para accesibilidad o cuando no se dispone de un micrófono.
tip

Puedes mezclar ambos modos de entrada libremente en la misma sesión - habla algunos mensajes, escribe otros.

tip

Si la sincronización de labios se desfasa cada vez más con respecto al audio cuanto más tiempo pases probando (no solo un retraso fijo), consulta Tamaño del bloque de procesamiento en Configurar animaciones a continuación.

Botones de configuración

Los cuatro botones de configuración de la izquierda abren paneles dedicados para cada parte del proceso:

1. Configurar el reconocimiento de voz

Configura cómo se captura y transcribe la voz del usuario:

  • Seleccionar idioma
  • Ajustar los parámetros de reconocimiento de voz (configuración del modelo Whisper)
  • Configurar AEC (cancelación de eco acústico)
  • Configurar VAD (detección de actividad de voz)

Speech recognition configuration screen

2. Configurar el chatbot de IA

Elige tu proveedor de LLM y configúralo:

  • Seleccione proveedor (Runtime AI Chatbot Integrator o Runtime Local LLM)
  • Seleccione modo: Regular o Streaming (dependiente del proveedor; Streaming permite la transferencia de TTS frase por frase; consulte Descripción general del pipeline)
  • Para proveedores externos: token de autenticación, nombre del modelo, etc.
  • Para LLM local: seleccione un modelo GGUF, establezca el tamaño de contexto y otros parámetros de inferencia. También puede descargar su propio modelo GGUF en tiempo de ejecución directamente desde la demo (p. ej., mediante URL) y usarlo de inmediato sin recompilar el proyecto.
tip

El cuadro combinado de proveedores solo muestra proveedores cuya carpeta de módulo de plugin está presente en Content/Modules/.

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

AI chatbot configuration - Runtime Local LLM (local GGUF)

3. Configurar texto a voz

Elige tu proveedor de TTS y configura voces/modelos:

  • Seleccione el proveedor (Runtime AI Chatbot Integrator para OpenAI/ElevenLabs, o Runtime Text To Speech para Piper/Kokoro local)
  • Seleccione el modo: Normal o Streaming (controla si el audio se devuelve de una sola vez o a medida que se sintetiza)
  • Seleccione voz/modelo
  • Ajuste los parámetros específicos del proveedor

TTS configuration - Runtime AI Chatbot Integrator (external TTS)

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

4. Configurar animaciones

Controla la apariencia visual de tu avatar de IA:

  • Elige entre 3 personajes MetaHuman precargados (Aera, Ada, Orlando)
  • Selecciona modelo de sincronización de labios (Estándar o Realista)
  • Selecciona tipo de modelo de sincronización de labios - Muy optimizado, Semioptimizado u Original (consulta Tipo de modelo)
  • Ajusta el Tamaño del bloque de procesamiento - controla con qué frecuencia se ejecuta la inferencia de sincronización de labios (consulta Tamaño del bloque de procesamiento)
    • Si la sincronización de labios se desfasa cada vez más con respecto al audio bajo carga de CPU, aumenta este valor a 480 o 640.
  • Selecciona una animación de reposo para reproducir en el MetaHuman durante la conversación.

Animations configuration screen

Configuración previa de la demostración en el editor

Al trabajar con la versión de código fuente, puedes prellenar los valores predeterminados directamente en el editor para que no sea necesario volver a ingresarlos en cada ejecución:

WhatDónde
Configuración general (modelo de sincronización de labios, animación de reposo, clase de personaje, reconocimiento de voz, etc.)Content/LipSyncSTSGameInstance
LLM externo / TTS externo configuración (Runtime AI Chatbot Integrator)Content/Modules/RuntimeAIChatbotIntegrator/RuntimeAIChatbotIntegrator_Provider
Configuración de LLM local (Runtime Local LLM)Content/Modules/RuntimeLocalLLM/RuntimeLocalLLM_Provider
Ajustes de TTS local (Texto a voz en tiempo de ejecución)Content/Modules/RuntimeTextToSpeech/RuntimeTextToSpeech_Provider

Notas Multiplataforma

Todos los complementos utilizados por el proyecto demo son compatibles con Windows, Mac, Linux, iOS, Android y plataformas basadas en Android (incluido Meta Quest), por lo que el proyecto demo también funciona en todas ellas. Esto lo hace adecuado para su implementación en una amplia variedad de entornos - desde juegos y quioscos de escritorio hasta aplicaciones móviles, cascos de realidad virtual autónomos y configuraciones de producción virtual en el set.

Para dispositivos más débiles (móviles, VR independiente), es posible que quieras:

  • Usa el modelo estándar de sincronización de labios en lugar del realista: consulta la comparación de modelos
  • Cambia al tipo de modelo altamente optimizado
  • Aumenta el tamaño del bloque de procesamiento para reducir la carga de CPU
  • Elige modelos de LLM / TTS más pequeños

Consulta la Configuración específica de la plataforma para los pasos de configuración adicionales en Android, iOS, Mac y Linux.

Compatibilidad con Pixel Streaming

Desplegando la demostración en Pixel Streaming (clic para expandir)

El proyecto de demostración de AI conversacional también funciona en un entorno de Pixel Streaming, lo que te permite transmitir el avatar MetaHuman a un cliente remoto (p. ej., un navegador web) mientras capturas el audio del micrófono del usuario desde el lado del cliente. Solo se requiere un único cambio en la demostración.

1. Instala la extensión Pixel Streaming para Runtime Audio Importer.

El plugin Runtime Audio Importer proporciona un plugin de extensión gratuito que permite capturar audio de un cliente de Pixel Streaming. Dependiendo de la versión de infraestructura de Pixel Streaming que estés usando, instala uno de:

Los enlaces de descarga y los pasos de instalación están disponibles aquí: Pixel Streaming Audio Capture – Instalación del Plugin de Extensión.

Intercambia el nodo de onda de sonido capturable en LipSyncSTSGameInstance.

Una vez instalado el complemento de la extensión:

  1. En el Explorador de contenido, ve a /All/Game y abre el activo LipSyncSTSGameInstance.
  2. Cambia al Gráfico de eventos.
  3. Localiza Event Init y sigue el flujo de ejecución hasta encontrar el par de nodos: Create Capturable Sound WaveSet Capturable Sound Wave.
  4. Reemplaza la llamada Create Capturable Sound Wave por Create Pixel Streaming Capturable Sound Wave o Create Pixel Streaming 2 Capturable Sound Wave, dependiendo de la versión de infraestructura de Pixel Streaming a la que apuntes.
  5. Conecta su salida al mismo nodo Set Capturable Sound Wave.

Después de esto, el proyecto estará listo para desplegarse en Pixel Streaming: el reconocimiento de voz, el LLM, el TTS y la sincronización de labios funcionarán como antes, pero con audio capturado del cliente remoto en lugar de un micrófono local.

Trayendo tu propio personaje

El proyecto de demostración incluye tres personajes MetaHuman de ejemplo (Aera, Ada, Orlando), pero puedes importar tu propio MetaHuman y usarlo en la demostración.

📺 Videotutorial: Agregar un personaje MetaHuman personalizado al proyecto de demostración

nota

El plugin Runtime MetaHuman Lip Sync en sí admite muchos otros sistemas de personajes más allá de los MetaHumans (personajes basados en ARKit, Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe, etc.; consulta la Guía de Configuración de Personajes Personalizados). Ya sea que estés creando un NPC de juego, un presentador virtual, un asistente de quiosco o un humano digital para producción virtual, el plugin se adapta a tu pipeline de personajes.

¿Necesitas ayuda?

Si tienes algún problema al configurar o ejecutar los proyectos demo, no dudes en contactarnos:

Join our Discord
online · support

Para solicitudes de desarrollo personalizado (p. ej., ampliar la demostración con su propia lógica, adaptarla para una plataforma específica o un pipeline de personajes), contacte con [email protected].