Skip to content

Unable to Switch to WorldVoice when IBM is Initially Enable #39

@lbk2907

Description

@lbk2907

A Brief Description

When attempting to activate IBMTTS in WorldVoice, NVDA fails to switch synthesizers and falls back to previous synthesizer. The error occurs when the rateBoost setting hasn't been previously configured with SAPI5 voices.

Error Log

INFO - NVDAHelperLocal (09:29:30.843) - MainThread (15308):
Thread 15308, build\x86\localWin10\oneCoreSpeech.cpp, ocSpeech_initialize, 215:
ocSpeech_initialize

INFO - NVDAHelperLocal (09:29:30.843) - MainThread (15308):
Thread 15308, build\x86\localWin10\oneCoreSpeech.cpp, OcSpeechState::activate, 89:
Activating

INFO - NVDAHelperLocal (09:29:30.864) - MainThread (15308):
Thread 15308, build\x86\localWin10\oneCoreSpeech.cpp, preventEndUtteranceSilence_, 443:
AppendedSilence supported

ERROR - synthDriverHandler.setSynth (09:29:31.133) - MainThread (15308):
setSynth failed for WorldVoice
Traceback (most recent call last):
  File "synthDriverHandler.pyc", line 487, in setSynth
  File "synthDriverHandler.pyc", line 454, in getSynthInstance
  File "synthDriverHandler.pyc", line 343, in initSettings
  File "C:\Users\Calvin\AppData\Roaming\nvda\addons\WorldVoice\synthDrivers\WorldVoice\__init__.py", line 367, in loadSettings
    super().loadSettings(*args, **kwargs)
  File "synthDriverHandler.pyc", line 362, in loadSettings
  File "config\__init__.pyc", line 1165, in __getitem__
KeyError: 'rateBoost'
INFO - synthDriverHandler.setSynth (09:29:31.134) - MainThread (15308):
Falling back to previous synthDriver sapi5
INFO - synthDriverHandler.setSynth (09:29:31.296) - MainThread (15308):
Loaded synthDriver sapi5

Steps to Reproduce

  1. Start with fresh NVDA settings (or ensure rateBoost hasn't been configured for SAPI5 in WorldVoice).
  2. Open WorldVoice Settings.
  3. Go to Speech Engine tab.
  4. Enable IBM and press OK.
  5. Place IBMTTS voice data in "%appdata%\nvda\WorldVoice-workspace\IBM".
  6. Restart NVDA.
  7. Attempt to switch to WorldVoice synthesizer.

Expected Result

WorldVoice should activate successfully.
Actual Result:
NVDA fails to switch to WorldVoice and falls back to previous synthesizer.

Workaround

  1. Make sure IBM is not enable or the IBM voice data isn't in the spesified path (%appdata%\nvda\WorldVoice-workspace\IBM).
  2. Switch to SAPI5 voice in WorldVoice.
  3. Toggle the rate boost setting on/off.
  4. Enable IBM or put the IBM voice data into the spesified path (%appdata%\nvda\WorldVoice-workspace\IBM).
  5. Switch to another synthesizer.
  6. Save the configuration.
  7. Restart NVDA.
  8. Attempt to switch to WorldVoice.

System Information

WorldVoice version: 5.0.
NVDA version: 2025.1.1 (2025.1.1.36849).
• OS: Windows 11 24H2 (AMD64) build 26100.4351.

Additional Notes

The default inflection value is set to 50 and cannot be adjusted when using IBM. Inflection should be adjustable (typically between 0 to 100). Currently, no known method exists to modify this setting.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions