Reconhecimento de fala
O Guida inclui um mecanismo de fala para texto (STT) de alto desempenho e totalmente local, baseado nos modelos Whisper da OpenAI. Ao integrar whisper.cpp diretamente ao aplicativo, o Guida deixa de ser apenas um renderizador web passivo e se torna um ouvinte ativo.
Combinado com seus LLMs locais, o Whisper funciona como uma ponte vocal para o sistema: você pode comandar o navegador, extrair dados e disparar fluxos de trabalho com linguagem natural em vez de clicar em botões.
Privacidade local
Seção intitulada “Privacidade local”Sua voz e seus comandos nunca saem da sua máquina. Tanto a transcrição via Whisper quanto o raciocínio via Ollama ou LlamaSharp acontecem inteiramente no seu hardware local. Não há APIs de nuvem, assinaturas nem telemetria gravando seu áudio.
Desempenho e hardware
Seção intitulada “Desempenho e hardware”O mecanismo de fala do Guida é deliberadamente otimizado para rodar na CPU usando instruções AVX2/AVX-512. Essa escolha mantém o STT fora da GPU e preserva sua VRAM para executar LLMs grandes em paralelo.
O controle de recursos garante que o mecanismo use apenas núcleos físicos da CPU, evitando sobrecarga de hyperthreading e mantendo a interface do navegador responsiva durante a transcrição.
Configuração
Seção intitulada “Configuração”Para começar com fluxos por voz, configure o mecanismo em Settings > Speech Recognition:
- Model Path: configure o caminho do modelo Whisper GGML preferido. Modelos quantizados
base.enousmall.ensão altamente recomendados pelo equilíbrio entre velocidade e precisão. - Load model on startup: ajuste esta opção para equilibrar uso de RAM e disponibilidade imediata. Se desativada, o modelo será carregado sob demanda na primeira transcrição solicitada por script ou interface.
- Microphone Sovereignty: você não é mais obrigado a usar o dispositivo de áudio “Default” do Windows. Escolha explicitamente o hardware de entrada no menu suspenso, por exemplo separando um headset de alta qualidade do microfone embutido do notebook.
Experiência de áudio robusta
Seção intitulada “Experiência de áudio robusta”O Guida inclui controles de hardware e feedback visual em tempo real para que você não precise adivinhar se o navegador está ouvindo:
- Dynamic Voice Button: o botão ”🎙 Voice” da barra principal é sensível ao estado. Ele mostra “Loading…” quando o modelo de IA está indo para RAM, “Load Voice” quando está dormindo e fica vermelho de alto contraste quando o microfone está gravando.
- Visual Pulse: o botão de voz inclui um medidor VU integrado, uma barra verde sutil que reage à sua voz em tempo real e confirma que o hardware está funcionando.
- Smart Silence Detection: o Guida monitora níveis de áudio. Se você gravar uma sessão vazia por engano, por exemplo com o microfone fisicamente mudo, o Guida detecta antes de enviar dados vazios para a IA e mostra uma notificação útil.
- Mic Test Sandbox: um botão “Test” na janela Settings permite verificar seus níveis de microfone com segurança sem disparar um fluxo de IA.
API de scripts (g.stt.*)
Seção intitulada “API de scripts (g.stt.*)”O namespace g.stt permite que desenvolvedores criem fluxos guiados por voz por código.
g.stt.listen(ms)
Seção intitulada “g.stt.listen(ms)”Grava áudio do microfone selecionado por uma duração específica e transcreve diretamente para uma variável de script.
async function main() { g.log("Ouvindo por 5 segundos...");
try { // Gravar por 5000 milissegundos const transcript = await g.stt.listen(5000); g.log("Você disse: " + transcript);
if (transcript.toLowerCase().includes("resuma")) { // Disparar um LLM local para resumir a página const content = await g.dom.extractContent("body"); const summary = await g.llm.promptLocalLlm("llama3.2", "Resuma: " + content); g.log("Resumo: " + summary); } } catch (e) { g.log("Erro STT: " + e.message); }}g.stt.transcribeFile(path)
Seção intitulada “g.stt.transcribeFile(path)”Processa arquivos de áudio .wav existentes no disco para extração de dados.
async function main() { try { const transcript = await g.stt.transcribeFile("C:\\temp\\meeting_notes.wav"); g.log("Transcrição concluída. Tamanho: " + transcript.length); } catch (e) { g.log("Falha ao transcrever arquivo: " + e.message); }}Próximos passos
Seção intitulada “Próximos passos”- Referência da API — assinaturas completas dos métodos
g.stt.*. - Configuração de LLM — conecte o “cérebro” (Ollama/LlamaSharp) aos seus novos “ouvidos”.