feat: learn dictionary replacements from corrections to dictated text

Open
#151 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
15/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
swift
Domain
desktop

Research direction

The payload names no files or tests, so start from the existing Dictionary replacement feature and read how user-defined replacements are stored and applied to dictated text. Detecting edits to recently inserted text is platform-specific, and the issue leaves the approach open, so settle that with maintainers before coding. Related issue #72 covers the earlier request for recurring name errors.

Written by the indexing model from the issue text.

Description

enhancement priority:P3

Problem

SpeakType can repeatedly misspell the same name or phrase. The existing Dictionary lets users add replacements manually, but correcting a dictation still requires a separate trip to Dictionary to teach the app that correction.

For example, my name is Sinh Sinh, but dictation may produce Sing Sing. If I select that text and correct it to Sinh Sinh, I want SpeakType to remember the correction automatically and use the right spelling next time.

Requested behavior

Add a feature that learns dictionary replacements from corrections to recently dictated text:

  1. I dictate into an app, and SpeakType inserts text containing “Sing Sing.”
  2. I select or edit that portion of the text and change it to “Sinh Sinh.”
  3. SpeakType recognizes the correction and automatically adds the corresponding replacement to its Dictionary, without requiring me to re-enter both versions manually.
  4. Future dictations that would produce “Sing Sing” instead output “Sinh Sinh.”

This should work for corrected words and multiword phrases, including names, technical terms, and other recurring transcription mistakes—not just this particular name.

User control and expected behavior

  • Offer a setting to enable or disable learning from corrections.
  • Make learned entries visible in Dictionary, where they can be edited, disabled, or deleted. A small “Correction remembered” notice with Undo would make automatic learning easy to review.
  • Preserve corrections across app restarts and avoid creating duplicate entries or silently replacing a conflicting user-defined rule.
  • Distinguish spelling/transcription corrections from unrelated edits or whole-sentence rewrites, so ordinary editing does not create unwanted replacements.
  • Keep learned replacements local. Limit correction detection to text recently inserted by SpeakType rather than monitoring unrelated typing. Document any platform or target-app limitations.

Implementation consideration

The desired workflow includes correcting text in the destination app after dictation. Detecting that reliably may require platform-specific support. If automatic detection is not available everywhere, a “Remember this correction” action could be a fallback, while automatic learning remains the goal.

Related: #72 requested a dictionary for recurring name errors. This request builds on the existing Dictionary by learning entries directly from user corrections.

Dominant language
Swift
Stars
540
Forks
74
PR merge metrics
No merged PRs in 30d

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from karansinghgit/speaktype

All issues in karansinghgit/speaktype

Similar issues

More Swift issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.