Hands-Free Voice Review (Anki add-on)
Review your Anki decks by voice instead of the keyboard β fully offline.
| You say |
Anki does |
| "yes" / "yep" / "ya" |
Show the answer (Space) |
| "one" / "two" / "three" / "four" |
Grade Again / Hard / Good / Easy |
| "undo" / "back" (or "go back") |
Undo the last action |
Speech recognition runs entirely on your computer with Vosk. Nothing is sent to the internet β see docs/PRIVACY.md.
Install
From AnkiWeb (recommended): search for "Hands-Free Voice Review" in Anki
(Tools β Add-ons β Get Add-ons) once it is published.
From a file: download the latest .ankiaddon from the
Releases page and
double-click it, or in Anki use Tools β Add-ons β Install from file.
Restart Anki, open a deck, and study by voice. A microphone is required; allow
mic access if your OS prompts. Toggle it under Tools β Voice Control (listening).
The first time you enable it, the ~40 MB speech model downloads automatically
(internet required that once); afterwards everything runs fully offline.
How it works
Microphone ββΆ recognizer binary ββstdoutβββΆ add-on (background reader thread)
(Vosk, offline) β mw.taskman.run_on_main(...)
βΌ (UI thread)
state-aware action: reveal / grade / undo
The recognizer is a small standalone program (one per OS) that listens with a
restricted 6-word grammar and prints recognized words. The add-on performs the
matching action only while you're reviewing, so it can't act at the wrong time.
Configuration
Tools β Add-ons β select this add-on β Config. See addon/config.md.
Key settings: spoken words (reveal_words, grade_words, undo_words),
response speed (block_seconds), and the noise gate (grade_min_level).
Building from source
The add-on ships a prebuilt recognizer binary per platform. To rebuild them:
- Windows:
powershell -File build/build_recognizer.ps1
- macOS / Linux:
bash build/build_recognizer.sh
- All three at once: push to GitHub and run the
build-recognizers
workflow (.github/workflows/build.yml); download the artifacts into
addon/recognizer/ as recognizer-windows.exe, recognizer-macos,
recognizer-linux.
Get the voice model with build/get_model.ps1 (Windows) or download
vosk-model-small-en-us-0.15 from https://alphacephei.com/vosk/models and place
it in addon/model/.
Package the shareable file with:
python packaging/make_ankiaddon.py # -> dist/handsfree_voice_review.ankiaddon
Platform notes
- Windows: works out of the box. PyInstaller
.exes are occasionally
flagged by antivirus (false positive); allow it if needed.
- macOS: the helper is unsigned, so the first launch may require allowing it
in System Settings β Privacy & Security, plus granting microphone access.
Signing/notarization (Apple Developer account) would remove the prompt.
- Linux: requires PortAudio at runtime (
libportaudio2); it is bundled in
the shipped binary but may depend on your audio stack (ALSA/PulseAudio/PipeWire).
License
Add-on code: MIT. Bundled third-party components (Vosk, the Vosk
model, sounddevice, PortAudio) keep their own licenses β see
addon/THIRD_PARTY_LICENSES.md.
Inspired by williamknows/anki-voice.