Ir al contenido

Reconocimiento de voz

Guida incluye un motor de voz a texto (STT) completamente local y de alto rendimiento impulsado por los modelos Whisper de OpenAI. Al integrar whisper.cpp directamente en la aplicación, Guida pasa de ser un renderizador web pasivo a ser un oyente activo.

Combinado con sus LLM locales, Whisper actúa como un “puente vocal del sistema operativo”: permite dar órdenes al navegador, extraer datos y disparar flujos de trabajo con lenguaje natural en lugar de hacer clic en botones.

Su voz y sus comandos nunca salen de su equipo. Tanto la transcripción mediante Whisper como el razonamiento mediante Ollama o LlamaSharp ocurren íntegramente en su hardware local. No hay API en la nube, suscripciones ni telemetría que grabe su audio.

El motor de voz de Guida está optimizado deliberadamente para ejecutarse en la CPU usando instrucciones AVX2/AVX-512. Esta elección arquitectónica mantiene el motor STT completamente fuera de la GPU, reservando el 100 % de su valiosa VRAM para ejecutar simultáneamente LLM grandes y de muchos parámetros.

La limitación de recursos garantiza que el motor use solo núcleos físicos de CPU, evitando sobrecoste de hyperthreading y manteniendo receptiva la interfaz del navegador durante la transcripción.

Para empezar con flujos de voz, configure el motor en Settings > Speech Recognition:

  1. Model Path: configure la ruta de su modelo Whisper GGML preferido. Los modelos cuantizados base.en o small.en son muy recomendables por su equilibrio entre velocidad y precisión.
  2. Load model on startup: active esta opción para equilibrar uso de RAM y disponibilidad instantánea. Si está desactivada, el modelo se cargará bajo demanda la primera vez que un script o la interfaz solicite transcripción.
  3. Microphone Sovereignty: ya no está obligado a usar el dispositivo de audio “Default” de Windows. Elija explícitamente su hardware de entrada desde el menú desplegable, por ejemplo separando unos auriculares de alta calidad del micrófono integrado del portátil.

Guida incluye controles de hardware de nivel profesional y respuesta visual en tiempo real para que no tenga que adivinar si el navegador le está escuchando:

  • Botón de voz dinámico: el botón principal ”🎙 Voice” de la barra de herramientas conoce su estado. Muestra “Loading…” cuando el modelo de IA se mueve a RAM, “Load Voice” cuando está dormido y se vuelve rojo de alto contraste cuando el micrófono está grabando.
  • Pulso visual: el botón de voz incorpora un medidor VU, una sutil barra verde que reacciona a la voz en tiempo real y confirma al instante que el hardware funciona.
  • Detección inteligente de silencio: Guida monitoriza proactivamente los niveles de audio. Si graba accidentalmente una sesión en blanco, por ejemplo con el micrófono silenciado físicamente, Guida lo detecta antes de enviar datos vacíos a la IA y muestra una notificación Toast útil.
  • Mic Test Sandbox: el botón “Test” en la ventana Settings permite comprobar con seguridad los niveles del micrófono sin disparar un flujo de IA.

El espacio de nombres g.stt permite a los desarrolladores construir flujos dirigidos por voz de forma programática.

Graba audio desde el micrófono seleccionado durante una duración especificada y lo transcribe directamente en una variable de script.

async function main() {
g.log("Listening for 5 seconds...");
try {
// Record for 5000 milliseconds
const transcript = await g.stt.listen(5000);
g.log("You said: " + transcript);
if (transcript.toLowerCase().includes("summarize")) {
// Trigger a local LLM to summarize the page
const content = await g.dom.extractContent("body");
const summary = await g.llm.promptLocalLlm("llama3.2", "Summarize: " + content);
g.log("Summary: " + summary);
}
} catch (e) {
g.log("STT Error: " + e.message);
}
}

Procesa archivos de audio .wav existentes en su disco para extracción de datos.

async function main() {
try {
const transcript = await g.stt.transcribeFile("C:\\temp\\meeting_notes.wav");
g.log("Transcription complete. Length: " + transcript.length);
} catch (e) {
g.log("Failed to transcribe file: " + e.message);
}
}
  • Referencia de API — firmas completas de métodos g.stt.*.
  • LLM Setup — conecte el “cerebro” (Ollama/LlamaSharp) a sus nuevos “oídos”.