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.
Privacidad local primero
Sección titulada «Privacidad local primero»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.
Rendimiento y hardware
Sección titulada «Rendimiento y hardware»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.
Configuración
Sección titulada «Configuración»Para empezar con flujos de voz, configure el motor en Settings > Speech Recognition:
- Model Path: configure la ruta de su modelo Whisper GGML preferido. Los modelos cuantizados
base.enosmall.enson muy recomendables por su equilibrio entre velocidad y precisión. - 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.
- 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.
UX de audio robusta
Sección titulada «UX de audio robusta»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.
API de scripting (g.stt.*)
Sección titulada «API de scripting (g.stt.*)»El espacio de nombres g.stt permite a los desarrolladores construir flujos dirigidos por voz de forma programática.
g.stt.listen(ms)
Sección titulada «g.stt.listen(ms)»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); }}g.stt.transcribeFile(path)
Sección titulada «g.stt.transcribeFile(path)»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); }}Siguientes pasos
Sección titulada «Siguientes pasos»- Referencia de API — firmas completas de métodos
g.stt.*. - LLM Setup — conecte el “cerebro” (Ollama/LlamaSharp) a sus nuevos “oídos”.