Skip to main content
NVDA provides comprehensive support for both speech synthesis and braille displays, enabling multiple ways to access computer content.

Speech Synthesizer Support

Built-in Speech: eSpeak NG

NVDA includes eSpeak NG, a free, open-source, multilingual speech synthesizer. Features:
  • Supports over 80 languages
  • No additional downloads required
  • Lightweight and responsive
  • Multiple voice variants available
  • Adjustable speech parameters
eSpeak NG works immediately after installing NVDA with no additional setup required.

Changing Synthesizers

1

Open Select Synthesizer Dialog

Press NVDA+Control+S
2

Choose Synthesizer

Use arrow keys to browse available synthesizers, then press Enter
3

Configure Voice

The Speech Settings dialog opens automatically. Select your preferred voice and adjust settings.
Supported synthesizers include:
  • eSpeak NG (built-in)
  • Microsoft Speech API version 4 (SAPI 4)
  • Microsoft Speech API version 5 (SAPI 5)
  • Microsoft OneCore voices (Windows 10/11)
  • Windows Speech Platform
  • Third-party synthesizers via add-ons

Speech Settings

Access speech settings: Press NVDA+Control+V

Voice Selection

Choose from available voices for your current synthesizer. Each voice has distinct characteristics:
  • Microsoft voices: Natural-sounding, available in Windows
  • eSpeak NG voices: Fast, responsive, many languages
  • Third-party voices: Premium voices with advanced features
Use arrow keys to preview voices as you navigate the list.
For eSpeak NG, select voice variants:
  • Male variants
  • Female variants
  • Specialized variants (different timbres)
Variants provide slight modifications to the base voice characteristics.

Speech Parameters

ParameterRangeDefaultDescription
Rate0-10050Speech speed (0=slowest, 100=fastest)
Pitch0-10050Voice pitch (0=lowest, 100=highest)
Volume0-100100Speech volume (0=quietest, 100=loudest)
Inflection0-10075Pitch variation in speech
The Rate boost option can significantly increase speech rate beyond 100 if supported by your synthesizer.

Capital Letters Announcement

NVDA offers three ways to indicate capital letters:
Capital pitch change percentage: -100 to +100NVDA raises or lowers pitch for capital letters. Positive values raise pitch, negative values lower it. Set to 0 to disable.Example: Setting 30 raises pitch by 30% for capitals.
Say “cap” before capitals: CheckboxNVDA speaks the word “cap” before each capital letter when spelling.Best for: Individual character spelling
Beep for capitals: CheckboxNVDA plays a short beep when encountering capital letters.Best for: Quick scanning of text

Punctuation and Symbol Level

Quick change: Press NVDA+P

None

Only pauses for periods and commas

Some

Common symbols: @, #, $, %, &, *, etc.

Most

Nearly all punctuation marks

All

Every symbol spoken as words
Set punctuation level to “All” when programming or reviewing code to hear every character.

Language Switching

Automatic Language Switching

When enabled, NVDA automatically switches to the appropriate synthesizer language when reading text that specifies its language. Settings:
  • Automatic Language switching: Enable/disable language detection
  • Automatic Dialect switching: Switch between dialects (e.g., US/UK English)
  • Report language changes: Announce when language changes
1

Enable Auto-Switching

In Speech Settings, check “Automatic Language switching”
2

Configure Reporting

Choose whether to announce language changes as you read
3

Handle Unsupported Languages

Set behavior when encountering unsupported languages (speech/beep/off)

Speech Modes

Cycle through modes with NVDA+S:
NVDA speaks normally:
  • Announces screen changes
  • Reports focus movements
  • Reads text as you navigate
  • Provides notifications
Use when: Normal screen reader operation
NVDA only speaks when you explicitly request information:
  • No automatic announcements
  • Commands like NVDA+T still work
  • Silent focus movements
Use when:
  • Recording audio
  • In meetings or calls
  • You need constant focus without interruption
NVDA doesn’t speak but remains responsive:
  • Completely silent
  • All commands still function
  • Braille continues working
Use when: Using braille exclusively
NVDA replaces speech with beeps:
  • Short beeps for output
  • Indicates activity without speech
  • Useful for monitoring scrolling content
Use when: You need to know something is happening but don’t need details

Synth Settings Ring

Quickly adjust settings without opening menus:
1

Navigate Settings

Next setting: NVDA+Control+Right Arrow
Previous setting: NVDA+Control+Left Arrow
NVDA announces the current setting name.
2

Adjust Value

Increase: NVDA+Control+Up Arrow
Decrease: NVDA+Control+Down Arrow
NVDA announces the new value.
3

Large Adjustments

Jump up: NVDA+Control+Page Up
Jump down: NVDA+Control+Page Down
Changes values in larger increments (20 voices or 20% for sliders).

Braille Support

NVDA supports over 100 braille displays and uses LibLouis for translation.

Setting Up a Braille Display

1

Connect Display

Connect your braille display via USB, Bluetooth, or serial port
2

Open Braille Settings

Press NVDA+Control+A or navigate to Preferences > Settings > Braille
3

Select Display

Click “Change” and choose your display. “Automatic” detects most USB/Bluetooth displays.
4

Configure Display

Choose braille tables, cursor settings, and other options
Most modern braille displays work automatically when you select “Automatic detection” in the braille display settings.

Braille Display Types

Supported displays include:
  • Freedom Scientific (Focus, PAC Mate)
  • Humanware (Brailliant, BrailleNote)
  • HIMS (Braille Sense, Smart Beetle)
  • Handy Tech displays
  • Papenmeier displays
  • Baum/VarioConnect displays
  • Alva displays
  • Eurobraille displays
  • And many more…
Check the NVDA user guide’s “Supported Braille Displays” section for specific model support and features.

Braille Tables

Output Table

Determines how text is converted to braille: Types:
  • Grade 1 (Uncontracted): Letter-for-letter translation
  • Grade 2 (Contracted): Shortened forms using contractions
  • Computer braille: 8-dot display of characters
  • Language-specific tables: Optimized for specific languages
Setting: Automatic selects based on NVDA’s current language

Input Table

Determines how braille keyboard input is interpreted:
  • Must match your expected input style
  • Only relevant for displays with braille keyboards
  • Supports multiple grade levels

Braille Mode

Toggle: NVDA+Alt+T
Braille displays what’s at the cursor:
  • System focus/caret content
  • Navigator object/review cursor content
  • Follows tether setting
Best for: Standard screen reader use
Braille shows what NVDA speaks:
  • Mirrors speech output
  • Useful for demonstration
  • Helpful when speech is interrupted
Best for: Teaching, presentations, noisy environments

Braille Tethering

Quick change: NVDA+Control+T Controls what braille follows:
ModeBehavior
FocusFollows system focus and caret only
ReviewFollows navigator object and review cursor only
AutomaticallyFollows focus by default, temporarily switches to review when you navigate objects
Automatic tethering provides the best of both worlds: follows focus normally but switches when you explicitly explore with object navigation.

Braille Cursor Settings

Show Cursor

Enable/disable the braille cursor (dots 7 and 8). Options:
  • Show cursor (default)
  • Hide cursor
Make the braille cursor blink for visibility. Settings:
  • Blink rate in milliseconds
  • Blinking on/off

Cursor Shape

Customize cursor appearance:
  • Focus cursor: Shape when braille follows focus
  • Review cursor: Shape when braille follows review
Dot patterns: Any combination of dots 1-8

Braille Messages

Control how NVDA displays temporary messages: Show messages:
  • Use timeout (disappear automatically)
  • No timeout (stay until dismissed)
  • No messages (never show on braille)
Message timeout: Set duration in seconds
Pressing a routing key dismisses the message immediately.

Advanced Braille Features

Expand to Computer Braille

The word under the cursor displays in 8-dot computer braille for precise character inspection.

Read by Paragraph

When enabled, braille pans by paragraph instead of line:
  • Reduces frequent panning
  • Better context when reading
  • More natural reading flow

Move System Caret When Routing

Controls whether routing keys move the system cursor:
  • Never: Routing only moves review cursor
  • Always: Routing moves both review and system cursor
  • Only when tethered automatically: Conditional behavior

Braille Input

For displays with braille keyboards:
Type using the Perkins-style keyboard:
  • Dots 1-6 for standard braille
  • Dot 7 chord for uppercase
  • Dot 8 for special functions
  • Space bar confirms entry
Input table determines interpretation.
Special character combinations:
  • Backspace: Dot 7
  • Enter: Dot 8
  • Tab: Dots 4-5
  • Escape: Dots 1-5
  • Arrow keys: Various dot combinations

Combining Speech and Braille

Use both simultaneously for optimal access:

Benefits of Dual Output

Speed

Skim with speech, review details in braille

Accuracy

Verify spelling and formatting with braille

Learning

Improve literacy by seeing and hearing simultaneously

Environment

Use braille in quiet settings, speech when mobile

Synchronized Navigation

Speech and braille stay synchronized:
  • Navigate with keyboard: Both update
  • Use routing keys: Speech announces position
  • Braille pans: Speech reads new content
  • Change focus: Braille follows immediately

Audio Enhancements

Audio Ducking

NVDA can lower volume of other applications when speaking: Settings:
  • Duck audio (enabled by default on Windows 8+)
  • Duck when outputting speech and sounds
  • Always duck audio
Audio ducking is not available in portable copies of NVDA.

Audio Output Device

Choose which device NVDA uses for audio:
  • Default system device
  • Specific sound card
  • Separate device for NVDA

WASAPI

Windows Audio Session API improves performance: Benefits:
  • Better responsiveness
  • Improved timing
  • Lower latency
Note: Only available for SAPI 5 voices

Customizing Pronunciation

Adjust how NVDA speaks symbols and words:

Symbol Pronunciation

Access: NVDA Menu > Preferences > Punctuation/Symbol Pronunciation
1

Select Symbol

Choose a symbol from the list or add a new one
2

Set Replacement

Enter how NVDA should speak the symbol
3

Set Level

Choose punctuation level: None, Some, Most, or All
4

Preserve Voice

Optionally send actual symbol to synthesizer
Examples:
  • Speak ”@” as “at” instead of “at sign”
  • Pronounce ”#” as “number” instead of “pound”
  • Silence certain symbols entirely

Speech Dictionaries

Create custom word pronunciations: Three dictionary types:
Applies to all voices:
  • Company names
  • Technical terms
  • Acronyms
Use for: Universal corrections
Applies to current synthesizer voice:
  • Voice-specific corrections
  • Per-voice preferences
Use for: Issues with specific voices
Active until NVDA restarts:
  • Quick fixes
  • Testing pronunciations
Use for: Temporary adjustments

Dictionary Patterns

Pattern types:
  • Anywhere: Matches within words
  • Whole word: Matches complete words only
  • Regular expression: Advanced pattern matching
Use regular expressions for powerful pattern-based replacements like changing all instances of specific formats.

Troubleshooting

Speech Issues

Solutions:
  1. Press Control to stop speech, then try again
  2. Press NVDA+Control+S and reselect synthesizer
  3. Check speech mode with NVDA+S
  4. Restart NVDA
Solutions:
  1. Check automatic language switching setting
  2. Verify document language metadata
  3. Manually select voice in correct language
  4. Disable automatic switching if problematic
Solutions:
  1. Add entry to speech dictionary
  2. Adjust symbol pronunciation
  3. Try different voice/synthesizer
  4. Disable “Trust voice’s language” setting

Braille Issues

Solutions:
  1. Verify USB/Bluetooth connection
  2. Try manual display selection
  3. Install display drivers if required
  4. Check display power and batteries
  5. Restart NVDA after connecting
Solutions:
  1. Verify output table selection
  2. Check language setting
  3. Ensure correct grade (contracted/uncontracted)
  4. Try computer braille for debugging
Solutions:
  1. Verify display has input capability
  2. Check input table setting
  3. Ensure braille keyboard is active on display
  4. Test with simple characters first

Build docs developers (and LLMs) love