Hands-Free Anki
๐ค Review Anki cards completely hands-free using voice!
Cards are read aloud, you answer verbally, and your answers are automatically scored and rated. Perfect for language learning, studying while commuting, or accessibility needs.
โจ Features
- ๐ Text-to-Speech: Cards read aloud automatically (ElevenLabs, Google TTS, Amazon Polly, or offline pyttsx3)
- ๐ค Speech Recognition: Speak your answer (OpenAI Whisper, ElevenLabs, or Google Speech)
- ๐ Smart Scoring: AI-powered answer evaluation (GPT-4, Claude, Mistral, or local semantic matching)
- ๐ผ๏ธ OCR Support: Text extracted from images in cards (GPT-4 Vision or Tesseract)
- ๐ Multi-language: English, German, French, Spanish support
- โ๏ธ Highly Configurable: Per-deck settings, custom voice commands, display toggles
๐ Quick Start
- Install from AnkiWeb or copy to your addons folder
- Press Ctrl+Shift+H to start hands-free mode
- Listen to the card, speak your answer
- Get instant feedback and automatic rating!
๐ Requirements
API Keys (for best experience)
- OpenAI API Key: For Whisper STT and GPT scoring
- ElevenLabs API Key (optional): For high-quality voices
System Dependencies
# Linux (Ubuntu/Debian)
sudo apt install portaudio19-dev tesseract-ocr espeak
# macOS
brew install portaudio tesseract espeak
# Windows
# Install Tesseract from: https://github.com/UB-Mannheim/tesseract/wiki
โ๏ธ Configuration
Access settings via Tools โ Hands-Free โ Settings
Tabs Overview
| Tab |
Description |
| โ๏ธ General |
Language, voice commands, per-deck settings |
| ๐ฅ๏ธ Display |
Toggle overlays: speech bubble, rating indicator, debug panels |
| ๐ TTS |
Voice provider priority, ElevenLabs voice selection, speech rate |
| ๐ค STT |
Whisper/ElevenLabs setup, microphone settings, recording timeouts |
| ๐ Scoring |
Grading thresholds, embedding vs LLM scoring |
| ๐ค AI/LLM |
API keys and model selection |
| ๐ง Advanced |
OCR settings, rating announcements, system dependencies |
๐ฃ๏ธ Voice Commands
During review, you can say:
- "stop" / "halt" - Pause hands-free mode
- "skip" - Skip current card
- "next" - Move to next card
- "one" / "two" / "three" / "four" - Rate card directly
๐ฏ Scoring Methods
| Method |
Speed |
Quality |
Requires |
| Local (spaCy) |
โก Fast |
Good |
Nothing |
| GPT-4o-mini |
Medium |
Excellent |
OpenAI key |
| Claude |
Medium |
Excellent |
Anthropic key |
| Ollama |
Varies |
Good |
Local Ollama |
๐ Privacy & Security
โ ๏ธ Important Security Notice:
- API keys are stored locally in plain text in your Anki addons folder (
user_config.json)
- Other Anki addons may have access to these keys - only install addons you trust
- Consider using API keys with spending limits or usage restrictions
- Audio is only recorded during active review sessions
- Speech data is sent to your configured provider (OpenAI Whisper, ElevenLabs, etc.)
- No data is stored or shared by this addon itself
๐ง Building from Source
If you want to build/install the addon yourself:
1. Clone the repository
cd ~/.local/share/Anki2/addons21/
git clone https://github.com/fsch-ppi/hands-free-anki.git
cd hands-free-anki
2. Install Python dependencies
# Create vendor directory and install dependencies there
pip install -t vendor/ -r requirements.txt
# Or install manually:
pip install -t vendor/ openai anthropic elevenlabs SpeechRecognition gTTS pyttsx3 spacy pygame pytesseract pillow
3. Download spaCy language models
python -m spacy download en_core_web_sm
python -m spacy download de_core_news_sm
# Copy to vendor/spacy_models/
4. System dependencies
# Linux (Ubuntu/Debian)
sudo apt install portaudio19-dev tesseract-ocr espeak
# macOS
brew install portaudio tesseract espeak
# Windows - see Requirements section
5. Restart Anki
The addon will appear in your addons list.
๐ Troubleshooting
TTS not working?
- Check the TTS provider order in settings
- Ensure espeak is installed (Linux)
- Try a different provider
Microphone not detected?
- Install portaudio:
sudo apt install portaudio19-dev
- Check microphone selection in STT settings
OCR not working?
- Use GPT-4 Vision (requires OpenAI key)
- Or install Tesseract locally
Rating seems wrong?
- Adjust scoring thresholds in Scoring tab
- Try switching between embedding and LLM scoring
๐ License
MIT License - Free for personal and educational use.
๏ฟฝ Author
Florian Schlรถsser - @fsch-ppi
๏ฟฝ๐ Credits
Built with โค๏ธ for the Anki community.
Keyboard Shortcut: Ctrl+Shift+H to toggle hands-free mode