Projetos de Demonstração
Para ajudar você a começar rapidamente com 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 rodam multiplataforma em Windows, Mac, Linux, iOS, Android e plataformas baseadas em Android (incluindo Meta Quest).
Projetos de Demonstração Disponíveis
- NPC Conversacional com IA / Avatar Interativo
- Demonstração Básica de Sincronização Labial
Um fluxo de trabalho completo de avatar conversacional com IA combinando reconhecimento de fala, um chatbot de IA (LLM), síntese de 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 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 de streaming, sua saída é dividida frase por frase e enviada ao TTS à medida que cada frase é concluída, em vez de aguardar a resposta completa, para minimizar a latência.
Vídeos
Prévia rápida (~30 seg)
Uma breve apresentação do demo em ação.
Guia Completo
Um passo a passo detalhado que cobre a instalação, a configuração e todo o pipeline conversacional.
Transferências
Plugins Obrigatórios e Opcionais
O projeto de demonstração é modular - você só precisa dos plugins dos provedores que deseja usar.
| Plugin | Propósito | Obrigatório? |
|---|---|---|
| Runtime MetaHuman Lip Sync | Animação de sincronização labial | ✅ Sempre |
| Runtime Audio Importer | Captura e processamento de áudio | ✅ Sempre |
| Runtime Speech Recognizer | Reconhecimento de fala offline (whisper.cpp) | ✅ Sempre |
| Runtime AI Chatbot Integrator | LLMs Externos (OpenAI, Claude, DeepSeek, Gemini, Grok, Ollama) e/ou TTS Externo (OpenAI, ElevenLabs) | 🔶 Opcional |
| Runtime Local LLM | Inferência local de LLM via llama.cpp (Llama, Mistral, Gemma, etc., modelos GGUF) | 🔶 Opcional |
| Runtime Texto para Fala | TTS local via Piper e Kokoro | 🔶 Opcional |
Embora cada plugin acima seja individualmente opcional, 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 (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 (instância de jogo, 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 ausente.
Essa modularidade se aplica apenas aos provedores de LLM e TTS. Reconhecimento de Fala (Runtime Speech Recognizer) e Sincronização Labial (Runtime MetaHuman Lip Sync) fazem parte do projeto de demonstração base e são sempre obrigatórios.

Na primeira inicialização, o Unreal pode perguntar se deseja desativar quaisquer plugins opcionais ausentes - clique em Sim. Certifique-se de que você também excluiu a pasta Content/Modules/ correspondente (veja acima).
Plugins de Extensão Incluídos
Silero VAD, WebRTC AEC3 e extensões padrão de sincronização labial (clique para expandir)
A versão-fonte do demo acompanha três plugins de extensão gratuitos pré-incluídos na sua pasta Plugins/: RuntimeAudioImporterSileroVAD (VAD neural), RuntimeAudioImporterWebRTCAEC3 (cancelamento de eco) e RuntimeMetaHumanLipSync_Standard (modelo de lip sync padrão).
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 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 suas pastas de Plugins/ antes de iniciar.
Layout do Projeto 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, o esquema de controle ou a plataforma do seu projeto (VR/AR, mobile, 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).

| Area | O que tem aí? |
|---|---|
| Centro | O personagem MetaHuman. |
| Lado esquerdo | Quatro botões de configuração (Reconhecimento de Fala, Chatbot de IA, Texto para Fala, Animações), descritos em detalhe abaixo. |
| Centro inferior | Um botão Iniciar Gravação. Clique nele para começar uma conversa por voz: o áudio do 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 direito | Um widget de histórico de conversa mostrando toda a troca de mensagens entre você e a IA (tanto mensagens do usuário quanto do assistente). Ele também inclui um campo de entrada de texto, permitindo que você digite mensagens diretamente sem usar reconhecimento de fala, útil para testes, acessibilidade ou quando não houver microfone disponível. |
Você pode misturar livremente os dois modos de entrada na mesma sessão - fale algumas mensagens, digite outras.
Se a sincronização labial ficar cada vez mais atrás do áudio quanto mais tempo você testar (não apenas um atraso fixo), consulte Tamanho do Bloco de Processamento em 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:
- Selecionar 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)

2. Configurar Chatbot de IA
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 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 demo (por exemplo, por URL) e usá-lo imediatamente, sem reconstruir o projeto.
A caixa de combinação de provedores mostra apenas provedores cuja pasta de módulo do plugin está presente em Content/Modules/.


3. Configure a conversão de texto em fala
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 locais)
- Selecione o modo: Regular ou Streaming (controla se o áudio é retornado de uma só vez ou à medida que é sintetizado)
- Selecione voz/modelo
- Ajuste os parâmetros específicos do provedor


4. Configurar Animações
Controle o visual 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 a frequência com que a inferência de lip sync é executada (veja Tamanho do Chunk de Processamento)
- Se a sincronização labial ficar progressivamente mais atrasada em relação ao áudio ao longo do tempo sob carga de CPU, aumente este valor para 480 ou 640.
- Selecione uma animação de idle para reproduzir no MetaHuman durante a conversa.

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:
| What | Onde |
|---|---|
| Configurações gerais (modelo de sincronização labial, 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 Local LLM (Runtime Local LLM) | Content/Modules/RuntimeLocalLLM/RuntimeLocalLLM_Provider |
| Configurações de Local TTS (Runtime Text To Speech) | Content/Modules/RuntimeTextToSpeech/RuntimeTextToSpeech_Provider |
Notas Multiplataforma
Todos os plugins usados pelo demo são compatíveis com 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 desktop até aplicativos móveis, headsets de RV standalone e configurações de produção virtual no set.
Para dispositivos mais fracos (celulares, 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 de LLM / TTS menores
Consulte Configuração Específica da Plataforma para etapas de configuração adicionais no Android, iOS, Mac e Linux.
Suporte a Pixel Streaming
Implantando a demo no Pixel Streaming (clique para expandir)
O projeto de demonstração de AI conversacional 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 no lado do cliente. Apenas uma única alteração no projeto de 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:
- Extensão Pixel Streaming (para o plugin original do Pixel Streaming), ou
- Extensão Pixel Streaming 2 (para o plugin mais recente do Pixel Streaming 2)
Links de download e etapas de instalação estão disponíveis aqui: Pixel Streaming Audio Capture - 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:
- No Content Browser, navegue até
/All/Gamee abra o assetLipSyncSTSGameInstance. - Alterne para o Event Graph.
- Localize Event Init e siga o fluxo de execução até encontrar o par de nós:
Create Capturable Sound Wave→Set Capturable Sound Wave. - Substitua a chamada
Create Capturable Sound WaveporCreate Pixel Streaming Capturable Sound WaveouCreate Pixel Streaming 2 Capturable Sound Wave, dependendo de qual versão da infraestrutura de Pixel Streaming você está segmentando. - 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 á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
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 Personagem Personalizado). Esteja 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.
Um projeto de demonstração mais simples que foca puramente no recurso de sincronização labial em si, sem o fluxo de trabalho completo de conversação por AI. Adequado se você quiser apenas ver a sincronização labial em ação com várias fontes de áudio.
Vídeo em destaque
Downloads
O que está incluído
Esta demonstração apresenta os fluxos de trabalho básicos de lip sync:
- Entrada de microfone - sincronização labial em tempo real a partir de áudio ao vivo
- Reprodução de arquivos de áudio - sincronização labial a partir de arquivos de áudio importados
- Text-to-Speech - sincronização labial conduzida por fala sintetizada
Plugins Necessários e Opcionais
| Plugin | Propósito | Obrigatório? |
|---|---|---|
| Runtime MetaHuman Lip Sync | Animação de sincronização labial | ✅ Obrigatório |
| Runtime Audio Importer | Importação e captura de áudio | ✅ Obrigatório |
| Runtime Text To Speech | TTS local para a cena de demonstração do TTS | 🔶 Opcional |
| Runtime AI Chatbot Integrator | Provedores externos de TTS (OpenAI, ElevenLabs) | 🔶 Opcional |
Plugins de Extensão Incluídos
Extensão padrão de sincronização labial (clique para expandir)
A versão de código-fonte acompanha a extensão RuntimeMetaHumanLipSync_Standard pré-empacotada em Plugins/, que adiciona suporte ao modelo de lip sync Padrão. Os binários são pré-compilados para UE 5.6; para UE 5.7 / 5.8, use os arquivos pré-compilados (UE 5.7 · UE 5.8) ou compile a partir do código-fonte - para instalar, exclua a pasta existente de Plugins/ e extraia o conteúdo do arquivo no lugar dela. Exclua a pasta sem substituí-la se você não precisar do modelo Padrão.
Precisa de ajuda?
Se você tiver algum problema ao configurar ou executar os projetos de demonstração, fique à vontade para entrar em contato:
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].