-
-
Notifications
You must be signed in to change notification settings - Fork 651
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
Cannot load sapi 5 synthesizer #17512
Comments
Same happens here. Windows 11 Pro 2024H2, NVDA's latest Alpha version, Mikropuhe 5.4 Sapi 5 Speech synthesizer. |
I added some log lines to bug description. |
I can reproduce this bug, too with the same log lines. |
@burmancomp , @irrah68, @zstanecic, I believe I have resolved this in #17513. If you're comfortable doing so, would you mind testing either from source or with the launcher once the AppVeyor build completes? |
@SaschaCowley will test from source now. it is fater to build. |
@SaschaCowley The I confirm that the sapi5 now loads properly. |
Tested on version source-fixSapi5-d76177c x86 |
I downloaded the pr version and it worked ok. I started and finished nvda without problems, and Sapi 5 speech synthesizer was always loaded correctly. |
Closes #17512 Fix-up of #17496 Summary of the issue: After the removal of winmm support, SAPI5 synthesisers failed to initialise. This is because we switched from integer-based IDs as used by winmm, to ID strings as used by Windows Core Audio. Description of user facing changes SAPI5 synthesisers now initialise correctly. Description of development approach Rather than calling `outputDeviceNameToID` to index into the audio outputs returned by SAPI, iterate over them and look for one whose `Description` matches the friendly name of the output device to use as stored in the user's config. Testing strategy: Tested loading SAPI5 with a number of output devices selected, and changing output devices with SAPI5 loaded. Known issues with pull request: None.
Steps to reproduce:
Update to current alpha.
Actual behavior:
sapi5 synthesizer cannot be loaded anymore.
Expected behavior:
NVDA logs, crash dumps and other attachments:
ERROR - synthDriverHandler.setSynth (09:38:56.999) - MainThread (4020):
setSynth failed for sapi5
Traceback (most recent call last):
File "synthDriverHandler.pyc", line 483, in setSynth
File "synthDriverHandler.pyc", line 446, in getSynthInstance
File "synthDrivers\sapi5.pyc", line 140, in init
File "synthDrivers\sapi5.pyc", line 209, in _initTts
TypeError: '>=' not supported between instances of 'str' and 'int'
INFO - synthDriverHandler.setSynth (09:38:57.030) - MainThread (4020):
Falling back to previous synthDriver espeak
System configuration
NVDA installed/portable/running from source:
installed
NVDA version:
alpha-34782,82fefa5a (2025.1.0.34782)
Windows version:
w11 23h2
Name and version of other software in use when reproducing the issue:
Other information about your system:
Other questions
Does the issue still occur after restarting your computer?
yes
Have you tried any other versions of NVDA? If so, please report their behaviors.
If NVDA add-ons are disabled, is your problem still occurring?
Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?
The text was updated successfully, but these errors were encountered: