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 lip sync. 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 hacer esto dependiendo de tu fuente de audio.
- Micrófono (Tiempo real)
- Micrófono (Reproducción)
- Text-to-Speech (Local)
- Text-to-Speech (External APIs)
- Desde Archivo/Búfer de Audio
- Búfer de Audio en Streaming
Este enfoque realiza lip sync en tiempo real mientras se habla al micrófono:
- Modelo Estándar
- Modelo Realista
- Modelo Realista con Estado de Ánimo
- Crea un Capturable Sound Wave usando Runtime Audio Importer
- Antes de comenzar a capturar audio, vincúlate al delegado
OnPopulateAudioData
- En la función vinculada, llama a
ProcessAudioData
desde 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, 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
- Inicia la captura de audio desde el micrófono
- Antes de reproducir la capturable sound wave, enlaza a su delegado
OnGeneratePCMData
- En la función enlazada, llama a
ProcessAudioData
desde 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.
- Regular
- Streaming
Este enfoque sintetiza voz a partir de texto usando TTS local y realiza sincronización labial:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- 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 sonora importada, vincúlate a su delegado
OnGeneratePCMData
- En la función vinculada, llama a
ProcessAudioData
desde tu Runtime Viseme Generator
El TTS local proporcionado por el plugin Runtime Text To Speech actualmente no es compatible con el modelo Realistic regular debido a conflictos con el runtime ONNX. Para text-to-speech con el modelo Realistic regular, considera usar soluciones TTS externas o usar el modelo Standard en su lugar.
- 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 sonora importada, vincúlate a su delegado
OnGeneratePCMData
- En la función vinculada, llama a
ProcessAudioData
desde tu Mood-Enabled Lip Sync Generator - Configura los ajustes de estado de ánimo basados en el contenido del texto o la expresión emocional deseada
TTS con Integración de Estado de Ánimo:
- Establece estados de ánimo apropiados antes o durante la generación TTS
- Ajusta la intensidad del estado de ánimo para que coincida con el tono emocional del texto
- Usa diferentes estados de ánimo para diferentes secciones de contenido de texto más largo
Este enfoque utiliza síntesis de texto a voz en streaming con sincronización de labios en tiempo real:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- Usa Runtime Text To Speech para generar voz en streaming desde texto
- Usa Runtime Audio Importer para importar el audio sintetizado
- Antes de reproducir la onda de sonido en streaming, vincúlate a su delegado
OnGeneratePCMData
- En la función vinculada, llama a
ProcessAudioData
desde tu Runtime Viseme Generator
El TTS local proporcionado por el plugin Runtime Text To Speech actualmente no es compatible con el modelo Realistic regular debido a conflictos con el tiempo de ejecución ONNX. Para texto a voz con el modelo Realistic regular, considera usar servicios TTS externos o usa el modelo Standard en su lugar.
- Usa Runtime Text To Speech para generar voz en streaming desde texto
- Usa Runtime Audio Importer para importar el audio sintetizado
- Antes de reproducir la onda de sonido en streaming, vincúlate a su delegado
OnGeneratePCMData
- En la función vinculada, llama a
ProcessAudioData
desde tu Mood-Enabled Lip Sync Generator - Ajusta la configuración de estado de ánimo dinámicamente durante el streaming si es necesario
- Regular
- Streaming
Este enfoque utiliza el plugin Runtime AI Chatbot Integrator para generar voz sintetizada desde servicios de IA (OpenAI o ElevenLabs) y realizar lip sync:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- Usa Runtime AI Chatbot Integrator para generar voz desde 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, vincúlate a su delegado
OnGeneratePCMData
- En la función vinculada, llama a
ProcessAudioData
desde 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 Habilitado para Estados de Ánimo utiliza el mismo flujo de trabajo de procesamiento de audio, pero con la variable MoodMetaHumanLipSyncGenerator
y capacidades adicionales de configuración de estados de ánimo.
Este enfoque utiliza el plugin Runtime AI Chatbot Integrator para generar síntesis de voz en streaming desde servicios de IA (OpenAI o ElevenLabs) y realizar lip sync:
- Standard Model
- Realistic Model
- Mood-Enabled Realistic Model
- 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, vincúlate a su delegado
OnGeneratePCMData
- En la función vinculada, llama a
ProcessAudioData
desde tu Runtime Viseme Generator
El Realistic Model utiliza el mismo flujo de trabajo de procesamiento de audio que el Standard Model, pero con la variable RealisticLipSyncGenerator
en lugar de VisemeGenerator
.
El Mood-Enabled Model 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 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 sonora importada, vincúlate a su delegado
OnGeneratePCMData
- En la función vinculada, llama a
ProcessAudioData
desde tu Runtime Viseme Generator - Reproduce la onda sonora 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 admitir más formatos)
- La frecuencia de muestreo y el número de canales
- Llama a
ProcessAudioData
desde 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 utilizar fuentes de audio en streaming, asegúrate de gestionar el tiempo de reproducción del audio adecuadamente para evitar una reproducción distorsionada. Consulta la documentación de Streaming Sound Wave para obtener más información.
Consejos de Rendimiento del Procesamiento
-
Tamaño del Fragmento: Si deseas procesar datos de audio en fragmentos más pequeños para un Lip Sync más receptivo, ajusta el cálculo en la función
SetNumSamplesPerChunk
. Por ejemplo, dividir la frecuencia de muestreo por 150 (streaming cada ~6.67 ms) en lugar de 100 (streaming cada 10 ms) proporcionará actualizaciones de Lip Sync 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 la sincronización de tu entrada de audio se alinee con esto para un rendimiento óptimo.
-
Recreación del Generador: Para un funcionamiento confiable con los modelos Realistas, recrea el generador cada vez que desees 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 Lip Sync
- Añadir animación de risa para una mayor expresividad
- Combinar el Lip Sync con animaciones faciales existentes utilizando las técnicas de capas descritas en la guía de Configuración