Guía de Procesamiento de Audio
Esta guía cubre cómo configurar diferentes métodos de entrada de audio para alimentar datos de audio a tus generadores de sincronización labial. Asegúrate de haber completado la Guía de Configuración antes de continuar.
Procesamiento de Entrada de Audio
Necesitas configurar un método para procesar la entrada de audio. Hay varias formas de hacerlo dependiendo de tu fuente de audio.
- Micrófono (Tiempo real)
- Micrófono (Reproducción)
- Texto a Voz (Local)
- Texto a Voz (APIs Externas)
- Desde Archivo/Búfer de Audio
- Búfer de Audio en Streaming
Este enfoque realiza la sincronización labial en tiempo real mientras se habla al micrófono:
- Modelo Estándar
- Modelo Realista
- Modelo Realista con Estado de Ánimo
- Crea una Capturable Sound Wave usando Runtime Audio Importer
- Para Linux con Pixel Streaming, usa Pixel Streaming Capturable Sound Wave en su lugar
- Antes de comenzar a capturar audio, enlázate al delegado
OnPopulateAudioData - En la función enlazada, llama a
ProcessAudioDatadesde tu Runtime Viseme Generator - Comienza a capturar audio desde el micrófono

El Modelo Realista utiliza el mismo flujo de trabajo de procesamiento de audio que el Modelo Estándar, pero con la variable RealisticLipSyncGenerator en lugar de VisemeGenerator.

El Modelo con Estado de Ánimo utiliza el mismo flujo de trabajo de procesamiento de audio, pero con la variable MoodMetaHumanLipSyncGenerator y capacidades adicionales de configuración del estado de ánimo.

Este enfoque captura audio desde un micrófono, luego lo reproduce con sincronización labial:
- Modelo Estándar
- Modelo Realista
- Modelo Realista con Estado de Ánimo
- Crea una Capturable Sound Wave usando Runtime Audio Importer
- Para Linux con Pixel Streaming, usa Pixel Streaming Capturable Sound Wave en su lugar
- Comienza la captura de audio desde el micrófono
- Antes de reproducir la capturable sound wave, enlázate a su delegado
OnGeneratePCMData - En la función enlazada, llama a
ProcessAudioDatadesde tu Runtime Viseme Generator

El Modelo Realista utiliza el mismo flujo de trabajo de procesamiento de audio que el Modelo Estándar, pero con la variable RealisticLipSyncGenerator en lugar de VisemeGenerator.

El Modelo con Estado de Ánimo utiliza el mismo flujo de trabajo de procesamiento de audio, pero con la variable MoodMetaHumanLipSyncGenerator y capacidades adicionales de configuración del estado de ánimo.

- Regular
- Streaming
Este enfoque sintetiza voz a partir de texto usando TTS local y realiza sincronización labial:
- Modelo Estándar
- Modelo Realista
- Modelo Realista con Estado de Ánimo
- Usa Runtime Text To Speech para generar voz a partir de texto
- Usa Runtime Audio Importer para importar el audio sintetizado
- Antes de reproducir la sound wave importada, enlázate a su delegado
OnGeneratePCMData - En la función enlazada, llama a
ProcessAudioDatadesde tu Runtime Viseme Generator

El Modelo Realista utiliza el mismo flujo de trabajo de procesamiento de audio que el Modelo Estándar, pero con la variable RealisticLipSyncGenerator en lugar de VisemeGenerator.

El Modelo con Estado de Ánimo utiliza el mismo flujo de trabajo de procesamiento de audio, pero con la variable MoodMetaHumanLipSyncGenerator y capacidades adicionales de configuración del estado de ánimo.

Este enfoque usa síntesis de texto a voz en streaming con sincronización labial en tiempo real:
- Modelo Estándar
- Modelo Realista
- Modelo Realista con Estado de Ánimo
- Usa Runtime Text To Speech para generar voz en streaming a partir de texto
- Usa Runtime Audio Importer para importar el audio sintetizado
- Antes de reproducir la sound wave en streaming, enlázate a su delegado
OnGeneratePCMData - En la función enlazada, llama a
ProcessAudioDatadesde tu Runtime Viseme Generator

El Modelo Realista utiliza el mismo flujo de trabajo de procesamiento de audio que el Modelo Estándar, pero con la variable RealisticLipSyncGenerator en lugar de VisemeGenerator.

El Modelo con Estado de Ánimo utiliza el mismo flujo de trabajo de procesamiento de audio, pero con la variable MoodMetaHumanLipSyncGenerator y capacidades adicionales de configuración del estado de ánimo.

- Regular
- Streaming
Este enfoque usa el plugin Runtime AI Chatbot Integrator para generar voz sintetizada desde servicios de IA (OpenAI o ElevenLabs) y realizar sincronización labial:
- Modelo Estándar
- Modelo Realista
- Modelo Realista con Estado de Ánimo
- Usa Runtime AI Chatbot Integrator para generar voz a partir de texto usando APIs externas (OpenAI, ElevenLabs, etc.)
- Usa Runtime Audio Importer para importar los datos de audio sintetizados
- Antes de reproducir la sound wave importada, enlázate a su delegado
OnGeneratePCMData - En la función enlazada, llama a
ProcessAudioDatadesde tu Runtime Viseme Generator

El Modelo Realista utiliza el mismo flujo de trabajo de procesamiento de audio que el Modelo Estándar, pero con la variable RealisticLipSyncGenerator en lugar de VisemeGenerator.

El Modelo con Estado de Ánimo utiliza el mismo flujo de trabajo de procesamiento de audio, pero con la variable MoodMetaHumanLipSyncGenerator y capacidades adicionales de configuración del estado de ánimo.

Este enfoque usa el plugin Runtime AI Chatbot Integrator para generar voz sintetizada en streaming desde servicios de IA (OpenAI o ElevenLabs) y realizar sincronización labial:
- Modelo Estándar
- Modelo Realista
- Modelo Realista con Estado de Ánimo
- Usa Runtime AI Chatbot Integrator para conectarte a APIs de TTS en streaming (como la API de Streaming de ElevenLabs)
- Usa Runtime Audio Importer para importar los datos de audio sintetizados
- Antes de reproducir la sound wave en streaming, enlázate a su delegado
OnGeneratePCMData - En la función enlazada, llama a
ProcessAudioDatadesde tu Runtime Viseme Generator

El Modelo Realista utiliza el mismo flujo de trabajo de procesamiento de audio que el Modelo Estándar, pero con la variable RealisticLipSyncGenerator en lugar de VisemeGenerator.

El Modelo con Estado de Ánimo utiliza el mismo flujo de trabajo de procesamiento de audio, pero con la variable MoodMetaHumanLipSyncGenerator y capacidades adicionales de configuración del estado de ánimo.

Este enfoque usa archivos de audio pregrabados o búferes de audio para sincronización labial:
- Modelo Estándar
- Modelo Realista
- Modelo Realista con Estado de Ánimo
- Usa Runtime Audio Importer para importar un archivo de audio desde el disco o la memoria
- Antes de reproducir la sound wave importada, enlázate a su delegado
OnGeneratePCMData - En la función enlazada, llama a
ProcessAudioDatadesde tu Runtime Viseme Generator - Reproduce la sound wave importada y observa la animación de sincronización labial

El Modelo Realista utiliza el mismo flujo de trabajo de procesamiento de audio que el Modelo Estándar, pero con la variable RealisticLipSyncGenerator en lugar de VisemeGenerator.

El Modelo con Estado de Ánimo utiliza el mismo flujo de trabajo de procesamiento de audio, pero con la variable MoodMetaHumanLipSyncGenerator y capacidades adicionales de configuración del estado de ánimo.

Para datos de audio en streaming desde un búfer, necesitas:
- Modelo Estándar
- Modelo Realista
- Modelo Realista con Estado de Ánimo
- Datos de audio en formato PCM float (un array de muestras de punto flotante) disponibles desde tu fuente de streaming (o usa Runtime Audio Importer para soportar más formatos)
- La tasa de muestreo y el número de canales
- Llama a
ProcessAudioDatadesde tu Runtime Viseme Generator con estos parámetros a medida que los fragmentos de audio estén disponibles

El Modelo Realista utiliza el mismo flujo de trabajo de procesamiento de audio que el Modelo Estándar, pero con la variable RealisticLipSyncGenerator en lugar de VisemeGenerator.

El Modelo con Estado de Ánimo utiliza el mismo flujo de trabajo de procesamiento de audio, pero con la variable MoodMetaHumanLipSyncGenerator y capacidades adicionales de configuración del estado de ánimo.

Nota: Cuando uses fuentes de audio en streaming, asegúrate de gestionar el tiempo de reproducción de audio apropiadamente para evitar reproducción distorsionada. Consulta la documentación de Streaming Sound Wave para más información.
Consejos de Rendimiento de Procesamiento
-
Tamaño del Fragmento: Si quieres procesar datos de audio en fragmentos más pequeños para una sincronización labial más receptiva, ajusta el cálculo en la función
SetNumSamplesPerChunk. Por ejemplo, dividir la tasa de muestreo por 150 (streaming cada ~6.67 ms) en lugar de 100 (streaming cada 10 ms) proporcionará actualizaciones de sincronización labial más frecuentes. -
Gestión del Búfer: El modelo con estado de ánimo procesa audio en tramas de 320 muestras (20ms a 16kHz). Asegúrate de que el tiempo de tu entrada de audio se alinee con esto para un rendimiento óptimo.
-
Recreación del Generador: Para una operación confiable con modelos Realistas, recrea el generador cada vez que quieras alimentar nuevos datos de audio después de un período de inactividad.
Próximos Pasos
Una vez que tengas configurado el procesamiento de audio, es posible que quieras:
- Aprender sobre las opciones de Configuración para afinar el comportamiento de tu sincronización labial
- Añadir animación de risa para una mayor expresividad
- Combinar la sincronización labial con animaciones faciales existentes usando las técnicas de capas descritas en la guía de Configuración