Guia de Processamento de Áudio
Este guia aborda como configurar diferentes métodos de entrada de áudio para alimentar dados de áudio para seus geradores de lip sync. Certifique-se de ter concluído o Guia de Configuração antes de prosseguir.
Processamento de Entrada de Áudio
Você precisa configurar um método para processar a entrada de áudio. Existem várias maneiras de fazer isso, dependendo da sua fonte de áudio.
- Microfone (Tempo real)
- Microfone (Reprodução)
- Text-to-Speech (Local)
- Text-to-Speech (APIs Externas)
- From Audio File/Buffer
- Streaming Audio Buffer
Esta abordagem executa lip sync em tempo real enquanto fala no microfone:
- Modelo Padrão
- Modelo Realista
- Modelo Realista com Humor
- Crie uma Capturable Sound Wave usando Runtime Audio Importer
- Antes de começar a capturar áudio, vincule-se ao delegado
OnPopulateAudioData
- Na função vinculada, chame
ProcessAudioData
do seu Runtime Viseme Generator - Comece a capturar áudio do microfone
O Modelo Realista usa o mesmo fluxo de trabalho de processamento de áudio que o Modelo Padrão, mas com a variável RealisticLipSyncGenerator
em vez de VisemeGenerator
.
O Modelo com Humor usa o mesmo fluxo de trabalho de processamento de áudio, mas com a variável MoodMetaHumanLipSyncGenerator
e capacidades adicionais de configuração de humor.
Esta abordagem captura áudio de um microfone e, em seguida, o reproduz com sincronização labial:
- Modelo Padrão
- Modelo Realista
- Modelo Realista com Humor
- Crie uma Capturable Sound Wave usando Runtime Audio Importer
- Inicie a captura de áudio do microfone
- Antes de reproduzir a capturable sound wave, vincule-se ao seu delegado
OnGeneratePCMData
- Na função vinculada, chame
ProcessAudioData
do seu Runtime Viseme Generator
O Modelo Realista usa o mesmo fluxo de trabalho de processamento de áudio que o Modelo Padrão, mas com a variável RealisticLipSyncGenerator
em vez de VisemeGenerator
.
O Modelo com Humor usa o mesmo fluxo de trabalho de processamento de áudio, mas com a variável MoodMetaHumanLipSyncGenerator
e capacidades adicionais de configuração de humor.
- Regular
- Streaming
Esta abordagem sintetiza fala a partir de texto usando TTS local e realiza sincronização labial:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- Use Runtime Text To Speech para gerar fala a partir de texto
- Use Runtime Audio Importer para importar o áudio sintetizado
- Antes de reproduzir a onda sonora importada, vincule-se ao seu delegado
OnGeneratePCMData
- Na função vinculada, chame
ProcessAudioData
do seu Runtime Viseme Generator
O TTS local fornecido pelo plugin Runtime Text To Speech atualmente não é suportado com o modelo Realistic regular devido a conflitos de runtime ONNX. Para text-to-speech com o modelo Realistic regular, considere usar soluções TTS externas ou use o modelo Standard em vez disso.
- Use Runtime Text To Speech para gerar fala a partir de texto
- Use Runtime Audio Importer para importar o áudio sintetizado
- Antes de reproduzir a onda sonora importada, vincule-se ao seu delegado
OnGeneratePCMData
- Na função vinculada, chame
ProcessAudioData
do seu Mood-Enabled Lip Sync Generator - Configure as definições de humor com base no conteúdo do texto ou na expressão emocional desejada
TTS com Integração de Humor:
- Defina humores apropriados antes ou durante a geração TTS
- Ajuste a intensidade do humor para corresponder ao tom emocional do texto
- Use diferentes humores para diferentes seções de conteúdo de texto mais longo
Esta abordagem usa síntese de texto-para-fala em streaming com sincronização labial em tempo real:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- Use Runtime Text To Speech para gerar fala em streaming a partir de texto
- Use Runtime Audio Importer para importar o áudio sintetizado
- Antes de reproduzir a onda sonora em streaming, vincule-se ao seu delegado
OnGeneratePCMData
- Na função vinculada, chame
ProcessAudioData
do seu Runtime Viseme Generator
O TTS local fornecido pelo plugin Runtime Text To Speech atualmente não é suportado com o modelo Realistic regular devido a conflitos de runtime ONNX. Para texto-para-fala com o modelo Realistic regular, considere usar serviços TTS externos ou use o modelo Standard em vez disso.
- Use Runtime Text To Speech para gerar fala em streaming a partir de texto
- Use Runtime Audio Importer para importar o áudio sintetizado
- Antes de reproduzir a onda sonora em streaming, vincule-se ao seu delegado
OnGeneratePCMData
- Na função vinculada, chame
ProcessAudioData
do seu Mood-Enabled Lip Sync Generator - Ajuste as configurações de humor dinamicamente durante o streaming, se necessário
- Regular
- Streaming
Esta abordagem usa o plugin Runtime AI Chatbot Integrator para gerar fala sintetizada de serviços de IA (OpenAI ou ElevenLabs) e realizar lip sync:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- Use Runtime AI Chatbot Integrator para gerar fala a partir de texto usando APIs externas (OpenAI, ElevenLabs, etc.)
- Use Runtime Audio Importer para importar os dados de áudio sintetizados
- Antes de reproduzir a onda sonora importada, vincule-se ao seu delegado
OnGeneratePCMData
- Na função vinculada, chame
ProcessAudioData
do seu Runtime Viseme Generator
O Realistic Model usa o mesmo fluxo de trabalho de processamento de áudio que o Standard Model, mas com a variável RealisticLipSyncGenerator
em vez de VisemeGenerator
.
O Mood-Enabled Model usa o mesmo fluxo de trabalho de processamento de áudio, mas com a variável MoodMetaHumanLipSyncGenerator
e capacidades adicionais de configuração de humor.
Esta abordagem utiliza o plugin Runtime AI Chatbot Integrator para gerar fala sintetizada em streaming de serviços de IA (OpenAI ou ElevenLabs) e realizar lip sync:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- Use Runtime AI Chatbot Integrator para conectar a APIs de TTS em streaming (como a API de Streaming da ElevenLabs)
- Use Runtime Audio Importer para importar os dados de áudio sintetizados
- Antes de reproduzir a onda sonora em streaming, vincule-se ao seu delegado
OnGeneratePCMData
- Na função vinculada, chame
ProcessAudioData
do seu Runtime Viseme Generator
O Realistic Model utiliza o mesmo fluxo de trabalho de processamento de áudio que o Standard Model, mas com a variável RealisticLipSyncGenerator
em vez de VisemeGenerator
.
O Mood-Enabled Model utiliza o mesmo fluxo de trabalho de processamento de áudio, mas com a variável MoodMetaHumanLipSyncGenerator
e capacidades adicionais de configuração de humor.
Esta abordagem usa arquivos de áudio pré-gravados ou buffers de áudio para lip sync:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- Use Runtime Audio Importer para importar um arquivo de áudio do disco ou memória
- Antes de reproduzir o sound wave importado, vincule-se ao seu delegado
OnGeneratePCMData
- Na função vinculada, chame
ProcessAudioData
do seu Runtime Viseme Generator - Reproduza o sound wave importado e observe a animação de lip sync
O Realistic Model usa o mesmo fluxo de trabalho de processamento de áudio que o Standard Model, mas com a variável RealisticLipSyncGenerator
em vez de VisemeGenerator
.
O Mood-Enabled Model usa o mesmo fluxo de trabalho de processamento de áudio, mas com a variável MoodMetaHumanLipSyncGenerator
e capacidades adicionais de configuração de mood.
Para streaming de dados de áudio de um buffer, você precisa:
- Standard Model
- Modelo Realista
- Modelo Realista com Humor
- Dados de áudio em formato PCM float (um array de amostras de ponto flutuante) disponíveis da sua fonte de streaming (ou use Runtime Audio Importer para suportar mais formatos)
- A taxa de amostragem e número de canais
- Chame
ProcessAudioData
do seu Runtime Viseme Generator com esses parâmetros conforme os chunks de áudio ficam disponíveis
O Modelo Realista utiliza o mesmo fluxo de trabalho de processamento de áudio que o Modelo Padrão, mas com a variável RealisticLipSyncGenerator
em vez de VisemeGenerator
.
O Modelo com Humor utiliza o mesmo fluxo de trabalho de processamento de áudio, mas com a variável MoodMetaHumanLipSyncGenerator
e capacidades adicionais de configuração de humor.
Nota: Ao usar fontes de áudio de streaming, certifique-se de gerenciar o tempo de reprodução de áudio adequadamente para evitar reprodução distorcida. Consulte a documentação de Streaming Sound Wave para obter mais informações.
Dicas de Desempenho de Processamento
-
Tamanho do Chunk: Se você quiser processar dados de áudio em chunks menores para uma sincronização labial mais responsiva, ajuste o cálculo na função
SetNumSamplesPerChunk
. Por exemplo, dividir a taxa de amostragem por 150 (streaming a cada ~6,67 ms) em vez de 100 (streaming a cada 10 ms) fornecerá atualizações de sincronização labial mais frequentes. -
Gerenciamento de Buffer: O modelo com humor processa áudio em quadros de 320 amostras (20ms a 16kHz). Certifique-se de que o tempo de entrada de áudio esteja alinhado com isso para um desempenho ideal.
-
Recriação do Gerador: Para uma operação confiável com modelos Realistas, recrie o gerador sempre que quiser alimentar novos dados de áudio após um período de inatividade.
Próximos Passos
Depois de configurar o processamento de áudio, você pode querer:
- Aprender sobre Opções de configuração para ajustar o comportamento da sua sincronização labial
- Adicionar animação de riso para maior expressividade
- Combinar sincronização labial com animações faciais existentes usando as técnicas de sobreposição descritas no guia de Configuração