Pular para o conteúdo principal

Projetos de Demonstração

Para ajudar você a começar rapidamente com o Runtime MetaHuman Lip Sync, dois projetos de demonstração prontos para uso estão disponíveis. Ambos são construídos com Unreal Engine 5.6+, são apenas Blueprint e funcionam em várias plataformas, incluindo Windows, Mac, Linux, iOS, Android e plataformas baseadas em Android (incluindo Meta Quest).

Projetos de Demonstração Disponíveis

Um fluxo de trabalho completo de avatar conversacional com IA que combina reconhecimento de fala, um chatbot de IA (LLM), conversão de texto em fala e reprodução de áudio com sincronização labial em tempo real – tudo executado em um único projeto. Adequado para uma ampla variedade de casos de uso – incluindo jogos, quiosques interativos, produção virtual, instalações em museus, assistentes digitais e simulações de treinamento.

Visão Geral do Pipeline

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

Vídeos

Prévia Rápida (~30 seg)

Uma breve demonstração do demo em ação.

Passo a Passo Completo

Um passo a passo detalhado cobrindo a configuração, a parametrização e o pipeline completo de conversação.

Downloads

Plugins Obrigatórios e Opcionais

O projeto de demonstração é modular - você só precisa dos plugins dos provedores que deseja utilizar.

PluginPropósitoObrigatório?
Runtime MetaHuman Lip SyncAnimação de sincronização labial✅ Sempre
Runtime Audio ImporterCaptura e processamento de áudio✅ Sempre
Runtime Speech RecognizerReconhecimento de fala offline (whisper.cpp)✅ Sempre
Runtime AI Chatbot IntegratorLLMs Externos (OpenAI, Claude, DeepSeek, Gemini, Grok, Ollama) e/ou TTS Externo (OpenAI, ElevenLabs)🔶 Opcional
Runtime Local LLMInferência de LLM local via llama.cpp (modelos GGUF como Llama, Mistral, Gemma, etc.)🔶 Opcional
Runtime Text To SpeechTTS local via Piper e Kokoro🔶 Opcional
Plugins opcionais - requisitos do provedor

Embora cada plugin acima seja opcional individualmente, você precisa de pelo menos um provedor de LLM e pelo menos um provedor de TTS para que a demonstração funcione. Misture e combine livremente (ex.: LLM local + TTS ElevenLabs, ou LLM OpenAI + TTS local).

Arquitetura Modular

Na pasta Content você encontrará uma pasta Modules que contém três subpastas:

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

Se você não adquiriu um ou mais dos plugins opcionais, basta excluir a(s) pasta(s) correspondente(s). Os assets base do projeto de demonstração (instância do jogo, widgets, etc.) não fazem referência direta a esses módulos, portanto, excluí-los não causará erros de referência de assets. A interface de configuração ocultará automaticamente qualquer provedor cuja pasta esteja ausente.

nota

Essa modularidade se aplica apenas aos provedores de LLM e TTS. O Reconhecimento de Fala (Runtime Speech Recognizer) e a Sincronização Labial (Runtime MetaHuman Lip Sync) fazem parte do projeto de demonstração base e são sempre obrigatórios.

Modules folder structure

atenção

Na primeira inicialização, o Unreal pode perguntar se deseja desabilitar plugins opcionais ausentes — clique em Sim. Certifique-se de também ter excluído a pasta Content/Modules/ correspondente (veja acima).

Layout do Projeto de Demonstração

A interface do usuário é para fins de demonstração.

A interface do usuário mostrada abaixo é construída inteiramente com UMG (Unreal Motion Graphics) e tem como objetivo puramente demonstrar o pipeline — reconhecimento de fala → LLM → TTS → sincronização labial. Você pode remodelá-la ou substituí-la para se adequar ao design visual, esquema de controle ou plataforma do seu projeto (VR/AR, mobile, console, quiosque, etc.). Se alguns widgets não forem necessários no seu caso de uso, você também pode simplesmente ocultá-los (por exemplo, definir a visibilidade deles como Collapsed ou Hidden).

Annotated overview of the demo project main screen

AreaO que há
CentralizarO personagem MetaHuman.
Lado esquerdoQuatro botões de configuração (Reconhecimento de Fala, Chatbot de IA, Conversão de Texto em Fala, Animações), descritos em detalhes abaixo.
Inferior centralUm botão Iniciar Gravação. Clique nele para iniciar uma conversa por voz: seu microfone é capturado, transcrito, enviado ao LLM, a resposta é sintetizada via TTS e reproduzida com sincronização labial, totalmente sem usar as mãos.
Centro direitoUm widget de histórico de conversa que mostra toda a troca de mensagens entre você e a IA (mensagens do usuário e do assistente). Ele também inclui um campo de entrada de texto, para que você possa digitar mensagens diretamente sem usar reconhecimento de fala, útil para testes, acessibilidade ou quando um microfone não estiver disponível.
dica

Você pode misturar livremente ambos os modos de entrada na mesma sessão — falar algumas mensagens, digitar outras.

Botões de Configuração

Os quatro botões de configuração à esquerda abrem painéis dedicados para cada parte do pipeline:

1. Configure o Reconhecimento de Fala

Configure como a voz do usuário é capturada e transcrita:

  • Selecione idioma
  • Ajustar parâmetros de reconhecimento de fala (configurações do modelo Whisper)
  • Configurar AEC (Cancelamento de Eco Acústico)
  • Configurar VAD (Detecção de Atividade de Voz)

Speech recognition configuration screen

2. Configure o Chatbot de IA

Escolha seu provedor de LLM e configure-o:

  • Selecione o provedor (Runtime AI Chatbot Integrator ou Runtime Local LLM)
  • Para provedores externos: token de autenticação, nome do modelo, etc.
  • Para LLM local: selecione um modelo GGUF, defina o tamanho do contexto e outros parâmetros de inferência. Você também pode baixar seu próprio modelo GGUF em tempo de execução diretamente da demonstração (por exemplo, por URL) e usá-lo imediatamente sem reconstruir o projeto.
dica

O combobox de provedores exibe apenas provedores cuja pasta de módulo do plugin está presente em Content/Modules/.

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

AI chatbot configuration - Runtime Local LLM (local GGUF)

3. Configure Text To Speech

Escolha seu provedor de TTS e configure vozes/modelos:

  • Selecione o provedor (Integrador de Chatbot de IA em Tempo Real para OpenAI/ElevenLabs, ou Conversão de Texto em Fala em Tempo Real para Piper/Kokoro local)
  • Selecione a voz/modelo
  • Ajuste os parâmetros específicos do provedor

TTS configuration - Runtime AI Chatbot Integrator (external TTS)

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

4. Configurar Animações

Controle os visuais do seu avatar de IA:

  • Escolha entre 3 personagens MetaHuman pré-baixados (Aera, Ada, Orlando)
  • Selecione o modelo de sincronização labial (Padrão ou Realista)
  • Selecione o tipo de modelo de sincronização labial - Altamente Otimizado, Semi-Otimizado ou Original (consulte Tipo de Modelo)
  • Ajuste o Tamanho do Bloco de Processamento - controla a frequência com que a inferência de sincronização labial é executada (consulte Tamanho do Bloco de Processamento)
  • Selecione uma animação de idle para reproduzir no MetaHuman durante a conversa

Animations configuration screen

Pré-configurando a Demonstração no Editor

Ao trabalhar com a versão fonte, você pode pré-preenche os padrões diretamente no editor para que os valores não precisem ser reinseridos a cada execução:

WhatOnde
Configurações gerais (modelo de sincronização labial, animação ociosa, classe de personagem, reconhecimento de fala, etc.)Content/LipSyncSTSGameInstance
Configurações de LLM Externo / TTS Externo (Integrador de Chatbot de IA em Tempo Real)Content/Modules/RuntimeAIChatbotIntegrator/RuntimeAIChatbotIntegrator_Provider
Configurações do LLM Local (Runtime Local LLM)Content/Modules/RuntimeLocalLLM/RuntimeLocalLLM_Provider
Configurações de TTS Local (Texto para Fala em Tempo de Execução)Content/Modules/RuntimeTextToSpeech/RuntimeTextToSpeech_Provider

Notas de Plataforma Cruzada

Todos os plugins usados pelo demo são compatíveis com Windows, Mac, Linux, iOS, Android e plataformas baseadas em Android (incluindo Meta Quest), portanto o projeto demo também funciona em todas elas. Isso o torna adequado para implantação em uma ampla variedade de ambientes — desde jogos e quiosques desktop até aplicativos móveis, headsets VR autônomos e configurações de produção virtual em estúdio.

Para dispositivos mais fracos (mobile, VR autônomo), você pode querer:

  • Use o modelo de sincronização labial padrão em vez do Realista - veja a Comparação de modelos
  • Mude para o tipo de modelo Altamente Otimizado
  • Aumente o Tamanho do Bloco de Processamento para reduzir a carga da CPU
  • Escolha modelos LLM / TTS menores

Consulte a Configuração Específica da Plataforma para etapas adicionais de configuração no Android, iOS, Mac e Linux.

Suporte para Pixel Streaming

Implantando a demonstração no Pixel Streaming (clique para expandir)

O projeto de demonstração de Conversação com IA também funciona em um ambiente de Pixel Streaming, permitindo que você transmita o avatar MetaHuman para um cliente remoto (ex.: um navegador web) enquanto captura o áudio do microfone do usuário pelo lado do cliente. Apenas uma única alteração na demonstração é necessária.

1. Instale a extensão Pixel Streaming para o Runtime Audio Importer

O plugin Runtime Audio Importer fornece uma extensão gratuita que permite capturar áudio de um cliente Pixel Streaming. Dependendo da versão da infraestrutura Pixel Streaming que você está usando, instale uma das seguintes:

Os links de download e as etapas de instalação estão disponíveis aqui: Captura de Áudio para Pixel Streaming - Instalação do Plugin de Extensão.

2. Substitua o nó de onda sonora capturável em LipSyncSTSGameInstance

Após a instalação do plugin de extensão:

  1. No Navegador de Conteúdo, navegue até /All/Game e abra o asset LipSyncSTSGameInstance.
  2. Mude para o Event Graph.
  3. Localize o Event Init e siga o fluxo de execução até encontrar o par de nós: Create Capturable Sound WaveSet Capturable Sound Wave.
  4. Substitua a chamada Create Capturable Sound Wave por Create Pixel Streaming Capturable Sound Wave ou Create Pixel Streaming 2 Capturable Sound Wave, dependendo da versão da infraestrutura Pixel Streaming que você está utilizando.
  5. Conecte sua saída ao mesmo nó Set Capturable Sound Wave.

Após isso, o projeto está pronto para ser implantado no Pixel Streaming — reconhecimento de fala, LLM, TTS e sincronização labial funcionarão como antes, mas com o áudio capturado do cliente remoto em vez de um microfone local.

Trazendo Seu Próprio Personagem

O projeto de demonstração vem com três personagens MetaHuman de exemplo (Aera, Ada, Orlando), mas você pode importar seu próprio MetaHuman e usá-lo na demonstração.

📺 Tutorial em vídeo: Adicionando um Personagem MetaHuman Personalizado ao Projeto de Demonstração

nota

O plugin Runtime MetaHuman Lip Sync em si suporta muitos outros sistemas de personagens além dos MetaHumans (personagens baseados em ARKit, Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe, etc - veja o Guia de Configuração de Personagens Personalizados). Seja criando um NPC de jogo, um apresentador virtual, um atendente de quiosque ou um humano digital para produção virtual, o plugin se adapta ao seu pipeline de personagens.

Notas para o Modelo Padrão de Sincronização Labial

Se você planeja usar o Modelo Padrão (em vez do Realista) em qualquer um dos projetos de demonstração, precisará instalar o plugin de Extensão de Sincronização Labial Padrão. Consulte Extensão do Modelo Padrão para obter instruções de instalação.

Precisa de Ajuda?

Se você encontrar qualquer problema ao configurar ou executar os projetos de demonstração, fique à vontade para entrar em contato:

Join our Discord
online · support

Para solicitações de desenvolvimento personalizado (ex.: estender o demo com sua própria lógica, adaptá-lo para uma plataforma específica ou pipeline de personagens), entre em contato com [email protected].