Extensión de Vosk
Por defecto, el complemento Runtime Speech Recognizer utiliza whisper.cpp para el reconocimiento. En plataformas sin soporte de aceleración por GPU en whisper.cpp, especialmente Android y plataformas basadas en Android como Meta Quest, el reconocimiento recurre a CPU + funciones intrínsecas, lo que es más lento y consume más batería. El complemento de extensión Vosk añade un proveedor alternativo basado en Vosk, un kit de herramientas de reconocimiento de voz ligero que funciona bien en hardware limitado y rinde especialmente bien en Meta Quest.
Cambiar entre whisper.cpp y Vosk solo requiere unos pocos nodos de Blueprint, y volver a cambiar es igual de fácil, así que puedes mantener ambas opciones disponibles y elegir un proveedor por plataforma si es necesario.
Instalación
Para usar la extensión Vosk:
-
Asegúrate de que el plugin principal Runtime Speech Recognizer ya esté instalado en tu proyecto.
-
Descarga el plugin de extensión Vosk desde aquí
-
Extrae la carpeta del archivo descargado en la carpeta
Pluginsde tu proyecto (crea esta carpeta si no existe). -
Reconstruye tu proyecto (esta extensión requiere un proyecto de C++)
-
La extensión Vosk es compatible con Unreal Engine 5.0 a 5.8.
-
Esta extensión se proporciona como código fuente y requiere un proyecto de C++ para usarse.
-
Para obtener más información sobre cómo compilar plugins manualmente, consulta el tutorial de compilación de plugins
Cambiando al proveedor de Vosk
Una vez instalada la extensión, cambiar un reconocedor de voz a Vosk se reduce a tres nodos, justo después de CreateSpeechRecognizer:

- Llama a Set Speech Recognizer Provider, pasando la clase del proveedor Vosk.
- Cast To Runtime Vosk Speech Recognizer Provider en el resultado.
- Llama a Set Vosk Model Path (By Name) en el resultado del cast, seleccionando un modelo descargado del menú desplegable.
Todo lo demás en tu configuración existente (Start Speech Recognition, Process Audio Data, los delegados, VAD, etc.) sigue funcionando sin modificaciones. Para volver a whisper.cpp, elimina estos tres nodos, o simplemente no llames a Set Speech Recognizer Provider en absoluto, ya que whisper.cpp es el predeterminado.
Descargando modelos de Vosk
Los modelos de Vosk se descargan y gestionan desde Project Settings -> Plugins -> Runtime Speech Recognizer Vosk. El panel muestra el catálogo de modelos predefinidos agrupados por idioma, y cada entrada tiene un botón Descargar, con una barra de progreso visible mientras la descarga y la extracción están en curso, y un botón Eliminar una vez que el modelo está en el disco.

Los modelos descargados se extraen en Content/RuntimeSpeechRecognizerVosk/Models, y el plugin se encarga de preparar esa carpeta automáticamente para el empaquetado. Tampoco estás limitado a un único modelo empaquetado: cualquier modelo que descargues permanece disponible y puede seleccionarse en tiempo de ejecución con Set Vosk Model Path (By Name). En Android, los archivos del modelo se incluyen dentro de la aplicación empaquetada y se copian al almacenamiento persistente en el primer uso, lo cual se maneja internamente al seleccionar el modelo.
Idiomas compatibles (haz clic para expandir)
El catálogo predefinido incluye modelos para: inglés, inglés indio, chino, ruso, francés, alemán, español, portugués/portugués brasileño, griego, turco, vietnamita, italiano, neerlandés, catalán, árabe, árabe tunecino, persa, filipino, ucraniano, kazajo, sueco, japonés, esperanto, hindi, checo, polaco, uzbeko, coreano, bretón, guyaratí, tayiko, telugu, kirguís y georgiano, junto con un modelo dedicado de identificación del hablante.
Algunos idiomas tienen múltiples variantes en el panel (por ejemplo, un modelo más pequeño adecuado para hardware móvil junto a uno más grande y preciso), por lo que vale la pena revisar las opciones para tu idioma de destino directamente en el panel de Project Settings en lugar de asumir que solo hay una disponible. Consulta la lista completa de modelos de Vosk para obtener detalles sobre la precisión, el tamaño y la licencia de cada variante.
Parámetros y comportamiento
Vosk es un motor de reconocimiento fundamentalmente distinto de whisper.cpp, por lo que la mayoría de las entradas de la Lista de Parámetros de Reconocimiento no le son aplicables. Llamar a un setter no compatible en el proveedor de Vosk no tiene efecto, por lo que la lógica de Blueprint escrita para whisper.cpp sigue funcionando sin modificaciones después de cambiar de proveedor. Las funciones que sí tienen efecto en Vosk son:
- Establecer idioma: selecciona qué modelo de idioma se utiliza. Vosk no es compatible con la detección automática de idiomas, por lo que si estableces el idioma en Auto, se ignora.
- Establecer tamaño de paso: cuánto audio se acumula antes de enviarse para el reconocimiento, el mismo mecanismo que con whisper.cpp. Dado que Vosk es un reconocedor de streaming, un valor pequeño (el proveedor de Vosk usa 200 ms por defecto) mantiene la capacidad de respuesta de los resultados parciales.
- Establecer máximo de tokens: reutilizado para Vosk, descrito a continuación.
Establecer Max Tokens y salida en streaming.
El parámetro Set Max Tokens controla cómo el proveedor de Vosk entrega el texto reconocido a través de On Recognized Text Segment:
- 0 (predeterminado): el texto se acumula internamente y se entrega como un único segmento finalizado una vez que el reconocimiento finaliza, ya sea mediante una parada activada por VAD (como en los ejemplos de Reconocimiento de comandos por voz activado por voz o Reconocimiento de voz con auto-inicialización) o mediante cualquier lógica en tu proyecto que llame a Stop Speech Recognition o fuerce el paso del último fragmento de audio. Esto coincide con el comportamiento basado en segmentos que utiliza whisper.cpp.
- Mayor que 0: el proveedor cambia a un modo de transmisión. En lugar de esperar a que se complete un segmento, transmite resultados parciales a medida que avanza el reconocimiento, cada uno reemplazando al anterior con una versión más larga de la misma frase, hasta que el segmento finaliza y el texto se reinicia para el siguiente. Una expresión breve podría verse así en varias transmisiones de On Recognized Text Segment.
"The"
"The cat"
"The cat is"
"The cat is sleeping"
El valor numérico exacto no le importa a Vosk en sí mismo, ya que no tiene un límite de tokens incorporado. Cualquier valor superior a 0 activa la entrega en streaming.
Dado que los parciales solo llegan con la misma frecuencia con la que se encola el audio (regido por Establecer tamaño de paso), combine un Máximo de tokens bajo con un Tamaño de paso bajo para obtener una salida en vivo receptiva.
Soporte de plataformas
La extensión Vosk funciona en Windows, Android y plataformas basadas en Android, como Meta Quest. Es más útil en Android y Meta Quest, donde whisper.cpp no tiene ruta de aceleración GPU, y funciona especialmente bien en Meta Quest concretamente. Si ya estás en Windows u otra plataforma de escritorio con aceleración Vulkan o Metal disponible, whisper.cpp probablemente sea una mejor opción por defecto. Vosk está pensado como una alternativa para las plataformas donde whisper.cpp es más débil.
Avanzado: trabajando directamente con modelos
El panel de Configuración del proyecto cubre la descarga y eliminación de modelos para la mayoría de los proyectos. Si tu proyecto necesita trabajar con modelos directamente en lugar de depender del panel del Editor, por ejemplo, verificar la disponibilidad o gestionar archivos en tiempo de ejecución, el plugin expone las funciones subyacentes de la librería:
- Obtener nombres de los modelos de Vosk disponibles: devuelve los nombres de los modelos listos para usar ahora mismo, ya sea extraídos al disco o simplemente empaquetados y a la espera de su primer uso. Esto es lo que alimenta el menú desplegable en Establecer ruta del modelo de Vosk (por nombre).
- Está disponible el modelo de Vosk: la misma comprobación que arriba, para un solo modelo por ID.
- Obtener directorio de modelos de Vosk: devuelve la ruta absoluta al directorio desde el que se leen los modelos en tiempo de ejecución.
- Obtener ruta de la carpeta del modelo de Vosk: devuelve la ruta absoluta a la carpeta de un modelo específico en el disco.
- Eliminar archivos del modelo de Vosk: elimina del disco los archivos extraídos de un modelo.