Adding a word
Type a name, term, or spelling into the input at the top and press Add. AddKokoro if it keeps writing “Coco row”.
Entries are capped at 50 characters. The characters <, >, " and ' are stripped, and duplicates are rejected regardless of case.
Each word appears as a chip you can remove with a click.
How custom words reach the model
Which mechanism fires depends on the engine running your speech model.
The Whisper route tends to be more accurate, because the model hears the bias before it decides. Every other engine gets a post-hoc rewrite, which is still good but has to guess.
Cloud speech-to-text
When you dictate through a cloud provider, custom words are forwarded as provider-native biasing if Send my custom words is on (it is by default). ElevenLabs receives them as key terms, OpenAI and Groq as a prompt, and Deepgram as key terms. When the words are sent to the cloud, the app’s own fuzzy correction pass is skipped, because running a second pass over text the model already biased can only corrupt it. If your provider accepts the field but ignores it, turn the setting off so the local pass takes over instead.Word correction threshold
Settings → Debug → Word correction threshold. Range 0.0 to 1.0. Default: 0.18. This controls how aggressively the fuzzy pass rewrites your transcript. Lower is stricter. Raise it if a term you added is being ignored. Lower it if unrelated words are being replaced. The Debug tab only appears once debug mode is on: pressCtrl+Shift+D (or Cmd+Shift+D on macOS).
Why 0.18 is the default
Why 0.18 is the default
An over-eager threshold rewrites ordinary words into your custom vocabulary. That is far more annoying than an occasional miss, so the default is deliberately tight.
How the fuzzy pass decides on a match
How the fuzzy pass decides on a match
It combines Levenshtein edit distance with Soundex phonetic matching, and checks runs of one, two, and three words at a time. That is how “Charge B” becomes
ChargeBee.A candidate has to be within about 25% of the custom word’s length before it is even considered, so openai cannot swallow “openaigpt”.The case pattern of the first word carries over (HELLO gives WORLD, Hello gives World), and leading or trailing punctuation is preserved. A word containing & gets a second matching form with the ampersand spelled out, so R&D matches whether you say “R and D” or it comes back as “R&D”.What Generate with Flow adds
What Generate with Flow adds
When Generate with Flow is on,
SpeakoFlow is added to the recognition list automatically.The activation phrase itself is left out of the fuzzy pass on purpose. Correction runs over the whole transcript, and “Hey Flow” would rewrite ordinary speech like “hey flaw”. Flow matches its own leading phrase separately.Learn words I correct
Below the word list, a toggle called Learn words I correct teaches SpeakoFlow from your own edits. When it is on, the app reads only the field it just typed into, for about a minute after each paste. If you fix a word SpeakoFlow got wrong, that correction appears in a Learned from your corrections list on the same page. Learned words are guesses. Each one has two actions:- Tick to promote it into your own custom words, where it stays permanently.
- Remove to forget it.
Learning from corrections is only available on Windows. macOS and Linux show a
note instead of the toggle. You can still add words by hand.
Text replacements
Map a spoken phrase to text you type often.
Languages
Which model for which languages.