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 onda de sonido capturable, 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 onda de sonido 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 utiliza 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 onda de sonido 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 utiliza el plugin Runtime AI Chatbot Integrator para generar voz sintetizada a partir de 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 onda de sonido 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 utiliza el plugin Runtime AI Chatbot Integrator para generar voz en streaming sintetizada a partir de 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 onda de sonido 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 utiliza archivos de audio pregrabados o búferes de audio para la 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 onda de sonido importada, enlázate a su delegado
OnGeneratePCMData - En la función enlazada, llama a
ProcessAudioDatadesde tu Runtime Viseme Generator - Reproduce la onda de sonido 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 flotante (un array de muestras de punto flotante) disponibles desde tu fuente de streaming (o usa Runtime Audio Importer para admitir más formatos)
- La frecuencia 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: Al usar fuentes de audio en streaming, asegúrate de gestionar el tiempo de reproducción de audio adecuadamente para evitar reproducción distorsionada. Consulta la documentación de Streaming Sound Wave para obtener más información.
Consejos de Rendimiento de Procesamiento
-
Tamaño del Fragmento: Aumentar la opción de configuración
ProcessingChunkSize(por ejemplo, a 320, 480 o 640 muestras) puede mejorar notablemente la latencia con un impacto mínimo en la calidad o la capacidad de respuesta. -
Tipo de Modelo: Al usar modelos realistas, cambiar al tipo de modelo Altamente Optimizado (seleccionado por defecto) puede mejorar el rendimiento. Ten en cuenta que el modelo original puede producir una calidad ligeramente mejor, particularmente con audio ruidoso.
-
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 desees:
- Aprender sobre las opciones de Configuración para ajustar 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