Create your own custom dictionary
Speakey's dictionary is just a folder of plain text files. You don't have to add words one at a time through the UI — you can author whole vocabulary lists and replacement rules in any text editor and drop them in. Here's exactly how the files are shaped.
Where the files go
- Windows: %APPDATA%\io.speakey.app\dictionary\
- Linux: ~/.local/share/io.speakey.app/dictionary/
Everything Speakey knows lives in that one folder. There are two kinds of file you can author: vocabulary categories and replacement rules.
Vocabulary categories — one .txt per list
Any .txt file in the folder is a vocabulary category. The rules are simple:
- One term per line. A term can be several words —
Apex Legends,Baldur's Gate— just keep it on one line. - Blank lines are ignored. Lines starting with
#are comments. - Save as UTF-8. Case is preserved in the output; matching is case-insensitive, so you only need each term once.
- The filename becomes the category name shown in Speakey. It's lower-case and hyphenated; Speakey title-cases it and turns hyphens into spaces. So
proper-names.txtshows up as the "Proper Names" category.
# Teammates and clients Aoife Nguyen Kubernetes kubectl Slipwave Anthropic
Replacement rules — _replacements.csv
Replacement rules are unconditional swaps applied to every transcript. They live in a single file named exactly _replacements.csv. One rule per line, in the form heard,corrected:
- Everything before the first comma is what the engine tends to produce; everything after is what you want written instead.
- Blank lines and
#comment lines are ignored.
# heard,corrected cube cuttle,kubectl eye tunes,iTunes get hub,GitHub my sequel,MySQL
A vocabulary entry nudges Speakey toward the right spelling when the engine was unsure — gentle and context-aware. A replacement rule fires every single time, no questions asked. Reach for a rule only when a fix needs to be guaranteed. See Using the dictionary for the full picture.
Drop it in — that's it
Save your file into the dictionary folder and Speakey picks it up immediately — it watches the folder and hot-reloads changes, no restart. Edit a file while Speakey is running and the next thing you dictate already reflects it.
Reserved files
A couple of files in that folder are Speakey's, not yours: _stats.json holds the learning data behind word ranking, and learned.txt is the category Speakey fills from corrections you accept. You can read them, but let Speakey manage them — and don't name your own category files with a leading underscore.
The quickest way to learn the format is to crack open a real one. Our vocabulary packs are exactly these files — download one, read it, edit it. And because your dictionary is just plain files, you can keep it in version control or sync it across computers.