So, after JAWS, NVDA is also kissing goodbye to SAPI 4 TTS engines, in 2026.
The support for Microsoft Speech API version 4 synthesizers is planned for removal in NVDA 2026.1. Any remaining users of SAPI4 speech synthesizers are encouraged to choose a more modern speech synthesizer.
https://github.com/nvaccess/nvda/pull/17599
@NVAccess
Fix SAPI 4 driver by SaschaCowley · Pull Request #17599 · nvaccess/nvda

Link to issue number: Fixes #17516 Summary of the issue: After the move to exclusively Windows core audio APIs, the SAPI4 driver stopped working. Description of user facing changes The SAPI4 driver...

GitHub

@amir @NVAccess Holy shit, the _sapi4.py file still credits Serotek. I wonder how much of my old code, from 2007 at the latest, is still left.

I did some more work on Serotek's SAPI 4 driver after we transitioned from Python to Lua, in like 2009. If you locate the TTS engines in the registry and instantiate them directly and implement the COM interface that the engines use to play audio, it might be possible for SAPI 4 support to survive the transition from waveOut to WASAPI.

@matt @amir Matt, Glad you're still interested and looking at it :) Would updating SAPI 4 support to WASAPI be something you are interested in doing? I don't think we're able to invest the time in it ourselves, but we would be willing to look at a PR if someone (such as yourself) was interested in working on it.
@matt @amir (it would need to be secure and easily maintainable for us to incorporate it - or the other option which would continue support, is an add-on which provided the functionality - either using WASAPI or waveOut or some other method)
@NVAccess @matt @amir I imagine it would be fairly straightforward for someone to just shove the current sapi4 driver in an add-on and be done with it. It would suffer from all the current bugs it has, still use WinMM and not benefit from any of the new stuff in NVDA's audio output code, but if someone wants it badly enough, it would work.