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 de labios. 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 de labios en tiempo real mientras se habla al micrófono:
- Modelo Estándar
- Modelo Realista
- Modelo Realista con Estado de Ánimo
- Crea una Onda de Sonido Capturable usando Runtime Audio Importer
- Para Linux con Pixel Streaming, usa Pixel Streaming Capturable Sound Wave en su lugar
- Antes de comenzar a capturar audio, vincula el delegado
OnPopulateAudioData - En la función vinculada, 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 de estado de ánimo.

Este enfoque captura audio de un micrófono y luego lo reproduce con sincronización de labios:
- Modelo Estándar
- Modelo Realista
- Modelo Realista con Estado de Ánimo
- Crea una Onda de Sonido Capturable usando Runtime Audio Importer
- Para Linux con Pixel Streaming, usa Pixel Streaming Capturable Sound Wave en su lugar
- Inicia la captura de audio desde el micrófono
- Antes de reproducir la onda de sonido capturable, vincula su delegado
OnGeneratePCMData - En la función vinculada, 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 de estado de ánimo.

- Normal
- Streaming
Este enfoque sintetiza voz a partir de texto usando TTS local y realiza sincronización de labios:
- 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, vincula su delegado
OnGeneratePCMData - En la función vinculada, 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 de estado de ánimo.

Este enfoque utiliza síntesis de texto a voz en streaming con sincronización de labios 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, vincula su delegado
OnGeneratePCMData - En la función vinculada, 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 de estado de ánimo.

- Normal
- 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 de labios:
- 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, vincula su delegado
OnGeneratePCMData - En la función vinculada, 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 de estado de ánimo.

Este enfoque utiliza el plugin Runtime AI Chatbot Integrator para generar voz sintetizada en streaming a partir de servicios de IA (OpenAI o ElevenLabs) y realizar sincronización de labios:
- 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 ElevenLabs Streaming API)
- Usa Runtime Audio Importer para importar los datos de audio sintetizados
- Antes de reproducir la onda de sonido en streaming, vincula su delegado
OnGeneratePCMData - En la función vinculada, 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 de estado de ánimo.

Este enfoque utiliza archivos de audio pregrabados o búferes de audio para la sincronización de labios:
- 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, vincula su delegado
OnGeneratePCMData - En la función vinculada, llama a
ProcessAudioDatadesde tu Runtime Viseme Generator - Reproduce la onda de sonido importada y observa la animación de sincronización de labios

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 de 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 de estado de ánimo.

Nota: Al usar fuentes de audio en streaming, asegúrate de gestionar adecuadamente la temporización de la reproducción de audio para evitar una reproducción distorsionada. Consulta la documentación de Streaming Sound Wave para más información.
Consejos de Rendimiento de Procesamiento
-
Tamaño de 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 de Búfer: El modelo con estado de ánimo procesa audio en tramas de 320 muestras (20ms a 16kHz). Asegúrate de que la temporización de tu entrada de audio se alinee con esto para un rendimiento óptimo.
-
Recreación del Generador: Para un funcionamiento fiable con modelos Realistas, recrea el generador cada vez que quieras alimentar nuevos datos de audio después de un período de inactividad. Consulta Recreación del Generador en Solución de Problemas para la explicación.
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 de labios
- Agregar animación de risa para una mayor expresividad
- Combinar la sincronización de labios con animaciones faciales existentes utilizando las técnicas de superposición descritas en la guía de Configuración