Text replacements
Turn on the master toggle and the rule list appears. Each rule has two fields on the row itself.- Spoken phrase. What to look for in the transcript, for example
my email. - Insert this text. What to put there instead, for example
alex@example.com.
- Regex. Treat the spoken phrase as a regular expression instead of a literal string.
- Trim before. Also consume whitespace immediately before each match.
- Trim after. Also consume whitespace immediately after each match.
- Caps.
None(default),UPPERCASE,lowercase, orCapitalize, applied to this rule’s output. - Enabled. On by default. Turn it off to park a rule without deleting it.
Magic tokens
Use these inside the inserted text.
Transform tokens act on the entire rule output no matter where you put them, and they are removed from the result. If a token and the Caps dropdown disagree, Caps is applied last and wins.
Matching rules and edge cases
Matching rules and edge cases
Rules run in order, so a later rule sees the output of earlier ones.Literal matching is case-sensitive.
my email will not match “My email”. Tick Regex and start the pattern with (?i) for a case-insensitive match.$ is literal in the inserted text, so regex capture groups such as $1 cannot be referenced. Regex is for matching, not for templating.An invalid regex is skipped, with a warning in the log. It will not break the rest of your rules.Empty spoken phrases are skipped, so a half-finished rule is harmless.What an imported JSON file can contain
What an imported JSON file can contain
Importing only accepts the fields listed above. Anything else in the JSON is dropped, and an imported rule can never turn on a capability that is not already a per-rule option.
Spoken emoji
Say “happy emoji” or “thumbs up emoji” to insert 😊 or 👍. A command is a known emoji name followed by the word “emoji”. Both parts are required. The trailing “emoji” is what keeps ordinary words like “happy” or “fire” from silently turning into pictures. Anything it does not recognize is left exactly as transcribed, punctuation and spacing included.How names are matched, and how much slop is tolerated
How names are matched, and how much slop is tolerated
A name can be one to five words, and longer names win over shorter ones. “Broken heart emoji” gives 💔 rather than matching just “heart”.The trailing keyword is accepted within one edit of “emoji”, so “emojii” and “emoj” still work.Names are matched exactly first, then fuzzily, so “smily”, “thumps up”, and “rokcet” all land. Fuzzy matching is skipped for names shorter than five characters, because short words are too easy to confuse (“bad” versus “sad”). An ambiguous match is rejected rather than guessed.