Pular para o conteúdo principal

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

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.

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 local de LLM via llama.cpp (Llama, Mistral, Gemma, etc., modelos GGUF)🔶 Opcional
Runtime Texto para FalaTTS local via Piper e Kokoro🔶 Opcional
Plugins opcionais - requisitos do provedor

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.

nota

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.

Modules folder structure

atenção

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 UI é 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, 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).

Annotated overview of the demo project main screen

AreaO que tem aí?
CentroO personagem MetaHuman.
Lado esquerdoQuatro botões de configuração (Reconhecimento de Fala, Chatbot de IA, Texto para Fala, Animações), descritos em detalhe abaixo.
Centro inferiorUm 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 direitoUm 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.
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 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)

Speech recognition configuration screen

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.
dica

A caixa de combinação de provedores mostra 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 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

TTS configuration - Runtime AI Chatbot Integrator (external TTS)

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

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.

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 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:

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:

  1. No Content Browser, navegue até /All/Game e abra o asset LipSyncSTSGameInstance.
  2. Alterne 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 de qual versão da infraestrutura de Pixel Streaming você está segmentando.
  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 á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 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.

Precisa de ajuda?

Se você tiver algum 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 (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].