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 somente Blueprint e funcionam em várias plataformas: 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 rodando junto em um único projeto. Adequado para uma ampla gama de casos de uso - incluindo jogos, quiosques interativos, produção virtual, instalações de museus, assistentes digitais e simulações de treinamento.

Visão geral do pipeline

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

Quando o LLM está no modo de streaming, sua saída é dividida frase por frase e enviada ao TTS assim que cada frase é concluída, em vez de esperar a resposta completa, para minimizar a latência.

TTS e sincronização labial seguem o mesmo princípio: com o modo Streaming habilitado, o áudio é processado e animado em partes conforme chega, em vez de esperar o clipe completo.

Vídeos

Pré-visualização rápida (~30 segundos)

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

Passo a passo completo

Um passo a passo detalhado cobrindo instalação, configuração e todo o pipeline conversacional.

Downloads

Plugins Necessários & Opcionais

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

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 (Llama, Mistral, Gemma, etc., modelos GGUF)🔶 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 demo funcione. Misture e combine livremente (por exemplo, LLM local + TTS da ElevenLabs, ou LLM da 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, simplesmente exclua a(s) pasta(s) correspondente(s). Os ativos base do projeto de demonstração (game instance, widgets, etc.) não referenciam esses módulos diretamente, portanto excluí-los não causará erros de referência de ativos. A interface de configuração ocultará automaticamente qualquer provedor cuja pasta esteja faltando.

nota

Essa modularidade se aplica apenas aos provedores de LLM e TTS. Reconhecimento de Fala (Runtime Speech Recognizer) e Lip Sync (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 desativar plugins opcionais ausentes - clique em Sim. Certifique-se também de excluir a pasta correspondente Content/Modules/ (veja acima).

Plugins de Extensão Incluídos

Extensões Silero VAD, WebRTC AEC3 e Standard Lip Sync (clique para expandir)

A versão fonte da demo acompanha três plugins de extensão gratuitos pré-incluídos em sua pasta Plugins/: RuntimeAudioImporterSileroVAD (VAD neural), RuntimeAudioImporterWebRTCAEC3 (cancelamento de eco) e RuntimeMetaHumanLipSync_Standard (modelo de lip sync Standard).

Os binários inclusos são pré-compilados para UE 5.6. Para UE 5.7 / 5.8, compile-os a partir do código-fonte (consulte a documentação de cada extensão) ou use binários pré-compilados: UE 5.7 · UE 5.8. Para instalar: exclua as três pastas existentes de Plugins/ e extraia o conteúdo do arquivo para Plugins/ no lugar delas.

Todos os três são opcionais - se você não precisar deles, basta excluir as pastas deles de Plugins/ antes de iniciar.

Layout do Projeto de Demonstração

UI é apenas para fins de demonstração.

A interface de usuário mostrada abaixo é construída inteiramente com UMG (Unreal Motion Graphics) e tem a intenção puramente de demonstrar o pipeline — reconhecimento de fala → LLM → TTS → sincronização labial. Você fica livre para reestilizá-la ou substituí-la para adequá-la ao design visual, esquema de controle ou plataforma do seu projeto (VR/AR, dispositivos móveis, console, quiosque, etc.). Se determinados 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á
CentroO personagem MetaHuman.
Lado esquerdoQuatro botões de configuração (Reconhecimento de Fala, Chatbot de IA, Texto para Fala, Animações), descritos em detalhes abaixo.
Centro inferiorUm botão Iniciar Gravação. Clique nele para começar 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 mostrando toda a troca 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 não há microfone disponível.
dica

Você pode misturar livremente os dois modos de entrada na mesma sessão - fale algumas mensagens, digite outras.

dica

Se a sincronização labial continuar ficando cada vez mais atrás do áudio quanto mais você testar (não apenas um atraso fixo), consulte Tamanho do Bloco de Processamento na seção Configurar Animações abaixo.

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 o idioma
  • Ajuste os parâmetros de reconhecimento de fala (configurações do modelo Whisper)
  • Configure AEC (Cancelamento de Eco Acústico)
  • Configure 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 provedor (Runtime AI Chatbot Integrator ou Runtime Local LLM)
  • Selecione modo: Regular ou Streaming (dependente do provedor; o Streaming permite a transferência de TTS frase por frase; veja Visão geral do pipeline)
  • 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 do demo (por exemplo, por URL) e usá-lo imediatamente sem reconstruir o projeto.
dica

O combobox de provedores só exibe provedores cuja pasta de módulo de plugin esteja presente em Content/Modules/.

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

AI chatbot configuration - Runtime Local LLM (local GGUF)

3. Configure Texto para Fala

Escolha seu provedor de TTS e configure vozes/modelos:

  • Selecione provedor (Runtime AI Chatbot Integrator para OpenAI/ElevenLabs, ou Runtime Text To Speech para Piper/Kokoro local)
  • Selecione modo: Regular ou Streaming (controla se o áudio é retornado de uma só vez ou conforme é sintetizado)
  • Selecione voz/modelo
  • Ajuste 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 AI:

  • Escolha entre 3 personagens MetaHuman pré-baixados (Aera, Ada, Orlando)
  • Selecione o modelo de sincronização labial (Standard ou Realistic)
  • 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 com que frequência a inferência de sincronização labial é executada (consulte Tamanho do Bloco de Processamento)
    • Se a sincronização labial ficar cada vez mais atrasada em relação ao áudio sob carga de CPU, aumente este valor para 480 ou 640.
  • Selecione uma animação de espera para reproduzir no MetaHuman durante a conversa.

Animations configuration screen

Pré-configurando o Demo no Editor

Ao trabalhar com a versão fonte, você pode predefinir os valores padrão diretamente no editor para que não seja necessário reinseri-los a cada execução:

WhatOnde
Configurações gerais (modelo de lip sync, animação de idle, classe de personagem, reconhecimento de fala, etc.)Content/LipSyncSTSGameInstance
Configurações de LLM externo / TTS externo (Runtime AI Chatbot Integrator)Content/Modules/RuntimeAIChatbotIntegrator/RuntimeAIChatbotIntegrator_Provider
Configurações de LLM local (Runtime Local LLM)Content/Modules/RuntimeLocalLLM/RuntimeLocalLLM_Provider
Configurações de TTS local (Runtime Text To Speech)Content/Modules/RuntimeTextToSpeech/RuntimeTextToSpeech_Provider

Notas Multiplataforma

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

Para dispositivos menos potentes (celulares, VR autônomo), você pode querer:

  • Use o modelo de lip sync Standard em vez do Realistic - consulte a comparação de modelos
  • Mude para o tipo de modelo Highly Optimized
  • Aumente o Processing Chunk Size para reduzir a carga da CPU
  • Escolha modelos LLM / TTS menores

Consulte 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 IA conversacional também funciona em um ambiente Pixel Streaming, permitindo transmitir o avatar MetaHuman para um cliente remoto (por exemplo, um navegador web) enquanto captura o áudio do microfone do usuário do 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 um plugin de extensão gratuito que permite capturar áudio de um cliente do Pixel Streaming. Dependendo da versão da infraestrutura do Pixel Streaming que você está usando, instale um dos:

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

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

Depois que o plugin de extensão for instalado:

  1. No Content Browser, navegue até /All/Game e abra o asset LipSyncSTSGameInstance.
  2. Mude para o Event Graph.
  3. Localize 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á visando.
  5. Conecte a saída dele ao mesmo nó Set Capturable Sound Wave.

Depois disso, o projeto está pronto para ser implantado no Pixel Streaming - reconhecimento de fala, LLM, TTS e sincronização labial continuarão funcionando 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 acompanha 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. — consulte o Guia de Configuração de Personagens Personalizados). Quer você esteja 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.

Precisa de ajuda?

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

Join our Discord
online · support

Para solicitações de desenvolvimento personalizado (por exemplo, estender a demo com sua própria lógica, adaptá-la para uma plataforma ou pipeline de personagens específico), entre em contato com [email protected].