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, 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, combinando 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 em conjunto 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

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

TTS e lip sync seguem o mesmo princípio: com o modo Streaming habilitado, o áudio é processado e animado em blocos conforme chega, em vez de esperar pelo clipe completo.

Vídeos

Prévia Rápida (~30 seg)

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

Passo a passo completo

Uma análise detalhada abordando a configuração, a definição de parâmetros e todo o fluxo conversacional completo.

Downloads

Plugins Necessários & Opcionais

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

PluginFinalidadeObrigató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 (ex.: LLM local + ElevenLabs TTS, 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 (game instance, widgets, etc.) não referenciam esses módulos diretamente, então excluí-los não causará erros de referência de assets. A UI 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 necessários.

Modules folder structure

atenção

No primeiro lançamento, o Unreal pode perguntar se deseja desativar quaisquer plugins opcionais ausentes - clique em Sim. Certifique-se de também ter excluído a pasta Content/Modules/ correspondente (veja acima).

Plugins de Extensão Inclusos

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

A versão original do demo acompanha três plugins de extensão gratuitos pré-incluídos na pasta Plugins/: RuntimeAudioImporterSileroVAD (VAD neural), RuntimeAudioImporterWebRTCAEC3 (cancelamento de eco) e RuntimeMetaHumanLipSync_Standard (modelo de sincronização labial Standard).

Os binários incluídos 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 os binários pré-compilados: UE 5.7 · UE 5.8. Para instalar: exclua as três pastas existentes de Plugins/ e, em seguida, extraia o conteúdo do arquivo em Plugins/ no lugar delas.

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

Layout do Projeto de Demonstração

A interface é apenas 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ê é livre para reestilizá-la ou substituí-la para combinar com o 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á lá
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 o reconhecimento de fala, útil para testes, acessibilidade ou quando não houver microfone disponível.
dica

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

dica

Se o lip sync continuar ficando cada vez mais atrasado em relação ao áudio quanto mais tempo você testa (não apenas um atraso fixo), consulte Processing Chunk Size em Configure Animations 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 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 AI Chatbot

Escolha seu provedor de LLM e configure-o:

  • Selecione o provedor (Runtime AI Chatbot Integrator ou Runtime Local LLM)
  • Selecione o modo: Regular ou Streaming (depende do provedor; Streaming permite a transferência de TTS frase por frase, consulte a 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 da demonstração (por exemplo, por URL) e usá-lo imediatamente sem recompilar o projeto.
dica

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

Controle os visuais do seu avatar de IA:

  • Escolha entre 3 personagens MetaHuman pré-baixados (Aera, Ada, Orlando)
  • Selecione o modelo de lip sync (Standard ou Realistic)
  • Selecione o tipo de modelo de lip sync - Altamente Otimizado, Semi-Otimizado ou Original (veja Tipo de Modelo)
  • Ajuste o Tamanho do Chunk de Processamento - controla com que frequência a inferência de lip sync é executada (veja Tamanho do Chunk de Processamento)
    • Se o lip sync ficar cada vez mais atrasado em relação ao áudio ao longo do tempo sob carga de CPU, aumente isso para 480 ou 640
  • Selecione uma animação ociosa para reproduzir no MetaHuman durante a conversa.

Animations configuration screen

Pré-configurando a Demonstração no Editor

Ao trabalhar com a versão de origem, você pode pré-preencher 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 lip sync, animação ociosa, 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 de Plataforma Cruzada

Todos os plugins usados pelo demo suportam Windows, Mac, Linux, iOS, Android e plataformas baseadas em Android (incluindo Meta Quest), então 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 de desktop até aplicativos móveis, headsets de VR autônomos e configurações de produção virtual no set.

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

  • Use o modelo padrão de lip sync em vez do Realistic - veja a comparação de modelos
  • Mude para o tipo de modelo Altamente Otimizado
  • Aumente o Tamanho do Chunk de Processamento para reduzir a carga da CPU
  • Escolha modelos de LLM / TTS menores

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

Suporte a Pixel Streaming

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

O projeto de demonstração de conversa com IA também funciona em um ambiente de Pixel Streaming, permitindo que você transmita o avatar MetaHuman para um cliente remoto (por exemplo, um navegador da 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 um plugin de extensão gratuito que permite capturar áudio de um cliente Pixel Streaming. Dependendo de qual versão da infraestrutura Pixel Streaming você está usando, instale um dos seguintes:

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

2. Troque 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 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 de Pixel Streaming que você está usando.
  5. Conecte sua saída 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 lip sync funcionarão como antes, mas com áudio capturado do cliente remoto em vez de um microfone local.

Trazendo Seu Próprio Personagem

O projeto de demonstração inclui 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). Seja você 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ê encontrar 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 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].