Cómo usar el complemento
El plugin Runtime Speech Recognizer está diseñado para reconocer palabras de los datos de audio entrantes. Utiliza una versión ligeramente modificada de whisper.cpp para funcionar con el motor. Para usar el plugin, sigue estos pasos:
Lado del editor
- Selecciona los modelos de lenguaje apropiados para tu proyecto como se describe aquí.
Lado del runtime
- Cree un Speech Recognizer y establezca los parámetros necesarios (CreateSpeechRecognizer, para los parámetros consulte aquí).
- Vincule los delegados necesarios (OnRecognitionFinished, OnRecognizedTextSegment y OnRecognitionError).
- Inicie el reconocimiento de voz (StartSpeechRecognition).
- Procese los datos de audio y espere los resultados de los delegados (ProcessAudioData).
- Detenga el Speech Recognizer cuando sea necesario (p. ej., después de la transmisión de OnRecognitionFinished).
El plugin admite audio entrante en el formato PCM intercalado de coma flotante de 32 bits. Aunque funciona bien con el Runtime Audio Importer, no depende directamente de él.
Parámetros de reconocimiento
El plugin admite el reconocimiento de datos de audio tanto en streaming como en modo no streaming. Para ajustar los parámetros de reconocimiento según su caso de uso específico, llame a SetStreamingDefaults o SetNonStreamingDefaults. Además, tiene la flexibilidad de establecer manualmente parámetros individuales como el número de hilos, el tamaño del paso, si se debe traducir el idioma entrante al inglés y si se debe usar la transcripción anterior. Consulte la Lista de parámetros de reconocimiento para obtener una lista completa de los parámetros disponibles.
Mejorando el rendimiento
Consulte la sección Cómo mejorar el rendimiento para obtener consejos sobre cómo optimizar el rendimiento del complemento. En Android y plataformas basadas en Android, como Meta Quest, considere también la extensión de Vosk, que ofrece un proveedor alternativo para hardware sin soporte de aceleración GPU en whisper.cpp.
Detección de Actividad de Voz (VAD)
Al procesar entrada de audio, especialmente en escenarios de streaming, se recomienda utilizar detección de actividad de voz (VAD) para filtrar los segmentos de audio vacíos o que solo contienen ruido antes de que lleguen al reconocedor. Este filtrado se puede habilitar en el lado de la onda de sonido capturable mediante el plugin Runtime Audio Importer, lo que ayuda a prevenir que los modelos de lenguaje alucinen — intentando encontrar patrones en el ruido y generando transcripciones incorrectas.
Para obtener resultados óptimos de reconocimiento de voz, recomendamos usar el proveedor Silero VAD, que ofrece una tolerancia superior al ruido y una detección de voz más precisa. Silero VAD está disponible como una extensión del plugin Runtime Audio Importer. Para instrucciones detalladas sobre la configuración de VAD, consulta la documentación de detección de actividad de voz.
Los nodos copiables en los ejemplos a continuación utilizan el proveedor VAD predeterminado por razones de compatibilidad. Para mejorar la precisión del reconocimiento, puede cambiar fácilmente a Silero VAD mediante:
- Instalando la extensión Silero VAD como se describe en la sección de la extensión Silero VAD
- Después de habilitar VAD con el nodo Toggle VAD, agregue un nodo Set VAD Provider y seleccione "Silero" en el menú desplegable
En el proyecto de demostración incluido con el complemento, VAD está habilitado por defecto. Puedes encontrar más información sobre la implementación de la demostración en Proyecto de demostración.
Ejemplos
Estos ejemplos ilustran cómo usar el plugin Runtime Speech Recognizer tanto con entrada de audio en streaming como sin streaming, utilizando el Runtime Audio Importer para obtener datos de audio como ejemplo. Tenga en cuenta que se requiere la descarga por separado de RuntimeAudioImporter para acceder al mismo conjunto de funciones de importación de audio que se muestran en los ejemplos (por ejemplo, onda de sonido capturable e ImportAudioFromFile). Estos ejemplos están destinados únicamente a ilustrar el concepto central y no incluyen manejo de errores.
Ejemplos de entrada de audio en streaming
Nota: En UE 5.3 y otras versiones, es posible que encuentres nodos faltantes después de copiar Blueprints. Esto puede ocurrir debido a diferencias en la serialización de nodos entre versiones del motor. Verifica siempre que todos los nodos estén conectados correctamente en tu implementación.
1. Reconocimiento básico de streaming
Este ejemplo demuestra la configuración básica para capturar datos de audio del micrófono como un flujo utilizando la Capturable Sound Wave y pasándolos al reconocedor de voz. Graba el habla durante unos 5 segundos y luego procesa el reconocimiento, lo que lo hace adecuado para pruebas rápidas e implementaciones sencillas. Nodos copiables.
Características clave de esta configuración:
- Duración de grabación fija de 5 segundos
- Reconocimiento simple de una sola vez
- Requisitos mínimos de configuración
- Perfecto para pruebas y prototipos

2. Reconocimiento de streaming controlado
Este ejemplo extiende la configuración básica de streaming añadiendo control manual sobre el proceso de reconocimiento. Te permite iniciar y detener el reconocimiento a voluntad, lo que lo hace adecuado para escenarios donde necesitas un control preciso sobre cuándo ocurre el reconocimiento. Nodos copiables.
Características clave de esta configuración:
- Control manual de inicio/parada
- Capacidad de reconocimiento continuo
- Duración de grabación flexible
- Adecuado para aplicaciones interactivas

3. Reconocimiento de comandos activado por voz
Este ejemplo está optimizado para escenarios de reconocimiento de comandos. Combina el reconocimiento en streaming con detección de actividad de voz (VAD) para procesar automáticamente el habla cuando el usuario deja de hablar. El reconocedor comienza a procesar el habla acumulada solo cuando se detecta silencio, lo que lo hace ideal para interfaces basadas en comandos. Nodos copiables.
Características clave de esta configuración:
- Control manual de inicio/parada
- Detección de actividad de voz (VAD) habilitada para detectar segmentos de habla
- Activación automática del reconocimiento cuando se detecta silencio
- Óptimo para el reconocimiento de comandos cortos
- Reducción de la sobrecarga de procesamiento al reconocer solo el habla real

4. Reconocimiento de voz con inicialización automática y procesamiento del búfer final.
Este ejemplo es otra variación del enfoque de reconocimiento activado por voz con un manejo diferente del ciclo de vida. Inicia automáticamente el reconocedor durante la inicialización y lo detiene durante la desinicialización. Una característica clave es que procesa el último búfer de audio acumulado antes de detener el reconocedor, lo que garantiza que no se pierdan datos de voz cuando el usuario desea finalizar el proceso de reconocimiento. Esta configuración es especialmente útil para aplicaciones donde necesitas capturar enunciados completos del usuario incluso al detener el reconocimiento a mitad de la frase. Nodos copiables.
Características principales de esta configuración:
- Inicia automáticamente el reconocedor al inicializar
- Detiene automáticamente el reconocedor al desinicializar
- Procesa el búfer de audio final antes de detenerse por completo
- Utiliza detección de actividad de voz (VAD) para un reconocimiento eficiente
- Garantiza que no se pierdan datos de voz al detenerse

Entrada de audio no streaming
Este ejemplo importa datos de audio a la onda de sonido importada y reconoce todos los datos de audio una vez que se han importado. Nodos copiables.
