Human-in-the-Loop Task Manager for AI Agents
Back to Blog
August 14, 2026 | AgentRQ Team

Local Speech-to-Text: Talk to Your Agent Instead of Typing

Sometimes the fastest way to describe a bug is to just talk through it out loud — the repro steps, the stack trace you half-remember, the "wait, actually it also happens when..." caveat. Typing that out slows down the exact moment your thinking is clearest.

AgentRQ's task composer and reply box now have a microphone button. Click it, talk, click it again, and your words are transcribed straight into the text field — using a speech recognition model that runs entirely in your browser.

Voice input button in the AgentRQ task composer

Whisper, Running Client-Side

The transcription is powered by OpenAI's Whisper model, loaded through @huggingface/transformers and run inside a dedicated Web Worker. AgentRQ picks the model size based on your device: onnx-community/whisper-base on desktop for better accuracy, and the smaller onnx-community/whisper-tiny.en on mobile, where compute and memory are tighter.

Under the hood, the worker tries WebGPU first for faster inference, and falls back to WASM automatically if it isn't available — with quantization tuned for each path (fp32/q4 on WebGPU, q8 on WASM).

From Microphone to Model

Recording uses the browser's native MediaRecorder, capturing audio as webm/opus. Whisper expects 16kHz mono audio, so before transcription the recorded clip is decoded and resampled using an OfflineAudioContext — done once, entirely in-browser, with no server round-trip.

While the model is loading or actively transcribing, the mic button reflects that state directly: a pulsing dot while recording, a spinner while transcribing. Once the text comes back, it's appended into whatever field you were writing in, with a smart space inserted only if the existing text doesn't already end in one.

Language Handling

Whisper's base model is multilingual, and AgentRQ resolves which language to transcribe in with a clear priority order:

  1. A per-workspace language preference you've explicitly saved (stored in localStorage).
  2. Your browser's own language setting (navigator.language), if Whisper supports it.
  3. English, as the fallback.

Mobile is currently English-only, since the smaller whisper-tiny.en model is English-specific — trading language coverage for a lighter download on constrained devices. The first time you use voice input on mobile, AgentRQ shows a one-time toast making that limitation explicit, rather than letting a non-English transcription silently come out wrong.

Nothing Leaves Your Device

Just like local AI title generation, the entire pipeline — recording, resampling, and transcription — runs inside your browser tab. No audio clip and no transcribed text is ever sent to a server to make this feature work. If you're describing a production incident, a customer's account details, or anything else you wouldn't want passing through a third-party API, that matters.

The worker itself is also kept alive across views rather than torn down when you navigate away, so the model doesn't need to reload every time you want to dictate another task.

It's a small piece of the composer, but it removes a specific kind of friction: the gap between having a clear thought and having the patience to type it all out.

---

*AgentRQ is currently in public beta. Join our GitHub community to help shape the future of human-agent collaboration.*

Start Free