Pair Synthesizer is a powerful NVDA add-on that automatically switches between different speech synthesizers based on text type. For example, you can configure Russian text to be spoken by RHVoice, English by eSpeak NG, and numbers by SAPI5 with clear digit pronunciation. It is particularly useful for:
- Multilingual users
- Working with technical texts containing numbers, formulas, code
- Reading text with various formatting (bold, italic, quotes)
- Improving clarity in mixed content
After installation, a new item Pair Synthesizer Settings… appears in the Tools menu.
Important: To change settings, ensure the current synthesizer is NOT Pair Synthesizer. Temporarily switch to another engine (e.g., SAPI5) in NVDA’s speech settings.
Configure which engine and voice to use for each text type:
- Latin Text (English, French, etc.)
- Cyrillic Text (Russian, Ukrainian, etc.)
- Arabic Text
- Hindi/Devanagari Text
- Numbers (0-9)
- Emojis & Symbols
- Greek Text
- Han Characters (CJK)
- Thai Text
For each type, select:
- Engine – speech synthesizer (e.g., SAPI5, eSpeak NG, RHVoice)
- Voice – specific voice for that engine
Settings for text with specific formatting:
- Strong – bold text (usually **text**)
- Em – italic text (*text*)
- Quote – quoted text
- Parens – parenthesized text
You can assign a separate engine/voice to make such text stand out intonationally.
For each text type, you can set a multiplier that affects the estimated speech duration. For example, Numbers have a multiplier of 15.0 because “123” is spoken as “one hundred twenty‑three”, taking much longer than three characters.
Allows creating rules to activate a specific engine when conditions are met.
Add a rule:
- Rule Name – rule name
- Enabled – whether the rule is active
- Condition – condition type:
- Starts With – text starts with marker
- Starts & Ends With – text starts and ends with markers
- Contains – text contains marker
- Punctuation Only – text consists only of punctuation
- Underlined – text is underlined (works with NVDA’s FieldCommand)
- Word Count – segment word count exceeds threshold
- Start Marker / Text – starting marker/text for condition
- End Marker (if applicable) – ending marker (for Starts & Ends With)
- Return to Normal after – when to revert to normal engine:
- Immediately (One-shot) – right after the segment
- Finding End Marker – after finding the end marker
- Speaking X Words – after speaking the given word count
- Any Punctuation – after any punctuation
- Word Limit – word limit (for Speaking X Words)
- Target Engine – engine to switch to
- Target Voice – voice (optional)
Example rule: if text starts with “python", switch to eSpeak NG and read code until "” marker.
If issues occur (speech overlap, incorrect switching), check NVDA’s log. Pair Synthesizer logs detailed error messages. You can also increase Safety Buffer and Engine Switch Buffer for more stable operation on slower systems.