Why EchoControl Doesn't Use Windows Speech Recognition

EchoControl listening for a command, with the Elite Dangerous command list open showing categories like Propulsion and Power
EchoControl listening for an Elite Dangerous command — checked against a closed list of phrases, not open dictation.

No, EchoControl doesn't rely on Windows Speech Recognition. It runs on Vosk, a speech engine that works entirely on your own computer, with no cloud server involved.

Vosk logo
Vosk, the open-source offline speech recognition toolkit EchoControl runs on.

We're saying this straight up because it's the most common complaint about other voice software: stuck with Windows' native recognizer, year after year, with no real alternative. We decided early on not to depend on it. We also didn't build our own cloud service, which would have been the other easy route.

The other easy route, and why we skipped it

A cloud service would have been simpler to build. But a game doesn't wait. If recognition has to travel to a server and back, every command carries your connection's delay, and it stops working the moment the internet drops.

Vosk solves both problems at once. The model runs loaded on your machine (vosk-model-small-en-us-0.15 for English, vosk-model-small-es-0.42 for Spanish), so there's no round trip to wait for.

Why it doesn't try to understand everything

There's a technical detail almost nobody asks about from the outside, and we cover it in more depth in how EchoControl recognizes your commands: the engine doesn't transcribe anything you say. Each game profile defines a closed list of phrases, and it only listens for those.

That's what makes it fast and accurate at the same time. The problem it solves is much smaller than "understand natural language". But a closed list has a risk: if someone says a command a little differently from how we recorded it while building the profile, it can sound like something else to the engine.

The audit that exists because of that risk

That's why every profile goes through its own audit, per game and per language, before it ships. Each phrase gets synthesized as speech, run through Vosk with an open grammar (to see what it could be confused with), and any mismatch gets flagged before a real player runs into it. Some real results from that audit:

  • Elite Dangerous (English): 64 phrases sounded different than expected — "deploy heatsink" was heard as "deploy heat sink".
  • Shadow Tactics (Spanish): 43 phrases failed — "cargar última partida" (load last save) was heard as "cargar última partir".
  • Commandos 2 (English): 32 phrases — "beret" was confused with "bahrain".

Each of those gets fixed with a phonetic alias before that profile ships. Not after someone complains.

We're not saying it's perfect. We keep finding phrases that fail every time we audit a new profile, and we'll probably keep finding them. What we can say is this:

The engine doesn't depend on Windows. It doesn't depend on the internet. And every mistake we find gets fixed before it ships. Never hidden behind "it works most of the time".

See EchoControl in action →

See EchoControl in action →