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 disponibles. Ambos están creados con Unreal Engine 5.6+, son solo Blueprint 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), 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 juegos, quioscos interactivos, producción virtual, instalaciones de museos, asistentes digitales y simulaciones de entrenamiento.

Descripción general 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 la respuesta completa, para minimizar la latencia.

El TTS y la sincronización de labios siguen el mismo principio: con el modo Streaming habilitado, el audio se procesa y se anima en fragmentos a medida que llega, en lugar de esperar al clip completo.

Videos

Vista previa rápida (~30 seg)

Una breve muestra del demo en acción.

Paso a paso completo

Una guía detallada que cubre la configuración, el ajuste 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.

PluginPropó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 de LLM local mediante llama.cpp (Llama, Mistral, Gemma, etc., modelos GGUF)🔶 Opcional
Runtime Text To SpeechTTS local mediante Piper y Kokoro🔶 Opcional
Complementos opcionales: requisitos del proveedor

Mientras que cada plugin anterior 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 (p. ej., 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 adquiriste uno (o más) de los complementos opcionales, simplemente elimina la(s) carpeta(s) correspondiente(s). Los activos 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 activos. La interfaz de configuración ocultará automáticamente cualquier proveedor cuya carpeta falte.

nota

Esta modularidad aplica solo a los proveedores de LLM y TTS. El Reconocimiento de Voz (Runtime Speech Recognizer) y la Sincronización de Labios (Runtime MetaHuman Lip Sync) son parte del proyecto de demostración base y siempre son necesarios.

Modules folder structure

aviso

En el primer inicio, Unreal puede preguntar si desea deshabilitar los complementos opcionales faltantes: haga clic en . Asegúrese también de haber eliminado la carpeta Content/Modules/ correspondiente (ver arriba).

Complementos de extensión incluidos

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

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

Los binarios incluidos están precompilados para UE 5.6. Para UE 5.7 / 5.8, ya sea compílalos desde el código fuente (consulta la documentación de cada extensión) o usa los binarios precompilados: UE 5.7 · UE 5.8. Para instalarlos: 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.

Distribución del Proyecto de Demostración

La interfaz de usuario es solo para fines de demostración.

La interfaz de usuario que se muestra a continuación está construida íntegramente con UMG (Unreal Motion Graphics) y tiene como único propósito demostrar el flujo de trabajo: reconocimiento de voz → LLM → TTS → sincronización de labios. Eres libre de rediseñarla o reemplazarla para que coincida con el diseño visual, el esquema de control o 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 (por ejemplo, estableciendo su visibilidad en Collapsed o Hidden).

Annotated overview of the demo project main screen

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

Puedes combinar libremente ambos modos de entrada en la misma sesión: dicta algunos mensajes, escribe otros.

tip

Si el lip sync sigue desincronizándose cada vez más con el audio cuanto más tiempo pruebas (no solo un retraso fijo), consulta Processing Chunk Size en Configurar animaciones a continuación.

Botones de configuración

Los cuatro botones de configuración a 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 el proveedor (Runtime AI Chatbot Integrator o Runtime Local LLM)
  • Seleccione el modo: Regular o Streaming (depende 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, configure el tamaño del contexto y otros parámetros de inferencia. También puede descargar su propio modelo GGUF en tiempo de ejecución directamente desde la demo (por ejemplo, mediante URL) y usarlo de inmediato sin reconstruir 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 Text To Speech

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: Regular o Streaming (controla si el audio se devuelve de una sola vez o mientras 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 los aspectos visuales de tu avatar de IA:

  • Elige entre 3 personajes MetaHuman precargados (Aera, Ada, Orlando)
  • Selecciona el modelo de sincronización de labios (Estándar o Realista)
  • Selecciona el tipo de modelo de sincronización de labios: Altamente Optimizado, Semi-Optimizado u Original (consulta Tipo de Modelo)
  • Ajusta el Tamaño del Fragmento de Procesamiento: controla la frecuencia con la que se ejecuta la inferencia de sincronización de labios (consulta Tamaño del Fragmento de Procesamiento)
    • Si la sincronización de labios se retrasa más respecto al audio con el tiempo bajo carga de CPU, aumenta esto a 480 o 640.
  • Selecciona una animación de reposo para reproducir en el MetaHuman durante la conversación.

Animations configuration screen

Preconfiguración de la demo en el editor

Cuando trabajes con la versión fuente, puedes pre-rellenar 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 lip sync, animación inactiva, clase de personaje, reconocimiento de voz, etc.)Content/LipSyncSTSGameInstance
Configuración de LLM externo / TTS externo (Runtime AI Chatbot Integrator)Content/Modules/RuntimeAIChatbotIntegrator/RuntimeAIChatbotIntegrator_Provider
Configuración de LLM local (Runtime Local LLM)Content/Modules/RuntimeLocalLLM/RuntimeLocalLLM_Provider
Configuración de TTS local (Runtime Text To Speech)Content/Modules/RuntimeTextToSpeech/RuntimeTextToSpeech_Provider

Notas multiplataforma

Todos los plugins utilizados por la demo son compatibles con Windows, Mac, Linux, iOS, Android y plataformas basadas en Android (incluido Meta Quest), por lo que el proyecto de la 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 independientes y configuraciones de producción virtual en el set.

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

  • Usa el modelo de sincronización labial estándar en lugar del Realista; consulta la comparación de modelos
  • Cambia al tipo de modelo Altamente optimizado
  • Aumenta el tamaño del fragmento de procesamiento para reducir la carga de la CPU
  • Elige modelos de LLM / TTS más pequeños

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

Compatibilidad con Pixel Streaming

Implementación de la demo en Pixel Streaming (clic para expandir)

El proyecto de demostración de IA conversacional también funciona en un entorno de Pixel Streaming, lo que te permite transmitir el avatar MetaHuman a un cliente remoto (por ejemplo, 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 desde un cliente de Pixel Streaming. Dependiendo de la versión de la infraestructura de Pixel Streaming que estés utilizando, instala uno de los siguientes:

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

2. Intercambia el nodo de onda de sonido capturable en LipSyncSTSGameInstance

Después de que el plugin de extensión esté instalado:

  1. En el Content Browser, navega a /All/Game y abre el activo LipSyncSTSGameInstance.
  2. Cambia al Event Graph.
  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 a Create Capturable Sound Wave con Create Pixel Streaming Capturable Sound Wave o Create Pixel Streaming 2 Capturable Sound Wave, según la versión de la infraestructura de Pixel Streaming a la que te estés dirigiendo.
  5. Conecta su salida al mismo nodo Set Capturable Sound Wave.

Después de esto, el proyecto está listo para implementarse en Pixel Streaming: el reconocimiento de voz, el LLM, el TTS y la sincronización de labios funcionarán igual que 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 muestra (Aera, Ada, Orlando), pero puedes importar tu propio MetaHuman y usarlo en la demostración.

📺 Tutorial en video: Cómo agregar un personaje MetaHuman personalizado al proyecto de demostración

nota

El plugin Runtime MetaHuman Lip Sync en sí mismo 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 flujo de trabajo de personajes.

¿Necesitas ayuda?

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

Join our Discord
online · support

Para solicitudes de desarrollo personalizado (por ejemplo, ampliar la demo con tu propia lógica, adaptarla para una plataforma específica o un pipeline de personajes), contacta con [email protected].