I've been working on **Talk to me**, an addon that lets you operate FreeCAD by voice. It runs entirely offline on your own machine: no cloud, no account, nothing you say leaves your computer.
It doesn't generate geometry or code. It only runs FreeCAD's own commands, the ones you'd otherwise click, picked from the current context. Some examples that work:
- "Pad", "Make a fillet", "Isometric view", "Undo that"
- "Switch to Part Design, create a new body and then a new sketch"
- "Rectangle" → click the first corner → "50 by 30"
- "Pad it 12 mm", "XY plane", "Call it base plate"
- "Extrude this and remove it from the body" → finds Pocket from the command's description
The microphone listens continuously, but ordinary talk is ignored ("the circle is a bit too big"). When it's unsure, a small menu next to the mouse pointer asks. It also learns how the speech recognition hears *your* voice. English and German for now; language packs are plain data files.
**Status:** beta. Tested on Linux with the FreeCAD 1.1.4 AppImage, CPU only. **Windows and macOS are untested**, so reports from there would be great. Flatpak/Snap don't work yet.
**Heads-up on size:** the addon is a few MB, but speech recognition (faster-whisper) isn't: about 550 MB for the speech service plus a 75–500 MB model, roughly as much as FreeCAD itself. It's downloaded once from pypi.org and Hugging Face, then everything runs offline.
**Install:**
You need a system Python 3.10+ (Debian/Ubuntu/Mint: `sudo apt install python3-venv libportaudio2`)
Edit → Preferences → Addon Manager → Custom repositories: add `https://github.com/Palmstroemen/TalkToMe\`, branch `main`, then install "Talk to me" in the Addon Manager and restart
Press the microphone button in the new toolbar. A dialog installs the speech service.
If you want to try it without anything happening, there's a dry-run option in the settings that only shows what it would do.
Most useful feedback: sentences it didn't understand, or (worse) ones that triggered the wrong command. Say "Training" to see exactly what the speech recognition heard.
GitHub: https://github.com/Palmstroemen/TalkToMe (issues and discussions welcome)