-
Notifications
You must be signed in to change notification settings - Fork 52
Description
When HTM / HTML / DOCX (and similar) files contain proper language tags, and Automatic language switching is enabled in screen readers such as NVDA and JAWS, voices provided through SAPI 5 and the Natural Voice SAPI Adapter are able to switch languages automatically when encountering language tags.
However, there are several limitations and issues with how SAPI 5 handles this mechanism.
Problem 1: No Control Over Voice Selection per Language.
SAPI 5 appears to use a non-configurable internal mechanism for automatic language switching.
If multiple voices are installed for the same language (for example, several French voices and several English voices), SAPI 5 consistently selects only a single, low-quality voice for each language during language switching. These voices are lower-quality or not the user’s preferred voices.
Currently, the user has no way to specify which voice should be used for a particular language.
For example, there is no option to tell SAPI 5 or the SAPI Adapter:
“When switching to French, always use this specific French voice.”
Reproduction Steps:
- Make sure Language switching is enabled in NVDA and JAWS.
- Open the attached HTM file in Firefox, Google Chrome, or Microsoft Edge.
- The file contains correct language tags for French and English.
- Start reading the document using Natural Voice SAPI Adapter.
Observed behavior:
Only two specific voices are used during switching: one fixed French voice, and one fixed English voice. These voices are always the same, regardless of how many other voices for those languages are installed, and they are often lower-quality voices.
Problem 2: Slow and Laggy Language Switching.
Even when using offline voices (not online/cloud-based voices), language switching through SAPI Adapter is noticeably slow and laggy.
This delay is especially apparent when compared to eSpeak, Eloquence, and Vocalizer. In those engines, language switching is significantly faster and smoother.
Questions / Feature Requests:
- Is it possible for SAPI Adapter to allow users to assign a specific voice per language for automatic language switching?
- Is there any way to improve the speed and responsiveness of language switching in SAPI Adapter, even for offline voices?