Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add user normalization dictionary #165

Merged
merged 3 commits into from
Mar 27, 2024
Merged

Add user normalization dictionary #165

merged 3 commits into from
Mar 27, 2024

Conversation

lumpidu
Copy link
Collaborator

@lumpidu lumpidu commented Mar 20, 2024

Add user normalization Dictionary.

The user can add normalization entries for an alternative pronunciation of words/tokens. These alternative pronunciations will have precedence over the built-in normalization rules and will apply the given replacements of one or multiple words for any such found terms in the read text.

To make usage easier, we simply make replacements possible on a grapheme level without exposing regular expression syntax. The user can immediately listen to the entered term and replacement text with the current voice via play buttons.

By default, the user normalization dictionary is empty. Currently, it's not possible to import or export the dictionary.

@lumpidu lumpidu marked this pull request as ready for review March 27, 2024 13:24
@lumpidu lumpidu requested a review from bnika March 27, 2024 13:24
- add migration for DB version 9: new table norm_dict_table + DAO
- add basic dictionary views / models / info / icons
- enable playing back the dictionary term and the replacement term
- do some UI state handling
- implement all CRUD operations for the entries
- add helper methods
- Implement AlertDialog for user to accept deletion of Norm Dict entry
- Activate User Normalization Dictionary and add it to the
  prenormalization step of the frontend pipeline.
- Optimization: Startup, Runtime: Lazy initialize Frontend parts to enable
  faster startup time. This will delay generation of first synthesis, though.
  Cache creation of compiled regex patterns when the UserDict entries change.
  This makes execution of User Dictionary replacements as good as
  unnoticable.

Signed-off-by: Daniel Schnell <dschnell@grammatek.com>
@lumpidu lumpidu merged commit 83595c9 into master Mar 27, 2024
1 check passed
@lumpidu lumpidu deleted the feat/norm-dictionary branch March 27, 2024 15:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Usability
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add user synonym entries dictionary
2 participants