VoiceReady is a local voice-command assistant for Ready or Not. It listens to your microphone, recognizes supported spoken commands with a local Vosk speech model, checks the current in-game command-menu state, and sends the matching keyboard or mouse input.
VoiceReady does not modify game files, write process memory, inject code, or use a remote transcription service.
VoiceReady was created by reverse engineering Ready or Not with Cheat Engine. The project uses pointer paths extracted from that research to read specific in-game state values, including command-menu state, selected team, and context-sensitive door information.
Those values are used to decide which normal Ready or Not command-menu inputs should be sent after a voice command is recognized. VoiceReady executes commands through emulated keyboard and mouse input. It does not patch, hook, inject, or write to Ready or Not memory.
At runtime, VoiceReady:
- Captures microphone audio locally.
- Uses a local Vosk speech-recognition model to turn supported phrases into command intents.
- Reads Ready or Not process memory with read-only access to understand the command context the player is currently in.
- Checks values such as the active command menu, selected team, and whether the game currently exposes a known trapped-door command state.
- Sends the matching command sequence using normal keyboard and mouse input.
VoiceReady sends the same command-menu inputs the player would normally press. If your Ready or Not command-menu binds are customized, use the Keybinds menu in the UI to remap VoiceReady to match them.
VoiceReady only receives information after the player has obtained it in-game. For example, a door trap is only known to VoiceReady after Ready or Not exposes that state because the player can currently see the trap or has already discovered it by peeking or using the mirror wand. VoiceReady cannot know that a door is booby trapped before the player observes it, and it does not give the player hidden information they would not already have.
- Windows
- Ready or Not
- A working microphone
- .NET 10 SDK installed and available on PATH
You do not need Python, Whisper, PyTorch, or an OpenAI API key. Earlier prototypes used Whisper, but the current app uses Vosk through .NET.
VoiceReady is distributed as source code instead of a prebuilt .exe because the project is intended to stay open and inspectable. A compiled executable is much harder for users to read and verify, while this repository lets you see the code, configuration, setup scripts, and exact commands being run.
Download or clone the full repository. The required Vosk runtime files and English speech model are included locally in the repo:
tools\vendor\vosk\
tools\vosk\models\vosk-model-small-en-us-0.15\
Extract VoiceReady to a simple English-only path such as:
C:\VoiceReady
Avoid OneDrive folders and folder paths containing non-English characters. The native Vosk library can fail to load the model from those paths.
There is no dependency installer script anymore. The only external requirement is the .NET 10 SDK. Check that .NET is available with:
dotnet --versionDevelopers or automated repo reviewers can verify the bundled Vosk files by downloading the official Vosk NuGet package and the official vosk-model-small-en-us-0.15 model archive listed in THIRD-PARTY-LICENSES.md, extracting them locally, and comparing the extracted files against tools\vendor\vosk\ and tools\vosk\models\vosk-model-small-en-us-0.15\ with a file-hash tool such as PowerShell Get-FileHash.
Start Ready or Not first, then run:
run-ui.batUse the dark-mode UI to start or stop VoiceReady from the sidebar, then move between dedicated menus for live status, audio setup, keybind remapping, and debug output. The Audio menu includes a microphone test that listens and prints local transcriptions without attaching to Ready or Not or sending any input.
The Keybinds menu lets you click a binding, press the matching key or supported mouse button, and save the remap to config\voice_ready.json. Each binding has its own Reset button, and Reset all restores the default Ready or Not command-menu bindings.
For the console voice runner, use:
run-voice.batThe UI runner is recommended for normal use.
If Windows blocks the .bat files, run the app manually from PowerShell:
dotnet run --project src\VoiceReady.AppFor console voice mode:
dotnet run --project src\VoiceReady.Cli -- --voiceCommands can target a team by saying red team, blue team, or gold team before the command:
red team breach using c2 and clear with flashbang
blue team search and secure
gold team fall in
red team get behind me
on me
fall in, on me, and get behind me default to Single File formation. You can also say double file, diamond formation, or wedge formation.
For best results, look at the door, ground, teammate, suspect, or civilian you want to command before speaking.
- Doorway and other-doorway command-menu voice support is still incomplete.
- Pick-the-lock voice support is not complete yet because the locked-door state address has not been identified. This is actively being worked on.
- Queued commands are not supported yet.
- Keybind remapping supports single keyboard keys plus middle mouse, right mouse, mouse button 4, and mouse button 5. Modifier key chords are not supported yet.
If dotnet is not recognized, install the .NET 10 SDK, then open a new terminal and try again.
Check that .NET is visible with:
dotnet --versionRun run-ui.bat again after this update. The launcher now keeps the window open when startup fails and prints the reason.
The most common cause is that the .NET 10 SDK is missing. The normal .NET runtime is not enough for dotnet run; this source-code distribution requires the SDK. You can also open PowerShell in the VoiceReady folder and run:
dotnet run --project src\VoiceReady.AppThat will show the full startup error in the terminal.
This is Windows error 0xC0000005, usually a native access violation. If it happens when pressing Start VoiceReady, send the contents of:
config\voice_ready_diagnostics.log
That log records the last startup step before native audio or Vosk recognition code runs.
If the error mentions that the Vosk model folder does not contain model files and the path contains ????, move the whole VoiceReady folder to an English-only path such as:
C:\VoiceReady
A downloaded ZIP around 60 MB can be normal because the bundled Vosk model and native files compress heavily. After extraction, make sure these paths exist:
tools\vendor\vosk\native\win-x64\libvosk.dll
tools\vosk\models\vosk-model-small-en-us-0.15\am\final.mdl
tools\vosk\models\vosk-model-small-en-us-0.15\graph\HCLr.fst
tools\vosk\models\vosk-model-small-en-us-0.15\graph\Gr.fst
If VoiceReady reports that the Vosk model was not found, the repository is incomplete or the model folder was moved. The expected model path is:
tools\vosk\models\vosk-model-small-en-us-0.15
The folder should contain files such as:
conf\model.conf
am\final.mdl
graph\HCLr.fst
graph\Gr.fst
Download or clone the repository again if those files are missing.
VoiceReady also needs the local Vosk runtime files in tools\vendor\vosk. If build or startup errors mention Vosk.dll, libvosk.dll, libstdc++-6.dll, libgcc_s_seh-1.dll, or libwinpthread-1.dll, download or clone the full repository again.
Open run-ui.bat, go to the Audio menu, select the correct microphone, then use calibration or lower the speech-start threshold. If your mic is very quiet, Windows input gain may also need adjustment.
The audio settings are stored in:
config\voice_ready.json
Make sure Ready or Not is running and focused. VoiceReady sends normal keyboard and mouse input, so another focused window can receive the input instead of the game.
Also make sure you are looking at a valid in-game command target. Some commands only work when the matching Ready or Not command menu is available.
If you changed Ready or Not's command-menu keybinds, open the Keybinds menu in VoiceReady and remap the command menu and command option inputs to match the game.
VoiceReady depends on configured Ready or Not command-menu state values. If the game updates and changes those values, some menu detection can stop working until the configuration is updated.
The relevant configuration files are:
config\memory_map.json
config\command_menus.json
Try speaking shorter commands, pausing after each command, and keeping background noise low. You can add unusual phrases to:
config\voice_ready.json
Look for vosk.additionalGrammarPhrases.
Windows may block downloaded .bat files depending on your security settings. If that happens, use the manual PowerShell commands in the setup and run sections above.
Main user-facing settings live in:
config\voice_ready.json
Important values include:
audio.deviceNumber: selected microphone number.audio.speechStartDb: how loud speech must be before capture starts.audio.speechEndDb: how quiet input must be before a phrase ends.input.commandMenuOpen: key or mouse input used to open the Ready or Not command menu.input.commandKeys: key or mouse inputs used for command-menu options1through0.vosk.modelPath: path to the local Vosk model.vosk.additionalGrammarPhrases: extra phrases the recognizer should expect.
Third-party dependency and license information is listed in:
THIRD-PARTY-LICENSES.md