Saltar al contenido principal

Detección de Actividad de Voz

Streaming Sound Wave, junto con sus tipos derivados como Capturable Sound Wave, admite la Detección de Actividad de Voz (VAD). VAD filtra los datos de audio entrantes para poblar el búfer interno solo cuando se detecta voz.

El plugin ofrece dos implementaciones de VAD:

La implementación predeterminada utiliza libfvad, una biblioteca ligera de detección de actividad de voz que funciona eficientemente en todas las plataformas y versiones del motor compatibles con Runtime Audio Importer.

Uso Básico

Para habilitar VAD después de crear una onda de sonido, utiliza la función ToggleVAD:

Nodo Toggle VAD

Después de habilitar VAD, puedes restablecerlo en cualquier momento:

Nodo Reset VAD

Configuración VAD Predeterminada

Cuando se utiliza el proveedor VAD predeterminado, puedes ajustar su agresividad cambiando el modo VAD:

Nodo Establecer Modo VAD

El parámetro de modo controla qué tan agresivamente el VAD filtra el audio. Los valores más altos son más restrictivos, lo que significa que es menos probable que reporten falsos positivos pero podrían perderse algo de voz.

Proveedores de VAD

Después de habilitar VAD con la función ToggleVAD, puedes elegir entre diferentes proveedores de Detección de Actividad de Voz para adaptarse a tus necesidades. El proveedor predeterminado es integrado, mientras que proveedores adicionales como Silero VAD están disponibles a través de plugins de extensión.

Nodo Set VAD Provider

Extensión Silero VAD

Silero VAD proporciona una detección de voz más precisa utilizando redes neuronales. Para usarlo:

  1. Asegúrate de que el plugin Runtime Audio Importer ya esté instalado en tu proyecto

  2. Para UE 5.5 y versiones anteriores: Antes de descargar el plugin de extensión Silero VAD, asegúrate de que NNERuntimeORT esté deshabilitado en tu proyecto. Tener NNERuntimeORT habilitado puede causar fallos al usar Silero VAD en estas versiones del motor debido a conflictos

  3. Descarga el plugin de extensión Silero VAD desde Google Drive

  4. Extrae la carpeta del archivo descargado en la carpeta Plugins de tu proyecto (crea esta carpeta si no existe)

  5. Para UE 5.6 y versiones posteriores: Edita el archivo RuntimeAudioImporterSileroVAD.uplugin para agregar la dependencia NNERuntimeORT. En el campo "Plugins", después de la inclusión de RuntimeAudioImporter, agrega:

   ,
{
"Name": "NNERuntimeORT",
"Enabled": true
}
  1. Reconstruye tu proyecto (esta extensión requiere un proyecto C++)
important
  • El VAD predeterminado funciona con todas las versiones del motor compatibles con Runtime Audio Importer (UE 4.24, 4.25, 4.26, 4.27, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6 y 5.7)

  • Silero VAD es compatible con Unreal Engine 4.27 y todas las versiones de UE5 (4.27, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6 y 5.7)

  • UE 5.5 y anteriores: NNERuntimeORT debe deshabilitarse antes de usar Silero VAD para evitar fallos debido a conflictos de plugins

  • Requisito para UE 5.6+: A partir de Unreal Engine 5.6, la extensión Silero VAD requiere que la dependencia del plugin NNERuntimeORT se agregue manualmente al archivo .uplugin

  • Silero VAD está disponible para Windows, Linux, Mac, Android (incluyendo Meta Quest) e iOS

  • Esta extensión se proporciona como código fuente y requiere un proyecto C++ para su uso

  • Para obtener más información sobre cómo construir plugins manualmente, consulta el tutorial de Construcción de Plugins

Una vez instalado, puedes seleccionarlo como tu proveedor de VAD usando la función SetVADProvider con el proveedor de clase Silero.

Detección de inicio y fin del habla

La Detección de Actividad de Voz no solo detecta la presencia del habla, sino que también permite detectar el inicio y el final de la actividad del habla. Esto es útil para activar eventos cuando el habla comienza o termina durante la reproducción o captura.

Puedes personalizar la sensibilidad de la detección de inicio y fin del habla ajustando parámetros como la duración mínima del habla y la duración del silencio. Estos parámetros ayudan a afinar la detección para evitar falsos positivos, como captar ruidos breves o pausas demasiado cortas entre el habla.

Duración Mínima del Habla

El parámetro Duración Mínima del Habla establece la cantidad mínima de actividad de voz continua requerida para activar un evento de inicio del habla. Esto ayuda a filtrar ruidos breves que no deberían considerarse como habla, para asegurar que solo se reconozca la actividad de voz sostenida. El valor predeterminado para la Duración Mínima del Habla es 300 milisegundos.

Nodo Establecer Duración Mínima del Habla

Duración del Silencio

El parámetro Duración del Silencio establece la duración del silencio requerida para activar un evento de finalización del habla. Esto evita que la detección del habla termine prematuramente durante las pausas naturales entre palabras u oraciones. El valor predeterminado para Duración del Silencio es 500 milisegundos.

Nodo Establecer Duración del Silencio

Vinculación a Delegados de Voz

Puedes vincularte a delegados específicos cuando el habla comienza o termina. Esto es útil para activar comportamientos personalizados basados en la actividad de voz, como iniciar o detener el reconocimiento de texto, o ajustar el volumen de otras fuentes de audio.

Bind Event To On Speech Started Bind Event To On Speech Ended

Comparación de Proveedores de VAD

VAD Predeterminado (libfvad)

Ventajas:

  • Ligero y eficiente
  • Funciona en todas las plataformas
  • Uso mínimo de recursos
  • Adecuado para dispositivos móviles y de baja potencia

Ideal para:

  • Detección de voz simple en entornos silenciosos
  • Aplicaciones móviles
  • Proyectos donde el rendimiento es una prioridad
  • Cuando se requiere soporte universal de plataforma