Dictionary

Customize the way individual words and phrases are spoken.

The User Dictionary is useful when a name, abbreviation, technical term, or other piece of text needs a different reading from the one produced by the normal speech-processing path. You can replace the incoming text or provide a pronunciation directly.

Entry types

Choose between text replacement and pronunciation.

Both types of entry are stored in the same dictionary system, but they serve different purposes.

01

Text replacement

A text entry changes the source phrase into another piece of text before it is synthesized. This is useful when you want an abbreviation expanded, a name altered, or a particular spelling replaced with a form that produces the reading you expect. For example, an entry can replace BRB with be right back.

02

Pronunciation

A pronunciation entry is useful when changing the spelling is not enough. It stores an OpenEVV Standard Phonemic Representation pronunciation so that a particular source term can be synthesized using the pronunciation you specify.

Exact match
Applies when the source text matches the entry according to Eloqium’s exact-match rules. It is the narrowest matching mode and is normally the best starting point when one particular word or phrase needs a different reading.
Starts with
Applies when the relevant text begins with the entry. This is useful when the same opening text should receive the same replacement across longer forms.
Ends with
Applies when the relevant text ends with the entry. It can be useful for recurring endings or forms where the part that needs to change appears at the end of the text being matched.
Contains
Applies when the entry occurs within the relevant text. Because this is broader than an exact match, it should be used when you intentionally want the rule to match text containing the source phrase.

Case sensitivity

Each entry has a case-sensitivity setting. A case-sensitive rule distinguishes uppercase and lowercase letters, while a case-insensitive rule can match without requiring the same letter case. When otherwise comparable rules overlap, the case-sensitive rule is given higher precedence.

Precedence

When several dictionary rules could apply to the same part of the input, Eloqium resolves them deterministically. Longer source text is considered before shorter source text; within the same source length, exact matching is preferred to broader matching modes; case-sensitive rules are preferred over case-insensitive rules when the preceding criteria are equal; and the original dictionary order provides the final tie-breaker.

Rules are applied as a single pass over the original input. A replacement produced by one dictionary entry is not fed back through the dictionary system to trigger another replacement.

Language scope

Keep dictionaries associated with the language they are meant for.

Dictionaries belong to a regional language such as en-US or fr-CA. When Eloqium is synthesizing speech for one regional language, entries assigned to another regional language do not become active for that request. You can maintain multiple named dictionaries for a language and enable or disable each dictionary independently.

Useful examples

  • A person’s name that is pronounced unexpectedly.
  • An acronym that should be expanded or spoken differently.
  • A specialist term that needs a consistent pronunciation.
  • A regional word or phrase that should be read in a particular way.

JSON dictionaries

Eloqium uses a versioned JSON format for dictionary storage and exchange. The current schema is version 2. Version 1 dictionary files are accepted by the parser and can be imported into the current system.

A dictionary file can contain its language, name, enabled state, entries, and optional provenance information. Entries retain their replacement text, matching mode, case-sensitivity choice, and entry type.

IBM .dic files

Eloqium can import compatible legacy IBM .dic files as an external migration format. The importer distinguishes pronunciation entries from ordinary text replacements, records the original filename, and creates imported entries with Exact match and case-sensitive matching as their initial settings.

The importer uses the filename as a source for its initial language and dictionary-layer proposal. It does not inspect the dictionary content to semantically determine a language or layer. Character decoding is attempted as UTF-8 first, followed by Windows-1252 when invalid UTF-8 replacement characters are detected; an ISO-8859-1 fallback is used when the decoding attempt itself fails.

When the inferred source language and selected target language are not considered compatible, the importer reports a warning rather than silently changing the target language. Android file managers and compatible sharing applications can pass supported JSON and .dic files to Eloqium’s Dictionary Importer.

Open Settings → User Dictionary → Dictionaries in the application to create and manage dictionaries.

Read the dictionary setup steps